Went through the Twilio frontend engineer interview loop last month, mid-level role (L3, approximately 3-6 YOE bracket). Sharing because I had a hard time finding frontend-specific info before I went in.
Four rounds, all video with CoderPad or shared screen.
Round 1: JavaScript fundamentals + DOM. This was more conceptual than I expected. We talked through event delegation, the event loop and microtask queue, how closures work, and then a small coding problem: build a debounce function from scratch. Not React-specific at all. If you've been living entirely in framework-land and haven't thought about vanilla JS in a while, spend a day on it.
Round 2: React component design. Build a reusable component live. I got something like: build a multi-step form component that tracks state between steps and validates before moving forward. They specifically asked about controlled vs uncontrolled inputs and how I'd handle errors. Then questions about performance: when to use useMemo, why not use it everywhere. Pretty reasonable.
Round 3: System design (frontend). I was surprised there was a frontend-specific system design round. Question: design a real-time dashboard that displays SMS delivery status for thousands of messages. Makes perfect sense given Twilio's product. We talked through websockets vs polling, state management at scale, virtualized lists for performance, and how to handle reconnections. Know your real-time fundamentals if you're interviewing here.
Round 4: Behavioral. Standard. Three questions, STAR format. One about working with a backend team that had different priorities, one about handling technical debt under deadline pressure.
Total time: about 3 weeks from first screen to offer. Offer was around $165k base for L3 in San Francisco, RSUs on top. Not top of market but the team I'd be joining seemed genuinely interesting.
One thing I'll say: the real-time dashboard question felt very directly tied to what they actually build. It didn't feel like a generic interview problem someone copy-pasted. That was actually kind of refreshing.