From iOS engineer to a Big-Tech software offer โ in six months.
You already ship production mobile code. What stands between you and an offer at Apple, Amazon, Google, Meta, Netflix, OpenAI or Anthropic is a different test: data-structures & algorithms under a timer, system design, and a behavioral bar. This guide is the ordered path from knowing no LeetCode to interview-ready โ what each company actually tests, what to learn in what order, the mental models that make it click, and a 24-week plan you tick off as you go.
Map every loop
How the interview actually runs at each of the eight companies, what each one weights, and where your mobile background counts double.
Ranked by hiring ROI
Not all prep is equal. The exact order to invest your 360 hours so the first thing you study is the thing that moves the needle most.
Build the mental models
Interactive explainers for the ideas a self-taught path skips: Big-O, hashing, sliding window, binary search, graph traversal, scaling.
The eight loops, decoded
Every loop shares a spine โ coding, system design, behavioral โ but the weighting and flavour differ sharply. The bars below are rough emphasis, not official numbers; use them to decide where a given company will make or break your candidacy. Green tag = has a dedicated mobile/iOS track you can apply to with your current edge.
What to learn, ranked by hiring ROI
With ~360 hours, sequencing is everything. This is the order that maximises your odds given a mobile background and zero DSA โ each item rated by impact (how much it moves a hire decision) and effort (how far you are from the bar today). Spend your early months on the top of this list; the bottom is polish and edge.
The coding-interview pattern map
Here's the secret that turns ~2,000 LeetCode problems into something learnable: nearly all of them are one of about 16 recurring patterns. You don't memorise problems โ you learn to recognise the pattern, then the solution follows. Learn them roughly in this order; each links to the kind of problem that signals it. This is your DSA syllabus.
The mental models, visualised
A self-taught path often leaves gaps in the intuitions a CS degree drills in. These are the ones that unlock the most problems โ play with each until the model is yours, then practise narrating it out loud (the interview tests whether you can explain it, not just use it). Tap a card to open it.
The 24-week study plan
Six phases, 24 weeks, ~2 hours a day (~12 h/week). It builds from complexity & arrays up through every DSA pattern, then system design, a breadth + behavioral layer, and four weeks of mocks and applications. Each week lists a daily rhythm, a problem target, and links to a self-contained lesson that lives in this repo โ no third-party sites, no accounts, no paywalls; everything reads offline. Lessons are authored in order (Week 1 is live). Tick weeks off โ progress saves in this browser. Pick the phase tab to expand it.
The interview-day playbook
Knowing the material isn't the same as passing. These are the frameworks that turn what you know into a hire signal โ one for each kind of round โ plus the red flags that quietly sink prepared candidates.
The coding round โ narrate this skeleton every time
Restate & ask
Repeat the problem, confirm input ranges, types, dupes, sortedness, empty cases. "Can the array be empty? Integers only?" Buys time, prevents solving the wrong thing.
Work an example by hand
Trace a small input on the whiteboard. It surfaces the pattern and edge cases before you write a line of code.
State the naive answer first
"The O(nยฒ) way isโฆ โ let me see if I can do better." Shows you can always produce something, and frames the optimisation.
Name the pattern + complexity
"A hash map drops this to O(n) time, O(n) space." This is the core signal: recognising the pattern and stating the trade-off.
Write clean, talk as you go
Good names, small helpers, no silent stretches. Narrate intent: "now I iterate once, storing complements." Silence reads as stuck.
Dry-run + edge cases
Walk a real input through your code, then call out empty / single / duplicate / overflow. Catching your own bug beats the interviewer catching it.
The system-design round โ the seven-step frame
The behavioral round โ STAR, mapped to values
Red flags that quietly sink candidates
Practise against the real thing
Reps under pressure are everything. Drill timed problems, do live mocks with a human, and for the domain round use this kit's iOS interviews โ answer out loud and grade yourself against the strong-answer markers.