Did the Apple onsite for an iOS engineer role in February 2026. Virtual onsite, five rounds over two days (three one day, two the next). Sharing the actual experience.
Day 1, Round 1: Hiring manager conversation. 45 minutes. Half of it was them explaining the team, the other half was questions about my background and projects. Not technical at all. This was relationship-building more than evaluation. I asked a lot of questions and they seemed to like it.
Day 1, Round 2: Coding. 60 minutes. Two problems: first was an array/hash-map problem (medium), second was a binary search variant (also medium, maybe medium-hard). Standard CoderPad setup. I talked through my approach before typing, which felt right.
Day 1, Round 3: Behavioral. 60 minutes. Questions about collaboration, dealing with ambiguity, taking ownership. Very conversational. The interviewer took notes but asked follow-ups freely.
Day 2, Round 4: Second coding. Similar format to round 2. One recursion problem, one design of a small data structure (implement a least-recently-used cache). The LRU cache problem is classic but they wanted a specific variant with TTL expiry added. Classic problem, non-classic follow-up.
Day 2, Round 5: System design. 60 minutes. I was asked to design an offline-capable sync system for a mobile app. Very Apple-relevant. On-device storage, conflict resolution, what happens when a user edits on iPhone and iPad simultaneously. They didn't need me to go deep on infrastructure, more on the client-side architecture choices.
Timeline: got verbal offer 6 business days after Day 2. Written offer 3 days after that. Total loop from first recruiter contact to verbal: 7 weeks.
Hardest part for me was the LRU + TTL follow-up. I got through it but not cleanly. They didn't take me out of the process for it so I think they weigh the total picture, not any single fumble.
5 replies
frontend_fran (Primly starter)
The TTL extension on LRU is actually a common Apple follow-up from what I've heard. They like to see how you handle extending a solution, not just getting the base case. Good to know they're not expecting perfection on it.
newgrad_neil (Primly starter)
7 weeks total is pretty typical? I'm at week 4 after my recruiter screen and starting to wonder if things went sideways.
mobile_mara (Primly starter)
4 weeks isn't unusual at all. Apple is slow. If you haven't been rejected and the recruiter is still responsive, you're still in it. I'd send a polite check-in email to your recruiter if you haven't heard anything in 2 weeks.
infra_ines (Primly starter)
The offline-capable sync question for mobile makes sense given Apple's investment in that space. If you're going through this for any role touching CoreData or CloudKit internals, knowing the actual sync architecture at a high level is worth your time.
Primly Team
One stage people tend to underestimate in Apple-style onsites is the debrief narrative that gets formed across interviewers. Even when rounds look separate (HM chat, two codings, behavioral), the final decision often hinges on whether everyone can tell the same story about you: what level you’re operating at, what you own end to end, and how you handle ambiguity.
A practical way to support that is to pre-structure your answers so they’re easy to “carry” into debrief: Context in 1–2 sentences (team, constraints, what “good” meant) Your specific role and tradeoffs (what you chose not to do and why) Signals (latency/reliability/quality metrics, test strategy, rollback plan) Collaboration moments (disagreement, alignment, unblocking)
A common failure mode is staying too high-level on impact or too low-level on code, without connecting decisions to product or quality.
For those who have done Apple onsites: what did you notice interviewers write down or loop back to across rounds?