Three weeks out from completing the Starbucks Technology frontend interview loop, so posting while it's fresh.
I applied for a Senior Frontend Engineer role on their Digital Commerce team. This is the team that owns the order-ahead experience in the app and on web. They also touched on web accessibility work given the size of their user base, which I found interesting.
The rounds. Recruiter screen, then a 60-minute technical assessment (take-home style, 3 days to complete), then a virtual onsite with four rounds: coding, system/component design, technical discussion of the take-home, behavioral.
Take-home. Build a simple React component that fetches a product list from a mocked API, handles loading/error states, and supports filtering by category. Sounds basic, but they evaluated: TypeScript correctness, accessibility (ARIA labels, keyboard nav), error boundary handling, and a readme explaining your tradeoffs. I spent about 5-6 hours on it. Probably could have done 3 if I knew what they cared about. Definitely add that readme.
Coding round. One medium LC problem (array manipulation) and a DOM manipulation question. The DOM question was written JS, no framework: given a nested comment thread structure as JSON, render it into the DOM recursively. Kind of retro, but practical.
Component design. Design the Starbucks loyalty rewards sidebar: shows point balance, upcoming rewards, and a redemption CTA. They want to see how you think about state management, API contract design, and responsiveness. I talked through React Query for server state and a simple context for local UI state. They asked about optimistic updates, good question for an ecommerce context.
Behavioral. Heavy on collaboration. One question specifically about working with a designer when you disagree on implementation feasibility. Have a concrete story ready.
Stack they're using. React, TypeScript, Next.js for some surfaces. No Angular, thankfully. If you know React well you'll be fine.
Offer timeline. Heard back in about 10 days post-onsite. Verbal offer first, then written within 48 hours. Straightforward process.