My son, 3 but not far off 4, is on the whole lovely. Has his moments, plenty of them, but generally is quite reasonable, kind, funny, sweet. When he does start to go, you can quickly bring him down. For example, he asked for an ice lolly for breakfast, he started to kick off and I simply got on his level and said "I can see that you're cross. I would love an ice lolly for breakfast too, but if we have something sugary so early we'll get a bad belly and we wont be able to have a fun day." And he huffed and said "ok" and the battle was over.
At bedtime however, nope. It starts before we even go upstairs, he starts to cross into the danger zone over dinner, sometimes he'll get through it but sometimes he'll start shouting, getting up walking away, being rough with his brother. I take him upstairs and he'll start arguing about everything, then he'll start scratching me, then he'll start threatening to bite me, then he'll be screaming his head off and running away to hide, I'll have to pin him down to brush his teeth, he'll spit at me because he didn't want his teeth brushed, he gets put in time out, he gets hysterical and is just trying to hurt me in anyway he can, and then he'll snap out of it after about 30 minutes and ask for a cuddle and go to bed and have stories.
But it's every night, 30 minutes guaranteed of hell! I'm fed up of it! Doesn't matter if me or his dad does it, it's always bloody carnage.