Smart aleck
noun
One who is given to obnoxious or insolent humor.
One who is pretentious about their own cleverness or knowledge.
One who is obnoxiously self-assured; a show off.
Synonyms: clever dick, know-it-all, smart ass, smarty pants, wise ass, wiseacre, smart ass, smarty