wiseacres

noun
  1. 1

    One who feigns knowledge or cleverness; one who is wisecracking; an insolent upstart.

  2. 2

    A learned or wise man.

Source: https://en.wiktionary.org/wiki/wiseacre, https://en.wiktionary.org/wiki/wiseacres