Coding Interview Prep Guide

Table of Contents
Return to the Software Development Career Playbook
Some employers use algorithm exercises. Others use debugging, code reading, tests, domain questions, work samples, or take-home tasks. Research the target process before choosing practice topics.
What Coding Interviews Actually Test
When a target employer confirms an algorithm screen, these categories provide a study checklist:
| Category | Examples |
|---|---|
| Arrays and strings | Two pointers, sliding window, prefix sums |
| Hash maps and sets | Two sum, anagram detection, frequency counting |
| Linked lists | Reversal, cycle detection, merge sorted lists |
| Stacks and queues | Valid parentheses, monotonic stack, BFS/DFS |
| Trees | Binary tree traversal, BST operations, lowest common ancestor |
| Graphs | BFS, DFS, cycle detection, connected components |
| Dynamic programming | Fibonacci, knapsack, longest common subsequence |
| Binary search | Search in sorted array, rotated array, binary search on answer |
| Recursion and backtracking | Permutations, combinations, Sudoku solver |
| Heaps and priority queues | Top-K elements, merge K sorted lists |
A Measured Prep Cycle
Use a baseline task to choose the first study cycle. Replace fixed problem counts with measured gaps.
Phase 1: Foundations
- Arrays, strings, and hash maps.
- Focus on two-pointer and sliding window patterns.
- Solve a small sample, add tests, and score explanation, correctness, and complexity.
Phase 2: Core Data Structures
- Linked lists, stacks, queues, and trees.
- Binary tree traversals (inorder, preorder, postorder) until they are automatic.
- Repeat weak areas and include one code-reading or debugging task.
Phase 3: Role-Specific Topics
- BFS and DFS on graphs, cycle detection, topological sort.
- DP starting with 1D (Fibonacci, house robber, climbing stairs), then 2D.
- Include graphs or dynamic programming only when the target process supports the choice.
Phase 4: Mock Interview and Review
- Binary search and heaps.
- One mock interview using a partner, instructor, or service whose current terms you reviewed.
- Review past problems. Time yourself. Speak through solutions out loud.
After each mock, record the score, feedback, one revision, and the next checkpoint. Request accommodations, breaks, or an accessible editor through the employer’s stated process.
Optional Problem Sets
Curated sets are third-party study aids. Check their current scope, licensing, cost, and fit before use.
Examples include Blind 75, Grind 75, and NeetCode lists. Names, counts, included problems, access, price, account terms, and privacy practices change. Record the page URL and check date. Do not treat completion as evidence of readiness for a named employer.
Data Structures to Check Against the Target Format
Practice the structures named by the target employer or role. Understanding use, trade-offs, and tests matters more than memorizing every implementation.
- Stack (using array or linked list)
- Queue (using deque or circular buffer)
- Linked list with reversal and cycle detection
- Binary search (exact, lower bound, upper bound)
- BFS on a graph using a queue
- DFS on a graph using recursion and explicit stack
- Min heap / max heap (understand how to use your language’s priority queue)
- Trie (prefix tree): insert, search, prefix search
How to Practice Effectively
- Measure a baseline: use the target employer’s disclosed timing when available. Otherwise record your first accurate attempt and select a practice window which supports learning and accommodations.
- If stuck: record the missing idea, review a permitted hint or source, close it, then solve a fresh variation without copying.
- Review solutions you could not solve: understand the pattern, not the specific answer.
- Do not redo random problems: organize practice by pattern. Randomize within a pattern category.
- Practice the required communication mode: speak, type, draw, or use another agreed accessible format.
Mock Interviews
Use a mock when the target process includes live interaction. Review access, recording, privacy, price, cancellation, reviewer qualifications, and permitted question sharing before using a service.
- A study partner or instructor using the rubric below.
- A current mock-interview service whose official page confirms the needed format and terms.
- A solo recording for the technical sequence, followed by reviewer feedback.
Complete Practice Problem
Write first_unique(values) which returns the index of the first string appearing exactly once. Return -1 when no string is unique. Ask whether comparison is case-sensitive and whether empty strings are valid. For this exercise, comparison is case-sensitive and empty strings are valid.
from collections import Counter
def first_unique(values):
counts = Counter(values)
for index, value in enumerate(values):
if counts[value] == 1:
return index
return -1
assert first_unique(["a", "b", "a", "c"]) == 1
assert first_unique(["a", "a"]) == -1
assert first_unique([]) == -1
assert first_unique(["", "a", "a"]) == 0
assert first_unique(["A", "a", "A"]) == 1
The first attempt checked each value against the full list, which took quadratic time. The revised answer counts once and scans once, giving linear time and linear additional space. A reviewer scored requirements 2, tests 2, correctness 2, complexity 2, and explanation 1. The revision added the space-cost explanation for a final score of 10.
Ten-Point Rubric
Score each dimension from zero to two.
- Requirements: zero misses the contract, one needs a prompt, two states inputs, outputs, and edge cases.
- Tests: zero has no useful test, one covers the normal path, two covers normal, empty, duplicate, and stated comparison behavior.
- Correctness: zero fails core cases, one needs a correction, two passes the agreed cases independently.
- Complexity: zero gives no analysis, one identifies time or space, two explains both against input size.
- Explanation: zero cannot explain the code, one explains the main idea, two explains choices, limits, and a revision.
Pass at eight of ten with no zero. Repeat the task with a fresh variation after feedback when the score is lower or any dimension is zero.
Next Steps
- Software Developer Interview Preparation
- Entry-Level Software Developer Jobs
- Software Development Career Playbook Home
Practice and Verify
Artifact: Scored interview practice. Research the target employer’s stated format. Solve one suitable problem by asking clarifying questions, writing a simple solution, improving only when needed, adding tests, and explaining complexity. Add one debugging or code-reading task.
Expected result: A recording or note shows correct tests, clear reasoning, ethical source use, and one feedback-driven revision.
REDACTED COMPLETED EXAMPLE
First score: 9/10. Revision: explained space cost. Final score: 10/10. Result: pass.
Pass checklist
- The artifact uses dated, role-specific evidence
- Claims, ownership, team credit, and unknown values are truthful
- Privacy, secrets, licenses, accessibility, cost, and safety received review where relevant
- A reviewer or repeatable check produced feedback
- The record names a timed next action and checkpoint
Source rule: Use the employer’s candidate guidance and do not publish confidential questions.

