Phone Screen: Coding — Snapshot Set
Implement a Set that supports snapshots. Besides the normal add/remove operations, you need to support creating a snapshot and being able to read the state of the set at a given snapshot moment.
Onsite 1: System Design — Design a Payment System
Design a payment system where a transaction first goes through an external payment service for approval/denial. Once approved, the corresponding amount needs to be held, and every day all transactions are batched together for final processing. The scale of the system is around 10,000 TPS.
Reference: Payment System
Onsite 2: Infrastructure Interview
A deep dive on infrastructure with one team member, circling around a specific area to continue expanding into system design and technical discussion. This round was strongly tied to the specific team I was matching with. I didn't perform well, and this was probably the main round I got rejected on.
Onsite 3: Technical Deep Dive
You need to prepare slides in advance, pick a technical project you've worked on, and give a presentation, then they keep digging into architecture, technical decisions, trade-offs, impact, etc.
Onsite 4: XFN / Culture & Work
Mainly talked about teamwork, cross-functional collaboration, how I work, and the project I'm most representative of from my past experience. Also discussed how to collaborate with other teams, drive projects forward, and handle disagreements.
Overall the process felt pretty good, but I ended up getting rejected in the end — I can re-team-match though. My personal feeling is the main issue was in the Infrastructure round.
Discussion
Loading comments…