Gone through this once, working on the second time. Ds7 started this around four years old. It didn't end until it reached the point that I took every single toy out of his room. Then I sat down and explained why it was important to be respectful of other people. I told him he could ask questions, but they had to be polite and respectful or I wouldn't discuss it with him. Then I made him earn back every single toy one at a time. He got the opportunity to earn one toy at the end of a day IF he had been good, and IF he did a chore of my choosing. We had a massive pile of toys cluttering up my bedroom for MONTHS before he finally got them back. He still gets a bit of an attitude once in a while, but he has learned to control it better than he did. Of course, now we're starting the same process with my 4 year old. Sigh....I'd like to say I feel more prepared this time, but every time I say that I'm wrong.
Don't worry, you're not alone. And it does get better....eventually....although I don't think it will ever go away completely.