Responding to a crash spike

System design scenarios Senior Swift 5.0+ iOS 17+ Reviewed By Alok Singh

Order the steps

Order the incident response steps.

  • Find the root cause from symbolicated traces and logs
  • Assess scope: version, OS, device and screen
  • Run a blameless post-mortem and add safeguards
  • Fix with a test and ship, expedited if needed
  • Mitigate: pause the rollout, turn off the flag, or apply a server fallback
Hint 1 of 1

Stop the bleeding before surgery.

Choose an answer, then open Show answer below to check it.

Show answer

Answer: B E A D C

  1. Assess scope: version, OS, device and screen Scope tells you how urgent it is and where to look.
  2. Mitigate: pause the rollout, turn off the flag, or apply a server fallback Stop the damage before investigating deeply.
  3. Find the root cause from symbolicated traces and logs Understand the bug before changing code.
  4. Fix with a test and ship, expedited if needed The test stops it coming back.
  5. Run a blameless post-mortem and add safeguards Prevention makes the next incident smaller.

30-second answer

First assess scope: which app version, OS, devices and screens, using Organizer, MetricKit or your crash reporter. Then mitigate quickly: pause the phased release, turn off the feature flag, or fall back on the server. Find the root cause from symbolicated stack traces and logs, fix it with a test, and ship an expedited update if needed. Finish with a blameless post-mortem and prevention steps.

Practise saying it · 60 s. No recording, just a timer

Walk through a crash incident.

Say your answer out loud, then check which of these points you covered:

  • Scope
  • Mitigate first
  • Root cause
  • Fix and prevent

Deep dive

Server-side changes can crash old app versions; check deployments too.

Keep dSYMs for every build so traces symbolicate.

Feature flags and kill switches turn a release fix into a config change.

Communicate status to support and stakeholders.

Common mistakes

  • Jumping to a fix before mitigating.
  • Shipping a hotfix without a reproducing test.

Senior take & follow-ups

Seniors mitigate first, then fix, then prevent.

Follow-up questions

Think of your answer first, then open the hint.

  1. Why check server changes?

    Show hint

    A new response shape can crash every version at once.

  2. What makes mitigation fast?

    Show hint

    Feature flags, phased release, server fallbacks.

Suggest a fix if something here is wrong or out of date.