Skip to content

1 Answer

Accepted answer

KMKaran Mehta5.3K XP17d ago
Spend it on patterns and out-loud practice, not on solving as many problems as possible. Most people grind volume and still freeze, because the interview tests communicated problem-solving under observation — a different skill from solving quietly at your desk. **A month's plan:** *Week 1 — foundations and patterns.* Arrays and strings, hash maps, two pointers, sliding window. Learn the *pattern*, not the problem. There are roughly 15 recurring patterns behind the vast majority of interview questions; recognising which one applies is the actual skill. Aim for 3-4 problems a day, and redo the ones you couldn't solve. *Week 2 — core structures.* Stacks, queues, linked lists, binary trees, BFS and DFS, recursion. Trees and graph traversal come up constantly. *Week 3 — harder patterns and depth.* Binary search variants, heaps, intervals, basic dynamic programming. Don't over-invest in advanced DP — it appears less often than its reputation suggests and consumes disproportionate time. *Week 4 — simulation.* Full mock interviews, out loud, timed, ideally with another person. This is the highest-value week and the one people skip. **The practice method that actually transfers:** 1. Attempt for 20-25 minutes before looking at anything. The struggle is the training. 2. When stuck, look up the *approach*, then implement it yourself without the solution visible. 3. **Redo the problem 3-5 days later, cold.** Solving once is recognition; solving again is retention. This one habit outperforms doing twice as many problems. 4. Keep a log: problem, pattern, what tripped you. **How to behave in the actual interview**, which is worth as much as the algorithms: - **Clarify first.** Ask about input size, edge cases, duplicates, empty input. Interviewers deliberately leave ambiguity to see whether you ask. - **Say your approach before coding**, including the brute force and why you're improving on it. Silent coding is the most common way strong candidates fail. - **Think out loud continuously.** They're evaluating your reasoning; if it's internal, they can't score it. Even 'I'm considering a hash map here because lookups need to be constant' is valuable. - **Start with a working brute force** if you're stuck. A working slow solution beats an unfinished clever one. - **Test your code out loud** with a small example and an edge case before saying you're done. And take hints gracefully — they're offered to help, and how you incorporate them is part of the assessment.
30

Know the answer?

Join Nobink to answer, vote and build your reputation.