Low-Level Design rounds appear across almost every Microsoft level, from New Grad hiring-manager rounds up to dedicated SDE-2 LLD rounds. Interviewers expect you to nail down requirements before sketching classes, and they regularly add follow-up requirements mid-discussion to see how cleanly your design absorbs change.
Design an elevator system for a multi-floor building that serves multiple elevators and multiple floors. It should handle request scheduling (deciding which elevator responds to a call and in which direction), concurrent requests arriving from several floors and cabins at once, and door open/close plus idle-state behavior.
Requirements to clarify first
- How many elevators and floors are we designing for — does the scheduling strategy need to scale to a large building?
- Should the system minimize average wait time, or is it acceptable to prioritize simplicity (e.g. first-come-first-served) over optimal scheduling?
- Do external floor calls (up/down buttons) and internal cabin requests (floor buttons inside the elevator) need to be modeled separately?
More LLD prompts Microsoft has asked recently
The class design, entity list, design-pattern reasoning and follow-up discussion for these — plus the full worked solution above — are part of the Placement-Ready PYQ Kit.
4 more LLD prompts with full class designs in the full Placement-Ready PYQ Kit

