1. Background
I got a referral, and as soon as the role opened they scheduled a call directly. (My personal takeaway: right now applying early matters more than being strong.)
Timeline:
- 01/13 Applied
- 01/15 Recruiter call
- 01/15 OA
- 01/28-01/29 Four rounds of virtual onsite
- 02/06 Verbal offer
2. Interview Experience
Recruiter call
Simple questions about my background, how long I've been working, what this role is about, and why I applied.
OA
All easy questions, and no screen recording or anything like that.
The four onsite rounds were: Hiring Manager, System Design, Coding, and API/Database Design.
Coding
Just LeetCode 79, with a follow-up on the in-place marking optimization and working out the complexity.
System Design
A bit unconventional, two questions.
In a Docker cluster:
- how does the http request get to the pods in the cluster
- what if a request fails between pods
- service registry
- load balancer
- retry with backoff
Mainly asked about the basic flow of service registration and service discovery — anyone with distributed systems experience should find this pretty familiar.
DB upgrade
┌─────────────────────┐
│ Application │
│ (API / Web Servers) │
└─────────┬───────────┘
│
┌─────────▼───────────┐
│ Database │
│ ┌────────────────┐ │
│ │ Primary DB │ │
│ │ (Writes) │ │
│ └──────┬─────────┘ │
│ │ Replicates │
│ ┌──────▼─────────┐ │
│ │ Secondary DB │ │
│ │ (Reads) │ │
│ └────────────────┘ │
└─────────────────────┘
We need to perform a major version upgrade (for example, from v13 to v15). How would you approach this?
Honestly the question was pretty vague — like how is the application layer split, is it sharded? You have to ask follow-up questions yourself to pin that down.
In the end it's just the overall process: migrating the data, whether to do dual writes, how to cut over traffic, how to roll back, whether to take downtime, cost, and trading off consistency against business impact.
Hiring Manager
- The recent AI project
- The most complex project
- The biggest technical decision
- What observability the project had
- Any interesting findings based on the observability
- Any mentoring or coaching experience
API/Database Design
Design an API for a guest to book a trip.
Talked broadly about RESTful API design.
For the data model there are two implementations: day-inventory style and range/interval style. Discussed the pros and cons of each. Went over fields and indexes at a high level.
Follow-up: to support extending the order (supporting renewal), what changes would be needed to the API and the data model.
Discussion
Loading comments…