Completed IBM's frontend engineer interview loop last month for a mid-level role on the Carbon Design System team. This is a more specific slice of IBM's front end work, but I think the loop structure is similar across teams so sharing anyway.
The process was: recruiter call, then 3 technical rounds in a single panel week.
Round 1: JavaScript deep dive (60 min). No React-specific stuff here, just JavaScript. They asked about closures, the event loop, promise chaining, and 'how would you explain async/await to someone who only knows callbacks.' That last one was actually a good question. They wanted to see your mental model, not just syntax recall. One live coding problem: implement a debounce function from scratch.
Round 2: React and component design (60 min). This one was more applied. We pair-programmed a small accessible component. Not just 'does it render' but 'is it keyboard navigable, does it have proper ARIA labels, does it work with a screen reader semantically.' The accessibility depth surprised me. IBM has the Carbon Design System which is pretty accessibility-forward, so it makes sense.
Round 3: System design (front end) (45 min). Not backend infrastructure. They asked how I'd design a data table component that handles 10k rows performantly. We talked through virtualization, memoization, where state should live, how the API contract should look. Reasonably practical.
No behavioral round as a separate session, but behavioral questions came up inside the technical rounds. 'Tell me about a time you pushed back on a design decision' came up in round 2.
A few things that mattered more than I expected: accessibility knowledge, component API design thinking, and being able to talk about bundle size and performance tradeoffs. Pure React hook trivia mattered less than I'd prepped for.
Offer came back Band 7, remote-eligible, base around $115k. Took it.