JS Guide
HomeQuestionsTopicsCompaniesResources
BookmarksSearch

Built for developers preparing for JavaScript, React & TypeScript interviews.

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeQuestionssystem-design

system-design

Frontend system design, architecture patterns, and scalability

Explore 6 system-design topics to deepen your understanding

Your Progress

0 of 4 completed

0%

4 Questions

senior Level
1
How would you architect a micro-frontend system?
senior
scalability
A micro-frontend architecture decomposes a monolithic frontend into smaller, independently deployable applications owned by autonomous teams, using integration techniques like Webpack Module Federation, Single-SPA, or Web Components, while sharing a design system and communicating through custom events or a shared state bus.
2
Design a food delivery tracking page with real-time updates
senior
real-time
A food delivery tracking page uses WebSocket connections for real-time driver location updates on a live map, a state machine to model order lifecycle (placed through delivered), and Server-Sent Events or polling as fallbacks, with careful attention to mobile battery optimization, offline resilience, and animated map transitions.
3
Design an offline-first web application with sync capabilities
senior
data-layer
An offline-first web application uses Service Workers for asset caching and IndexedDB for local data storage, enabling full functionality without network connectivity. Synchronization is handled through a queue-based system with conflict resolution strategies like last-write-wins or CRDTs, while optimistic UI ensures instant feedback for user actions.
4
Design a real-time chat application like Slack or Messenger
senior
chat
A real-time chat application uses WebSocket connections with heartbeat and exponential backoff reconnection for message delivery, optimistic UI for instant message display, virtualized message lists for performance, and features like typing indicators (debounced broadcasts), read receipts (intersection observer), and file uploads (presigned URLs with progress tracking).