A person who annoyingly tries too hard to impress with their cleverness; a clever dick.
A highly knowledgeable person; expert.
Synonym of know-it-all