CodePark/ questions / Approaching the interview
START PRACTICINGPRACTICE
Frontend question · Frontend system design › Approaching the interview

You have 45 minutes to design a frontend system. What framework do you use to structure the conversation, and how do you split the time?

I use a framework called RADIO to structure the conversation. RADIO stands for:

  • Requirements
  • Architecture
  • Data model
  • Interface (the API)
  • Optimisations

It stops me from jumping straight into components. It also makes sure I cover the parts that interviewers score.

Here is a rough time split:

  • Requirements, 5 to 8 minutes: I agree on the scope with the interviewer and write it down.
  • Architecture, about 10 minutes: I draw the main components. I show how data flows between the server, a client cache and the views.
  • Data model, about 5 minutes: I list which entities live on the client. I separate server state (data that comes from the server) from UI state (data that only the screen owns).
  • Interface, about 8 minutes: I describe the endpoints or queries, the pagination, and the props of the key components.
  • Optimisations, the remaining 15 minutes: I discuss trade-offs in performance, accessibility, i18n (support for many languages), offline use and error handling. This is where seniority shows.

I check in with the interviewer at each change of step. This lets them steer me toward the area they care about.

  • Names a framework such as RADIO and follows it through the interview.
  • Spends real time on requirements before drawing anything.
  • Leaves the largest block of time for optimisations and trade-offs.
  • Checks in with the interviewer at each step.