Overall, it was a very positive interview process with good communication and very engaged interviewers.
First step was a 90 minute take-home code challenge with three parts: a relatively easy algorithm, a database query, and an API request with JSON parsing.
Next step was 3, 1-hour interview sessions:
- Engineering manager interview, part behavioral and part live code challenge (easy/medium leetcode)
- Lead Engineer interview: half was a code challenge (build a binary search tree), which is very hard if, like me, you don't have a CS degree and haven't done enough grinding on leetcode yet. But the interviewer was super helpful and made it more of a pairing session instead of watching me flounder.
The other half was system design (a craigslist of sorts).
- Interview with Director of Engineering that was part behavioral and part database and architectural, with questions around AWS S3.