Engrain by ByteRush

SD.04 0 concepts

Designs II: real-time and collaboration

Design apps where many clients change shared state.

    Practice rooms

    • Design: chat / messaging appwhiteboard + follow-ups
    • Design: collaborative document editorwhiteboard + follow-ups
    • Design: notifications system (in-app + push)whiteboard + follow-ups
    • Design: project management / kanban toolwhiteboard + follow-ups
    • Design: video conferencing UIwhiteboard + follow-ups
    • Design: collaborative whiteboard / canvaswhiteboard + follow-ups

    Interview questions in this module

    1. Design a chat application frontend. How do you handle offline messages and ordering?
    2. Design a collaborative editor like a shared document. How do you resolve concurrent edits?
    3. Design an in-app notification system with unread counts across tabs.
    4. Design a kanban tool used by many people at once.
    5. Design the client of a video-calling app.
    6. How do you show presence and typing indicators without flooding the server?
    7. What happens when a chat user is offline for a week?
    8. How do you keep notification counts correct across devices?
    9. How do you test real-time features?