Our 3.5 yr old (will be 4 in July) son has a real difficulty handling frustration to the point that it is driving me and my wife insane. Hardly a day goes by where we don't both end up in tears, utterly exhausted and with no idea what to do.
The situation can come up at any time but here's an examples that describes the basic pattern:
It's time for bed, but he doesn't want to stop what he's doing (playing, watching tv, whatever) to get ready for bed. This is despite repeated advance warnings that bed time is coming up. He simply refuses to stop what he's doing and collaborate with us in getting him ready for bed. He appears not to even hear what we're saying to him. It will come to a point where one of us has to turn off the TV or start tidying up the toys or take some action to stop him from what he's doing that he doesn't want to stop doing. This is the immediate trigger for a huge tantrum. At this point nothing, nothing will work, he's totally beside himself. We have to let him rage for a few minutes and only then can we try to calm him down and soothe him. At this point he usually says he's sorry and then does pretty much whatever we want him to do. When this happens 3,4,5 nights in a row it's soul destroying, not to mention incredibly tiring. When the "it's time for bed" point arrives we already know that we have two choices: let him carry on doing whatever he wants (unacceptable), or set off a tantrum (also unacceptable).
This morning we had the same scene because he was playing on the iPad and it was time to leave for pre-school (for him) and work (for us). Anything can trigger it, usually it involves him having to stop doing something he's enjoying because something else has to happen (go to bed, leave the house, get out of the bathtub, leave the playground, etc). Sometimes it can be over something so trivial and ridiculous as "i wanted to eat the apple with the peel, but you peeled it, stick the peel back on". When we try to explain the impossibility of that he just blows up (that was a real example, not something I made up).
We never hit him. We've tried re-direction (not always easy), trying to empathise with him, trying to reason with him. Nothing seems to work. It's driving us insane.