Pergunta de entrevista da empresa Arista Networks

Design a class for a stack. Explain design decisions and tradeoffs, e.g. different ways to catch and handle errors and the pros/cons of each.