Behavioral
1. Tell me about a time you shipped something difficult.
Use STAR (Situation, Task, Action, Result). Pick a project with measurable impact, name your specific contribution, and quantify the result. Strong answers also include what you would do differently — interviewers reward honest reflection.
Coding
2. Reverse a linked list in place.
Iterative three-pointer (prev, curr, next) in O(n) time, O(1) space. Walk through the pointer dance verbally before coding. Many candidates lose points by jumping straight to syntax; the interviewer wants to see your reasoning.
System Design
3. Design a URL shortener that handles 100M URLs.
Cover: base-62 encoding for short codes, a key-value store (Redis or DynamoDB) for the lookup hot path, a relational store for analytics, and a CDN edge for the redirect. Discuss read/write ratio (heavily read-dominant), cache strategy, and how you would prevent collisions.
System Design
4. How would you scale a service from 1K to 1M requests/sec?
Walk through stages: vertical scaling first, then horizontal with a load balancer, then introduce caching (CDN, application cache, DB cache), then partition the database, then move hot paths to async queues. Name a real bottleneck at each stage — that signals you have done this before.
Behavioral
5. Tell me about a disagreement with a teammate and how you resolved it.
Show emotional regulation and an outcome focused on the work, not on winning. Strong answers cite the technical or business reasoning that resolved it, and what changed in how you collaborate afterwards.
Coding
6. Find the kth largest element in an unsorted array.
Three valid approaches: sort (O(n log n)), min-heap of size k (O(n log k)), or QuickSelect (O(n) average). State each, pick QuickSelect, and explain why the partition step works. Watch for off-by-one when k equals the array length.
Trade-offs
7. When would you use SQL vs. NoSQL?
SQL for relational integrity, complex joins, and transactional guarantees. NoSQL for high write throughput, flexible schema, and horizontal scaling. The honest answer: most production systems use both. Cite a concrete example from your experience.
Behavioral
8. How do you stay current with new technology?
Specifics beat generalities. Name a newsletter, a podcast, an OSS project you contribute to, or a recent paper you read. Tie it to something you built recently — the interviewer is checking that learning translates to action.
Prep tip
For the week before: do two timed mock interviews, refresh the basics of one system-design pattern per day (caching, queuing, sharding, replication, CAP trade-offs), and prepare three behavioral stories that each cover multiple traits. Do not cram new algorithms the night before — sleep matters more.