Three onsite rounds:
-
Coding — Weekly Calendar
Write a 7-day weekly calendar live, with columns as time (1-hour intervals) and rows as days. Clicking a cell pops up a dialog to create an event name. They give you a mockup.
I wrote two pieces of state — a 2D grid and an events list — and did a transformation to derive the grid from the events. I felt like I wrote it so-so. The interviewer told me directly not to have two sources of truth and hinted at useMemo, but I didn't catch on in the moment and used useEffect instead, so this part didn't go well. -
System Design — Photo Album
They give three design screens: ① the album list (shows cover image + album name); ② a single album page (can add photos, edit the album name); ③ the photo info page. It needs to support real-time sync across devices, and they'll follow up on trade-offs.
I wasn't given a mockup. For the first question I proposed two APIs: fetch albums + fetch photos. Personally I felt this round really tested fundamentals — you need to talk a lot about state management and data normalization. Follow-ups included: how to sort by city, how to sort descending, and how to handle photo upload. -
Project Dive Deep
Self-assessment:
Coding: Border Hire
System Design: Strong Hire
Project Dive Deep: Strong Hire
Last week I already had a sync scheduled with the recruiter — they said feedback can be kept for 6 months, but this time it wasn't a match.
Discussion
Loading comments…