Just finished interviewing this week. Not a great experience. The whole process was rocky — I got re-matched to a different team several times, and there were two months between the phone screen and the onsite. Security & Service org. It felt like they just wanted to go through the motions, not like they actually wanted to hire me. Round three with the hiring manager was especially bad — I've never felt like that in an interview before.
L6 is five rounds, one hour each. You don't know ahead of time what each round actually is (behavioral or system design) — the recruiter won't tell you. The second day was three hours back to back, and the recruiter didn't schedule any breaks. When I asked about it, I was just ignored.
Round 1 (Coding — OOD? Problem Solving?)
This was a manager from a neighboring team who'd been there many years. Two behavioral questions, then the coding question: write code for a Uber/Lyft-style price calculator, but with requirements to maximize the company's gain while also ensuring fairness. I was pretty lost on this one — I didn't know what he actually wanted. I asked some clarifying questions and got almost no answers back, just "this is your code, you make your own assumptions." So I went ahead and assumed things like it was an OOD problem. Partway through he cut me off and said my assumptions were wrong, then started piling on more requirements — like how to price it if someone wants to carpool, and so on. By the end I could tell he was pretty unhappy, and he told me what he'd expected: that my code should have started with a whole pricing strategy system, that after a user's request it should return a set of routes for the user to pick from, then calculate the price based on the route and other factors, etc. Listening to all that, it basically sounded like a system design problem that he wanted written as code. Anyway, I was completely lost and had no idea what he was actually looking for.
Round 2 (Coding)
This was a senior engineer (L7) from another team. This round was a good experience — a properly scoped problem, straightforward communication, everything flowed well. The question: given a user access log, parse it to find which users are repeat visitors (i.e. visited on more than one distinct day).
Round 3 (Coding)
The hiring manager interviewed this round, and the experience was really bad. He seemed completely unprepared — kept stumbling over his words, looking around the room, and cut me off constantly during the behavioral portion, rudely. And the thing is, he pulled out a big pack of gum right in front of me and started chewing it. I was stunned for a solid three seconds. Over the whole interview he went through three pieces of gum, chewing while he talked. By the halfway point I was already thinking that even if this lousy team's manager gave me an offer, I wouldn't really want to take it. The coding question was also basically an OOD problem — something like top-k products, but events come in as a stream and your method has to return the real-time top-k products. I finished it and walked through the complexity analysis; he said he had more to ask but ran out of time.
Round 4 (Bar Raiser, pure behavioral)
The bar raiser was from a different team — a fairly senior manager. He seemed pretty normal. The conversation went reasonably well.
Round 5 (System Design)
An interviewer from a neighboring team. Both the behavioral and system design portions went okay. The design prompt was a risk management system — essentially a ticket system where users can create and edit tickets, and a risk-scanner bot can also file tickets, with users able to pull a monthly report. It felt pretty smooth; I mostly drove the conversation myself, and whatever points the interviewer raised got resolved quickly.
Two days later I got a call from the recruiter saying I didn't get it, and they couldn't give specific feedback. They said it was mainly the coding (round one, I'm guessing?) and some leadership principles. I felt absolutely...
Discussion
Loading comments…