Status: 2 Years experience
Position: IC2 at Yelp
Location: London [Remote]
Date: November 2021
Process is - Recruiter Call - Online Test - Phone Screen - Onsite [Virtual] - Offer
Overall this process took 1 month start to end !
Online Assessment
1 Question - Algorithm [60 mins]:
Really easy problem just required basic data structures knowledge of hashmaps and sorting Phone Screen
1 Question - Algorithm [45 mins]:
Very nice engineer explained a problem with payments system and asked for an algorithm to identify broken transactions for customer names, I thought trie first but realised again hashmap is enough, follow up was related to character matching where I brought up the trie again but was told I dont need to code it, after that just discussed life at Yelp for a bit. Onsite
After the phone screen I was told the onsite would be 4 rounds, 2 tech 2 behavioural, I had Algorithm then 2 behavioral and then system design to end
Round 1 Algorithm
Problem was about matching customers to specific sites they want to go to, and finding a way to allocate x number of customers to y sites, I used a heap to solve and then there was a follow up which was like a max/min flow problem but she said dont code lets just talk about it. Really fun round and great interviewer.
Round 2 behavioural
Focused on situations I had been in at work and challenges faced, mostly about the individual. Again interviewer was really nice
Round 3 behavioural
Focused on team realted situations, and interests about the job, company and future goals. Nice guy and very interesting tech disucssions on distributed systems.
Round 4 System Design
Quite challenging I was asked to design a system to allow yelp companies to book and invite yelp users to their venue, I had to support multiple companies doing this with multiple users and design for the date it was to be set ( which could be changed ) and a way to give priority to certain events the company may have, e.g a famous person booking they are doing or a wedding vs a general booking for frequent customers. My interviewer was okay but focused a lot around data and she really wanted to deep dive on it compared to my overall design first, they we talked about data consistency and partitioning along with managing a lot of requests for booking and sending the notifications to the users as well as showing important ones on the company Yelp page ! 2 weeks later I recieved the offer, I also got offers from Microsoft/Bloomberg and Expedia so used them to negotiate a really good offer at Yelp
Overall the engineers at Yelp are really nice and I liked everyone I met a lot. Some really interesting tech going on there. I am currently waiting on my Snapchat, FB and Jump Trading onsite results but if I dont get them then I am gonna join Yelp.
Preparation:
I have done around 700+ Leetcode questions multiple times so tech rounds were easy, I did grok and primer on github for system design but even then the system design round was tough, just keep talking and dont give up !
Having other interviews really helps as you dont put all the eggs into 1 basket
Competing offers are a must, Yelps opening offer was good but with competing offers I was able to make it even better.
Leetcode Premium is worth it but only for 1 month not yearly, I made a mistake getting a year one when I really only needed a few weeks to do all the premium questions
Finally keep in mind a lot of luck is involved, I narrowly missed Google this year and wanted to stop, then thought I failed Yelp on system design but ended up getting an offer, also its surprising which companies will offer you the most I expected Microsoft to be able to out bid Yelp and Bloomberg but actually they were my top 2 offers so far.
Just keep on going and treat each rejection as a learning opportunity ( I failed a lot of interviews over the past 2 years at a lot of "easier" places like Cisco and Capital One in the early rounds but made it to onsites at Google/FB/Jump trading later )