FAANG Interview Preparation Roadmap: A 12-Week Plan

What to study, in what order, and when to stop studying and start interviewing. The plan assumes you already write code in one language and can give it 10 to 15 hours a week. Each week links to the lessons and visualizers that cover it.

Start week 1: the DSA patterns

What the FAANG interview process looks like

The rounds differ a little between Google, Amazon, Meta, Apple, Netflix and the companies that hire the same way, but the shape is shared. Most of the loop is coding, which is why most of the plan is too.

Online assessment

One to three coding problems in a timed browser editor, usually 60 to 90 minutes. Often the first filter for freshers and campus hires.

Phone or video screen

One or two coding problems with an engineer, talking through the approach before writing code. Communication is graded alongside correctness.

Onsite or virtual loop

Four to six rounds in one day: mostly coding, plus a behavioral round. Experienced candidates also get one or two system design rounds.

Team match and offer

Some companies match you with a team after the loop. Level and offer depend on the whole packet, not one round.

The 12-week FAANG preparation plan

The patterns are ordered so each one builds on the last: hash maps before sliding windows, trees before graphs, recursion before dynamic programming. Finish a week when you can solve a new problem of that type without looking at a solution, not when you have read everything.

  1. Week 1

    Complexity, arrays and hash maps

    State the time and space cost of every solution before you code it, and reach for a hash map whenever you need a fast lookup.

  2. Week 2

    Two pointers, sliding window, prefix sum

    Recognise when a sorted array or a contiguous range turns an O(n²) brute force into one pass.

  3. Week 3

    Stack, binary search, linked lists

    Use a monotonic stack for "next greater" problems, binary search on the answer, and pointer rewiring without losing nodes.

  4. Week 4

    Trees: DFS and BFS

    Write recursive DFS and level-order BFS from memory, and decide which one a question needs.

  5. Week 5

    Heaps, intervals, greedy

    Keep the top k with a heap, sort-then-sweep intervals, and argue why a greedy choice is safe.

  6. Week 6

    Graphs and grids

    Model a problem as a graph, then pick BFS, DFS, topological sort or Dijkstra for it.

  7. Week 7

    Backtracking and tries

    Use the choose, explore, unchoose template for subsets and permutations, and a trie for prefix queries.

  8. Weeks 8-9

    Dynamic programming

    Define the state, write the recurrence, then turn the memoised recursion into a table. Two weeks, because this is where most people stall.

  9. Week 10

    Mixed, timed practice

    Solve problems without knowing the pattern in advance, 45 minutes each, out loud. This is the skill the interview tests.

  10. Week 11

    System design and behavioral

    For experienced roles, practise designing two or three common systems end to end. For everyone, write six to eight stories from your own work in situation, action, result form.

  11. Week 12

    Resume, mock interviews, applications

    Get the resume past the screening filter, do at least two mock interviews with another person, then apply.

Stretching it to 6 months

If you are starting from scratch or have only a few hours a week, use the same order at half the speed. Spend the first month on one language and the basics (time complexity, recursion, arrays and strings), then give every week above two weeks. Keep the last month for mixed practice and mock interviews, whatever the pace was before it.

The frontend track

Frontend engineers still get general coding rounds, so keep weeks 1 to 7. Replace weeks 8 and 9 with JavaScript and React: closures, the event loop, rendering, hooks and the questions that catch people out.

Questions

How long does it take to prepare for a FAANG interview?
With a working knowledge of one programming language, about three months of steady work (10 to 15 hours a week) covers the coding patterns, which is the plan on this page. Starting from scratch, or with only a few hours a week, plan for six months.
How many LeetCode problems should I solve for FAANG?
There is no safe number. What matters is whether you can recognise the pattern in a problem you have not seen. Solving 75 to 150 well-chosen problems and being able to explain each one usually beats rushing through 400.
Can I prepare for FAANG in 3 months?
Yes, if you already code comfortably in one language. Follow the 12 weeks in order, do not skip dynamic programming, and leave the last two weeks for timed mixed practice and mock interviews.
How should freshers prepare for FAANG interviews?
Freshers are tested almost entirely on coding and problem solving, so put nearly all the time into the DSA weeks. System design is rarely asked at entry level. A one-page resume with two or three real projects matters more than a long list of skills.
How is preparation different for experienced engineers?
The coding bar is the same, but system design and behavioral rounds carry more weight and decide your level. Keep the DSA weeks, and give system design its own week or two instead of half of week 11.
Do frontend engineers get the same interviews?
Usually they get a mix: general coding rounds plus rounds on JavaScript, the browser and a framework such as React. Some companies replace one algorithm round with a UI component built live.

See each pattern run before you code it

Step through arrays, trees and graphs one operation at a time. The visualizers are free to try.

Open the visualizers