RADIO: driving a frontend design round
Outline all five phases on the client side, then spend the protected minutes on the few areas this product needs, opened unasked.
Predict first
Before you read: predict
It is minute 29 of a 45-minute frontend design round on the proctor console's live alert feed. Requirements, architecture, data model and interface are on the board. The candidate's notes list six areas still open: UX, performance, accessibility, i18n, multi-device and security.
What should the candidate do next?
The 30-second version
A frontend design round runs five phases, RADIO: Requirements, Architecture, Data model, Interface, Optimizations. The middle three stay on the client side: its components, their state, the APIs between them. No round has time for every optimization area: pick the few this product stresses and open them unasked. A phase clock keeps minutes for them.
Outline all five phases on the client side, then spend the protected minutes on the few areas this product needs, opened unasked.
How it works
Step 1 of 12
Analogy: A 45-minute conference talk with a timekeeper
A speaker has one slot and an agenda slide.
| At the talk | In the round |
|---|---|
| asking the organiser who will be in the room | requirements (step 2) |
| the agenda slide: sections, and how each leads to the next | architecture (step 3) |
| what each section carries | data model (step 4) |
| the hand-over line between two sections, written once the sections exist | interface (steps 5–6) |
| two live demos chosen for this audience, not one per feature | the deep dives (steps 8–9) |
| the timekeeper's card at each section's planned end | cumulative checkpoints (step 11) |
| the last five minutes are the audience's questions; a long opening costs demo time | lost minutes come out of the dives (step 12) |
In real terms: the five phases are the outline, the clock protects the depth, and the candidate, not the interviewer, decides where the depth goes.
Breaks down when: an audience rarely interrupts. An interviewer may name an area to focus on; then that area is the dive, and the plan bends to it.
Contrasting case: a talk with one slide per feature and no demo. Every box is covered, and nothing is shown in depth.
Examples, run for real
4.1 ExamHall: a rehearsal that ran out of room
Requirements ran long, and at the Optimizations phase the candidate gave each of six areas two minutes. MR !1640 rehearses on the phase clock instead.
plan Requirements 5 · Architecture 8 · Data model 5 · Interface 6 · deep dives 16 · closing 5 = 45
checkpoints Requirements 5 · Architecture 13 · Data model 18 · Interface 24 · dives end 40 · round ends 45
EXH-1440 Requirements ended at 11 vs checkpoint 5: 6 behind
EXH-1440 Architecture ended at 20 vs checkpoint 13: 7 behind
EXH-1440 Data model ended at 24 vs checkpoint 18: 6 behind
EXH-1440 Interface ended at 30 vs checkpoint 24: 6 behind
EXH-1440 six areas x 2 min = 12 min: ends at 42, 2 into the closing 5, no area in depth
MR !1640 deep dives get 40 - 30 = 10 min: two areas of 5, round ends on time
The candidate was behind from the first checkpoint, and a Data model one minute under budget won one minute back (step 11). Spreading the rest evenly overran the closing minutes and showed no depth (steps 8, 12). With the clock, the two dives shrink and the ending stays.
4.2 Proof domain, e-commerce catalog: one board for the search results page (worked, not executed)
The prompt is "Design the catalog's search results page". What each phase puts on the board:
| Phase | On the board |
|---|---|
| Requirements | desktop and phone? which browsers? one language? |
| Architecture | SearchPage holding FacetPanel, ResultsGrid and ProductCard, plus a client-side query cache |
| Data model | products and facet counts from the server, by id; the shopper's picked facets and page, which never reach the database (where each lives is fsd-state-ownership) |
| Interface | GET /search?q&facets&cursor → { items, facets, nextCursor }; ResultsGrid props { items, onLoadMore } |
| Optimizations | performance (an image-heavy grid) and accessibility (facets used by keyboard), each named with its reason; offline and i18n set aside, since the shop is online-only and one-language |
No box on this board is a server. The two dives are chosen from the product's facts, and the reasons are said aloud.
Try it
Answer first, then check. Nothing is saved.
Question 1 of 5
A candidate's plan for a 45-minute frontend round on the catalog's product-detail page gives Requirements 5, Architecture 8, Data model 5, Interface 6 minutes, then the deep dives. The four phases take Requirements 8, Architecture 6, Data model 7, Interface 7 minutes. The candidate checks the clock only at the end of each phase, and cuts something once more than 3 minutes behind the plan.
At which check does that first happen?
Question 2 of 5
In a frontend design round on the proctor console, the candidate's Architecture drawing shows an alert list, an alert detail panel, a filter bar and one alert server, with an arrow from the server to each of the three views.
What is this drawing missing?
Question 3 of 5
The prompt is "Design the product card that the catalog reuses on the listing, search and basket pages": a component, not a whole application.
In the Interface phase, what should the candidate define?
Question 4 of 5
In the Requirements phase of a frontend round on the catalog's category listing page, the candidate writes four questions on the board. One of them belongs to a later RADIO phase.
Which one?
Question 5 of 5
A candidate's notes for the Interface phase of a frontend round on the proctor console's live alert feed have three lines. A reviewer marks one of them as a mistake.
Which line is it?
Go deeper
Pro tip
- Keep the five letters on the board and point at the one you are in each time you move on. The interviewer sees where the round is and can redirect early. When: the first minute of any frontend round. Status: DOC (Front End Interview Handbook, UI components: "You can write this structure down on the whiteboard/online editor so that you don't forget."); not run.
Source
- The RADIO framework and each letter's definition, "not necessarily in that order", candidates taking "the initiative", the "Things you would not have to do (probably)" list, and "If the interviewer tells you which specific areas to focus on". Supports steps 1, 3–5, 7–9. Valid as of 2026-09-30.
- Front End Interview Handbook, Applications and UI components (sub-pages of the same guide's system-design section, linked from the overview's "subsequent sections"): https://www.frontendinterviewhandbook.com/front-end-system-design/applications and https://www.frontendinterviewhandbook.com/front-end-system-design/ui-components · fetched 2026-09-30, saved as
fih-applications.txtandfih-ui-components.txt. Client-side architecture "not on large scale distributed systems"; client app state as server state plus true client state; the API as network parameters and response shape (applications) or configuration options (components); "won't be enough time to cover every area". Supports steps 2–5, 8. Valid as of 2026-09-30. - Hello Interview, System Design in a Hurry: Delivery framework (the curriculum row's URL): https://www.hellointerview.com/learn/system-design/in-a-hurry/delivery · fetched 2026-09-30, saved as
hellointerview-delivery.txt. A backend round defines "the contract between your system and its users" before the high-level design; "More senior candidates should be able to identify these places themselves and lead the discussion"; give the interviewer "room to ask questions and probe". Supports steps 6 and 9. Valid as of 2026-09-30. - Meta, Software Engineer Full Loop Interview Guide (PDF; the curriculum row's URL): https://d3no4ktch0fdq4.cloudfront.net/public/course/files/Meta_SWE_full_loop_guide.pdf · fetched 2026-09-30, text extracted with pdftotext 4.00 and saved as
meta-full-loop.txt(the PDF beside it). "The design interview is 45-minutes"; each conversation lasts "about 45 minutes; each interviewer will leave a few minutes at the end for your questions"; "it will be up to you to drive the conversation". Supports steps 9–10. Valid as of 2026-09-30.
Related lessons
Checked against the tools and docs as of 2026-09-30.