Design an Elevator System
An office tower has a bank of elevators serving the same floors. People on a floor press up or down (a hall call); people inside a car pr...
Free interview preparation
Solve real interview questions in a browser workspace with an editor, test cases, hints and worked solutions. Free to use, with no account and nothing to install.
New here? Follow the study plan
Practice areas
Each round is set up the way it is run in a real interview.
Problems grouped into 17 patterns, from arrays to dynamic programming. Python, JavaScript and TypeScript are judged automatically.
Queries run on a real database in your browser: joins, window functions, dates, funnels and retention, checked on hidden data.
High-level designs from a URL shortener to payments, including AI systems such as RAG, inference serving and agents.
Object-oriented design with class diagrams and runnable code: parking lot, elevator, expense sharing, chess and more.
The workspace
Everything runs in your browser and your progress stays on your device.
Code runs against visible and hidden tests, with time limits, and returns a verdict in seconds.
Timed sessions keep hints and solutions locked until time is up. Each problem keeps its own timer.
Hints come one at a time. The full solution and likely follow-up questions are there when you want them.
Drag-and-drop architecture and UML boards, a capacity estimator and a design doc, with a reference design to compare.
Solved problems come back after 1, 3, 7, 14 and 30 days, so you can re-solve them from memory.
Streaks, a daily goal, an activity history and practice reminders, with export and import.
Role guides
The rounds you can expect for each role, and what to practise for them.
Study plan
Five steps, in order. Most people need four to eight weeks.
Articles
FAQ
How the site works, and how to use it to prepare.
Yes. Every problem, hint, solution, the code editor, the SQL database, the system design whiteboard and the progress tracker are free, with no account and no paywall.
Coding and data structures & algorithms, SQL, high-level system design (including AI and LLM systems such as RAG, inference serving and AI agents) and low-level object-oriented design. Role guides cover what each role is asked, from software and data to embedded, robotics, DevOps and mobile.
Python, JavaScript and TypeScript are judged automatically in your browser. Java, C++, C, C#, Go, Kotlin, Rust, Swift, Ruby, PHP and Scala run in the built-in online compiler.
No. Everything runs in your browser. Your progress, code and notes are saved privately on your device, and you can export a backup from the progress page.
Pick one language, then work through the Pattern Path one technique at a time, two to four problems a day. Add a SQL or system design session twice a week, do a timed mock interview every weekend, and clear your review queue daily.
Yes. The questions cover the patterns and design topics that technical interviews use worldwide, from large tech companies to startups, and everything is written in clear international English.
Pick a round, solve one problem, and let the review queue bring it back when it is due.