The Technical Interview Is Learnable
Most people fail technical interviews not because they're not smart enough — but because they've never been taught how to perform under interview conditions. The skills that make you good at coding and the skills that make you good at coding interviews are different. This guide covers both.
The Four Types of Technical Rounds
1. Online Assessment (OA)
Automated platform (HackerRank, Codility, CoderPad). 2–4 algorithmic problems. Usually 60–90 minutes. No interviewer present.
2. Technical Phone Screen
30–45 minutes. One interviewer. Usually one medium-difficulty algorithm problem. Focus: can you code correctly under light pressure?
3. Onsite / Virtual Onsite
3–6 rounds over a half or full day. Mix of: algorithm problems, system design, behavioural, and sometimes a "bar raiser" round.
4. Take-Home Assignment
A project built in your own time (usually 3–7 days). Focus shifts to code quality, architecture, and documentation.
The Algorithm Preparation Roadmap
Week 1–2: Core Data Structures
Master these before anything else:
- Arrays & strings
- Hash maps / hash sets
- Linked lists
- Stacks & queues
- Binary trees & BST
Week 3–4: Core Algorithms
- Two pointers
- Sliding window
- Binary search
- BFS / DFS (graph traversal)
- Merge sort, quicksort
Week 5–6: Advanced Topics
- Dynamic programming (memoisation, tabulation)
- Heap / priority queue
- Trie
- Union-Find
- Backtracking
Best resources:
- LeetCode — work through the "Blind 75" and "NeetCode 150" lists
- Neetcode.io — free video explanations for every problem pattern
- AlgoExpert — structured, curated curriculum
- CTCI (Cracking the Coding Interview) — the classic textbook
How to Approach a Problem in the Interview
Never start coding immediately. Walk through this process out loud:
1. Clarify (2 minutes)
Ask questions before you write a single line:
- "Can the input be empty or null?"
- "Are the numbers always integers?"
- "What's the expected size of input — should I optimise for space or time?"
2. Think out loud about approach (3 minutes)
State your brute-force solution first, then improve it. Say: "My initial instinct is O(n²) with nested loops. Can I do better with a hash map? Yes — I think I can get to O(n)."
Interviewers want to see your thinking, not just your answer.
3. Write clean code (10–15 minutes)
Use meaningful variable names. Add a comment only where logic is non-obvious. Don't use abbreviations.
4. Test your own code (3–5 minutes)
Before saying you're done:
- Walk through a base case
- Walk through an edge case (empty array, single element, all duplicates)
- Trace through your example inputs manually
5. Analyse complexity
State time and space complexity when done: "This is O(n) time and O(n) space due to the hash map."
System Design Interviews
System design rounds typically begin at senior level (L4+ at FAANG). You'll be asked to design a system like: "Design Twitter", "Build a URL shortener", "Design WhatsApp".
The RESHADED framework:
- Requirements (functional + non-functional)
- Estimations (scale: users, QPS, data size)
- Storage (what data to store, schema, SQL vs NoSQL)
- High-level design (draw the architecture: clients, load balancers, services, DBs, CDN)
- APIs (define the key endpoints)
- Detailed design (deep-dive into 1–2 components the interviewer cares about)
- Edge cases (failure scenarios, bottlenecks)
- Discuss trade-offs (no design is perfect — what did you sacrifice?)
Resources:
- System Design Interview by Alex Xu (Vol 1 & 2)
- ByteByteGo newsletter and YouTube channel
- Grokking the System Design Interview (Educative.io)
During the Interview: The Soft Skills That Decide Close Calls
When two candidates score similarly on technical questions, these decide the hire:
- Communication: Narrate your thought process. Silence is your enemy.
- Receptivity: If the interviewer hints you're on the wrong track, pivot gracefully. Don't argue.
- Asking for help the right way: "I'm exploring two approaches — can I think through them with you?" is good. Staring silently for 5 minutes is not.
- Enthusiasm: Interviewers advocate for people they enjoyed talking to.
Mock Interviews Are Non-Negotiable
Reading about algorithms and doing them under live pressure are completely different skills. Book at least 5 mock sessions before your real interviews.
Free/cheap options:
- Pramp.com — peer mock interviews, free
- interviewing.io — anonymous mock interviews with engineers from top companies
- LeetCode Premium — see company-specific question sets
Record yourself if you can. Watching your own interview is humbling and accelerates improvement faster than any other method.
The Week Before the Interview
- Don't learn new topics — review things you know
- Do 2–3 easy/medium problems per day to stay warm
- Research the company's tech stack and recent engineering blog posts
- Prepare 3 questions to ask the interviewer (not about salary)
- Sleep well the two nights before — cognitive performance drops sharply on poor sleep