Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Build my plan
LeetCode-Style Stack Design Round
00:00
5 left

LeetCode-Style Stack Design Round

EasyPython

Problem

Arista EOS components often process temporary command or event state in last-in, first-out order. Design a stack abstraction that stores generic elements and supports standard operations efficiently.

Implement stack_operations(operations), which receives a sequence of commands and returns the results produced by query commands. Internally, define a stack that stores values without assuming a specific element type.

Formal Specification

Each operation is a list whose first item is a command:

  • ['push', value]: Add value to the top of the stack. This produces no result.
  • ['pop']: Remove and return the top value. Return None if the stack is empty.
  • ['peek']: Return the top value without removing it. Return None if the stack is empty.
  • ['size']: Return the number of stored elements.
  • ['is_empty']: Return True when the stack has no elements, otherwise False.

Return a list containing results from pop, peek, size, and is_empty commands in their original order. Values may be integers, strings, or booleans, and pushed values are never None.

Constraints

  • 1 <= len(operations) <= 10^5
  • Each operation is valid and has the required number of items.
  • At most 10^5 values are stored over the execution.
  • Every pushed value is an integer, string, or boolean, and is not None.

Function Signature

def stack_operations(operations):
Interviewer

Your question is LeetCode-Style Stack Design Round. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
Sign up free to run your codeLog inLn 2
Run your code to see test output here.