Slack mobile design quiz

Check the Slack mobile design post: product behavior, sync, push, local state, and scaling tradeoffs.

Questions
12
Est. time
~9 min
  1. 01
    Mobile startup sync

    When the Slack mobile app opens after being offline overnight, what should it do first?

    Options for question 1
  2. 02
    Offline send and idempotency

    Why should a mobile client attach a client-generated idempotency key when sending a message?

    Options for question 2
  3. 03
    Local database

    What is the main reason a Slack-like mobile app needs a local database instead of only in-memory state?

    Options for question 3
  4. 04
    Realtime delivery

    How should the system treat WebSockets and push notifications?

    Options for question 4
  5. 05
    Cursors and recovery

    What problem does a sync cursor solve in the Slack mobile design?

    Options for question 5
  6. 06
    Unread and read state

    Which design is best for unread state on mobile?

    Options for question 6
  7. 07
    Files and attachments

    Why is file upload usually modeled separately from sending the final chat message?

    Options for question 7
  8. 08
    Search

    What is the most important correctness requirement for Slack-style search?

    Options for question 8
  9. 09
    Cellular architecture

    Why might a large Slack-like system use cells?

    Options for question 9
  10. 10
    Fanout tradeoffs

    What is the main tradeoff between fanout-on-write and fanout-on-read?

    Options for question 10
  11. 11
    Failure modes

    A user sends a message on flaky mobile data. The server commits it, but the response is lost. What should happen next?

    Options for question 11
  12. 12
    Explaining the design

    What is the clearest high-level explanation of the Slack mobile architecture?

    Options for question 12
Progress
0/12 answered
Made in SF v1