JS Guide
HomeQuestionsTopicsCompaniesResources
BookmarksSearch

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

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeQuestionssystem-design
Next

Learn the concept

Frontend System Design Fundamentals

system-design
junior
fundamentals

How do you approach a frontend system design interview?

system-design
interview
radio-framework
architecture
requirements
Quick Answer

Use the RADIO framework: gather Requirements, define Architecture, design the Data model, specify Interfaces, and address Optimizations — spending roughly 5-10 minutes on each step within a 40-minute interview.

Detailed Explanation

Frontend system design interviews test your ability to architect complex client-side applications. Unlike coding interviews (where there's often one correct answer), system design interviews evaluate your thought process, trade-off analysis, and communication skills. Having a structured approach prevents you from jumping into implementation details before understanding the problem.

The RADIO Framework

RADIO is a structured framework designed specifically for frontend system design interviews. It stands for Requirements, Architecture, Data model, Interface, Optimization.

1. Requirements (3-5 minutes)

This is the most important step — and the one most candidates skip. Before designing anything, clarify:

  • Functional requirements: What features must the system support? What are the core user flows? For example, if designing a chat app: real-time messaging, message history, typing indicators, read receipts, file sharing?
  • Non-functional requirements: Performance targets (page load under 2 seconds?), accessibility (WCAG AA?), offline support, internationalization, browser support
  • Scale: How many concurrent users? How much data (messages per second, items in a list)?
  • Constraints: Existing tech stack? Mobile-first or desktop? SEO requirements?

Asking clarifying questions shows the interviewer you think about problems before solving them. It also narrows the scope so you can go deep on what matters.

2. Architecture (8-10 minutes)

Draw a high-level architecture diagram showing:

  • Major UI sections: Header, sidebar, main content, modals — how they relate to each other
  • Component hierarchy: Break the UI into a component tree. Identify which components are reusable
  • Data flow: How data moves from APIs through state management to components
  • Rendering strategy: CSR (single-page app), SSR (server-rendered), SSG (static), or hybrid — and justify why
  • Third-party integrations: Analytics, authentication, CDN, error tracking

3. Data Model (8-10 minutes)

Define what data the application needs and how it's managed:

  • Client state: UI state (modal open/closed, active tab), form state, navigation state — managed with useState, Zustand, or similar
  • Server state: Data fetched from APIs — managed with TanStack Query, SWR, or Apollo. Define cache keys, stale time, invalidation strategy
  • API design: Sketch the key API endpoints. What does the request/response look like? REST or GraphQL?
  • Data structures: Define TypeScript interfaces for your core entities

4. Interface (5-8 minutes)

Design the contracts between components and between client and server:

  • Component props: What does each major component accept? What events does it emit?
  • API contracts: Request/response shapes, error formats, pagination approach (cursor vs offset)
  • State shape: What does the store look like? What actions/mutations modify it?

5. Optimization (5 minutes)

Address performance and edge cases:

  • Loading: Code splitting, lazy loading heavy components, prefetching likely routes
  • Runtime: Virtualization for long lists, memoization for expensive computations, debouncing for rapid inputs
  • Network: Caching strategy, optimistic updates, retry on failure, offline fallback
  • Accessibility: Keyboard navigation, screen reader support, focus management
  • Error handling: Error boundaries, loading states, empty states, retry mechanisms

Common Mistakes

  • Diving into code immediately — Start with requirements, not implementation
  • Ignoring non-functional requirements — Performance, accessibility, and error handling show senior thinking
  • Not drawing diagrams — Visual communication is expected. Use boxes, arrows, and labels
  • Trying to cover everything — Go deep on 2-3 areas rather than shallow on everything
  • Forgetting about state management — Data flow is often the hardest part of frontend architecture

Key Interview Distinction

The RADIO framework gives you a repeatable structure for any frontend system design question. Start with requirements to scope the problem, draw architecture to show the big picture, define the data model to show technical depth, specify interfaces for API clarity, and finish with optimizations to demonstrate senior-level awareness. Practice this flow on 5-10 different systems (chat app, social feed, autocomplete, dashboard) until it becomes natural.

Code Examples

RADIO framework checklist templateText
FRONTEND SYSTEM DESIGN — RADIO CHECKLIST
=========================================

1. REQUIREMENTS (3-5 min)
   Functional:
   - [ ] Core user flows identified
   - [ ] Feature scope clarified (MVP vs full)
   - [ ] Edge cases discussed (empty state, error state)
   Non-functional:
   - [ ] Performance targets (load time, interaction latency)
   - [ ] SEO requirements (SSR needed?)
   - [ ] Accessibility level (WCAG AA?)
   - [ ] Offline support needed?
   - [ ] i18n/l10n requirements?
   Scale:
   - [ ] Number of users / concurrent connections
   - [ ] Data volume (items in list, messages per second)
   - [ ] Team size (affects architecture complexity)

2. ARCHITECTURE (8-10 min)
   - [ ] High-level component diagram
   - [ ] Component hierarchy (tree structure)
   - [ ] Rendering strategy (CSR/SSR/SSG/hybrid) + justification
   - [ ] Data flow diagram (API → state → components)
   - [ ] Third-party services (auth, analytics, CDN)

3. DATA MODEL (8-10 min)
   - [ ] Client state shape (UI state, form state)
   - [ ] Server state (cache keys, stale time)
   - [ ] Key TypeScript interfaces / data structures
   - [ ] API endpoints (method, path, request/response)
   - [ ] Pagination approach (cursor vs offset)

4. INTERFACE (5-8 min)
   - [ ] Major component props and events
   - [ ] API contracts (request/response shapes)
   - [ ] State management actions/selectors
   - [ ] Error response format

5. OPTIMIZATION (5 min)
   - [ ] Code splitting / lazy loading strategy
   - [ ] Virtualization for long lists
   - [ ] Caching and optimistic updates
   - [ ] Accessibility (keyboard nav, ARIA, focus)
   - [ ] Error boundaries and fallback UI

Real-World Applications

Use Cases

Interview Preparation

Using the RADIO framework to practice system design on common questions like designing a social feed, chat app, or autocomplete — building a repeatable approach for any question

Technical Planning Documents

The same structured thinking applies to writing RFC or design documents at work — requirements, architecture, data model, interfaces, and optimization map directly to technical specs

Architecture Reviews

RADIO provides a checklist for reviewing proposed architectures — ensuring requirements are clear, data flow is defined, and optimization is considered before implementation begins

Mini Projects

Design Document Portfolio

beginner

Write RADIO-framework design documents for 5 different systems (chat app, social feed, autocomplete, dashboard, e-commerce product page) to build a portfolio of practice designs

System Design Whiteboard Tool

intermediate

Build a simple diagramming tool with draggable component boxes and arrows to practice drawing architecture diagrams digitally

Industry Examples

Meta

Frontend system design is a dedicated interview round for E5+ engineers — candidates design systems like Facebook News Feed, Messenger, or Instagram Stories using structured frameworks

Google

Google's frontend interviews include a system design round where candidates architect complex UIs like Google Sheets, Google Maps, or YouTube — evaluated on requirements gathering and trade-off communication

Resources

GreatFrontEnd — System Design Playbook

article

Frontend Interview Handbook — System Design

article

GreatFrontEnd — RADIO Framework for System Design

article
Next
What are the trade-offs between client-side and server-side rendering?
Next