Interviews
How to prepare for a technical interview
A practical four-week plan covering coding rounds, system design and behavioral interviews.
7 min read
Technical interviews test three things: whether you can solve problems in code, whether you can design systems that hold up in production, and whether you can work well with a team. Prepare for each deliberately.
Week 1 — Fundamentals
- Review arrays, hash maps, strings, stacks/queues, trees, graphs and heaps.
- Practice explaining time and space complexity out loud for every solution.
- Solve 2–3 problems per day in the language you'll interview in.
Week 2 — Patterns
Most coding questions reuse a small set of patterns: two pointers, sliding window, BFS/DFS, binary search on the answer, dynamic programming and topological sort. Group your practice by pattern so you recognize them quickly.
Week 3 — System design (mid-level and above)
- Start with requirements and scale estimates before drawing anything.
- Know the building blocks: load balancers, caches, queues, relational vs. document stores, sharding and replication.
- Always discuss trade-offs, failure modes and how you'd monitor the system.
Week 4 — Behavioral and mock interviews
Prepare 6–8 stories using the STAR format (Situation, Task, Action, Result) covering conflict, failure, leadership, ambiguity and impact. Run at least two timed mock interviews with a peer.
On the day
- Clarify the problem and constraints before coding.
- Think out loud — interviewers grade your reasoning, not just the answer.
- Test your code with edge cases before saying you're done.