Practical interview questions

Scenario-style prompts with sample answer outlines. Focus is on how you would design and reason in real codebases.

Question 1

Testing strategy & tradeoffs

How do you decide what to test at the unit, integration, and UI level in a large iOS app?

Answer outline

Start from risk and cost of failure. e.g. failures during onboarding, IAP, sign up/in are very high cost-of-failure areas.

Unit tests fit pure logic and contracts you can isolate.

Integration tests fit system boundaries (persistence and stubbed networking).

UI tests are the slowest and flakiest—use them for critical journeys and gaps lower layers cannot cover.

Principles

  • Unit: algorithms, state machines, parsers; anything deterministic without I/O.
  • Integration: multiple real types must agree (DB + repository, coordinator + deep link).
  • UI: few stable flows; accessibility IDs; deterministic data/backends.