Debakar Roy

Top Programming Questions [Updated]

2 min read

🧠 Remember: “Study families, not problems.”

How to use this index

Don’t grind randomly. Pick a family, learn its 2–3 core moves, then let variants come to you. Start with the Warm Up if any family feels foreign.

Arrays & hashing

The highest-yield family. Core moves: complement lookup, running accumulators, sort-then-scan.

Strings & numbers

Parsing shapes: fold left → right, peek at the neighbor.

Trees

Traversal + recursion depth. Core moves: inorder structure, level tracking, divide and conquer.

Backtracking

Choose, explore, unchoose. Core move: one shared path, add on entry, remove on exit.

Linked lists

Pointer surgery. Core moves: prev/curr rewiring, fast-slow spacing.

🧠 Remember

Prep → “One family per session.” Depth in a family transfers; breadth across random problems doesn’t.

🔁 Stuck? Drop back to the Warm Up, then re-enter through Two Sum — the root of the hashing family.