Word for someone who is helpful but not very nice about it?

I'm looking for a word to describe this kind of person.

e.g. "Hey dude what's the square root of 9 again?

"Oh my God are you really asking me that? It's 3... you idiot."


Solution 1:

Condescending

behave as if one is [...] descending from a superior position

or patronizing

treat with an apparent kindness that betrays a feeling of superiority

or snobby

condescendingly patronizingly rude.

Solution 2:

grudging, defined by Merriam-Webster

done, given, or allowed unwillingly, reluctantly, or sparingly • Grudging compliance

Grudging doesn't fit your example sentence well; justifiably exasperated fits your example sentence better. (Who doesn't know the square root of nine?). Grudging does fit the broader meaning of your question. For example:

Hey, dude, I overslept and missed English class. Can I scan your notes into my computer?

Oh god, not again! OK but be quick about it; what do you think I am -- your Personal Assistant? Get an alarm clock, will you?