The complete interview process consisted of 5 rounds, all were video call with a hackerrank coderpad link.
Call with recruiter: General introduction and questions like why Yelp ? Salary expectation. They went ahead scheduled next round.
Initial Screening round: Coding
Problem solving and coding round. Question was similar to weighted random sample with follow ups and writing test function to prove that my solution was working.
Expectation was to come up with a working solution, run it on several test cases and prove that solution works since it is a non deterministic algorithm.
Asked some statistic based questions on p-value, chi-square test, scenarios where the above solution fails.
Virtual On-site
Round 2: Behavioural focussed on teamwork
Discussed a team project I did, in depth. What was your contribution ? How did you collaborate and coordinate with your team and other stakeholders ?
Disagreement with team members ? How were you mentored and helped by teammates ? Decisions you took and their impact ? Things you would do differently ?
Discuss your relationship with a teammember/manager that had a huge impact on you.
What do you look for in a job ? What are the most important things according to you in a company ?
Round 3: Behavioural focussed on individual projects and goals
Talk about a recent project you did and their impacts ?
Talk about the complete organizational structure at your company, focussing on product, engineering, infra and data science.
New technology that you picked up and used in project, what was the advantage of it.
Why Yelp ? Why do you want to change jobs ? Your aspiration and how you think Yelp can fulfill them.
If you had to change one thing about Yelp, what would that be ?
Round 4: Coding
Problem was a complex version of generating n-grams in a sentence given a set of n-grams to select from, with precedence given to higher order grams (for eg. giving preference to tri-grams over bi-grams).
The interviewer started with a simple problem on bi-grams and then moved on to a more genralized implementation. Expectation was to write a generic functional code which passes all test cases, and even come up with your own edge cases.
Write a test function for above code.
Round 4: Machine Learning Design
A recommendation based problem
The interviewer gave no leads or hints on where to start from and what to cover.
After several probing questions we decided to focuss on data, features, metrics and model contruction.
I started with business objective and metrics that we should track.
Moved on to what data we are capturing like user info, item info and interaction data.
Then feature generation from it.
Suggesting some recommendation approaches
First heuristic based LRU or Most frequeent caching based approach
Logistic Regression based
Content embedding and Collaborative based approach
Contextual Multi arm bandits
Some questions along the way:
Cold start users ?
New items ?
How will you handle bias towards popular items ?
Logictic regresion theory and regularization.
How will you evaluate model performance ?