Interviewed for a senior frontend engineer role at Square last month. Made it to offer. Sharing notes because the frontend-specific prep angle is hard to find.
Process was 5 rounds: Recruiter + hiring manager call (back to back, same day) Frontend coding round System design (UI-focused) Behavioral A short code quality + architecture chat with the team lead
The frontend coding round was the most interesting. Not LC arrays. They gave me a small component problem: build a mini-table with sortable columns and basic filter functionality. Framework-agnostic, I used React because that's what I know. They were watching how I broke the problem down, how I handled state, whether I reached for complex solutions before simpler ones. One thing that came up: accessibility. I had to add keyboard nav mid-session and explain my approach. Good thing I knew my aria-roles.
The UI system design round is unique and a lot of people don't prep for it. Mine was: design a payment confirmation flow for a small merchant that needs to work on both web and embedded mobile webview. We talked about: component hierarchy, state management at scale, network failure handling, offline-first considerations (which Square actually has to deal with for point-of-sale). I spent maybe 20 minutes just on the loading state patterns and error recovery and that seemed to land well.
Behavioral covered: times I've pushed back on product direction, cross-team collaboration, and 'tell me about your approach to frontend performance.' The performance question wasn't behavioral exactly, more technical conversation.
The code quality chat at the end was with the tech lead and was pretty unstructured. More like a conversation about what good frontend eng looks like to me. I talked about component API design and testing strategy.
If I were prepping from scratch: focus on UI system design (most people don't), brush up on accessibility basics, and have a concrete story about a complex UI component you designed from scratch.