Architecture & API design interview questions

MVVM, TCA, unidirectional flow, DI, module boundaries.

10 sections, 25 questions. Each question has a clear answer, the common traps and likely follow-ups.

  1. 15.1 · Presentation patterns 2 questions
    Every architecture answers the same few questions: where does state live, who is allowed to change it, and how do you test it. The names differ; the trade-offs…
  2. 15.2 · Navigation & composition 2 questions
    Two questions shape the codebase more than the choice of UI pattern: who decides which screen comes next, and who decides which object a screen talks to.
  3. 15.3 · Modules & legacy 2 questions
    Boundaries are the part of architecture that outlives any pattern. Where you put them decides what teams can change independently, and how you can retire the…
  4. 15.4 · Error modelling 1 question
    Errors are part of an API. How you model them decides whether callers can react correctly, or just show “Something went wrong”.
  5. 15.5 · API design 2 questions
    An API is a promise to every caller you will never meet. The cost of a bad name or a leaky type is paid every time it is used, and every time you try to change…
  6. 15.6 · Principles & platforms 2 questions
    Principles are heuristics for managing change. Applied with judgement they save you from a tangle; applied as rules they produce layers of nothing.
  7. 15.7 · State in practice 3 questions
    The first pass explained why one-way state is predictable. In practice the hard parts are everything around the pure function: effects that finish out of…
  8. 15.8 · Injection in practice 4 questions
    The first pass said to inject through initialisers. The questions that follow in a real codebase are about the shape of what you inject, how long it lives, how…
  9. 15.9 · Compatibility 3 questions
    API evolution is more than deprecation: some harmless-looking source changes break binaries, and an ordinary import can leak more than you meant.
  10. 15.10 · Misuse and failure 4 questions
    The best API makes the wrong call impossible or loud. That is a choice about types, ownership and failure mode.