Motive (Keep Truckin) | INTERVIEW EXPERIENCE | Staff Engineer
Summary
I interviewed for a Staff Engineer position at Motive, which consisted of five technical rounds covering High-Level Design, LeetCode coding, and a practical real-world coding challenge. Despite my efforts and confidence in most rounds, I ultimately received a rejection after a prolonged 1.5-month process without any specific feedback.
Full Experience
My interview process at Motive for a Staff Engineer role comprised five rounds.
The first round was with a Hiring Manager, focusing on High-Level Design for a movie ticket booking system. We discussed components like the availability and pricing engines. I felt I performed well, though the interviewer's intense questioning made it feel like a FAANG interview.
The second round involved two LeetCode medium problems: one to find a triplet whose sum equals a target (with a constant space constraint, though I don't recall the exact problem), and the other was Best Time to Buy and Sell Stock. I managed to solve both optimally and coded them effectively.
The third round also featured two LeetCode medium coding questions: Valid Parenthesis String and Group Anagrams. Again, I provided optimal solutions and coded them well.
The fourth round was another High-Level Design discussion, this time on load handling, logistics, scheduling pickups, and capacity estimation, drawing parallels to Uber's design challenges. I felt I did well, and the interviewer seemed satisfied, despite some initial ambiguities in their questions.
The fifth round was a real-world coding challenge, described as an LLD problem where I was allowed to use the internet (but not AI). This was the most challenging round; the interviewer spent 30 minutes on my past project tech questions before presenting three APIs to implement within an hour. I successfully coded one of the APIs, but overall, I felt this interviewer was unprofessional and potentially jealous.
After the interviews, the process took 1.5 months. I followed up with the recruiter multiple times but received no concrete feedback, eventually getting a rejection email without explanation. I found the entire process frustrating, identifying several red flags, particularly the LLD round. I wouldn't recommend others waste their time with this company, especially those on a notice period, as they don't expedite the process.
Interview Questions (10)
Design a high-level system for a movie ticket booking platform, including discussions on the availability engine, price engine, and other relevant components.
Given an array, find a triplet of elements whose sum equals a specified target. The problem required a solution with constant space complexity.
Given a string s containing only three types of characters: '(', ')', and '', return true if s is valid. The validity rules are: 1. Any left parenthesis '(' must have a corresponding right parenthesis ')'. 2. Any right parenthesis ')' must have a corresponding left parenthesis '('. 3. Left parentheses '(' must appear before the corresponding right parentheses ')'. 4. '' could be treated as a single right parenthesis ')', a single left parenthesis '(', or an empty string. An empty string is also valid.
Design a high-level system for load handling and logistics, including aspects like scheduling pickups and estimating capacity for loads. The interviewer suggested leveraging concepts from Uber's design.
Write a method to call the Nominatim API and return an address for a given pair of longitude and latitude. API documentation: https://nominatim.org/release-docs/develop/api/Overview/
Write a method to read a CSV file (from https://raw.githubusercontent.com/kelvins/US-Cities-Database/main/csv/us_cities.csv) and return the house_number. Note: The provided CSV file does not contain a 'house_number' column, suggesting the problem might have intended to extract a different field like 'name' or 'city'.
Write a method to calculate the route between two cities using the OSRM API. The cities can be sourced from the data parsed in question #2. API documentation: http://project-osrm.org/docs/v5.23.0/api/#route-service
Build REST APIs to expose the functionalities implemented in the previous three methods (Nominatim geocoding, CSV parsing, OSRM route calculation).
Preparation Tips
For my preparation, tackling LeetCode problems, especially those categorized as medium difficulty, proved very beneficial for the coding rounds. The system design interviews greatly leveraged my existing knowledge in High-Level Design, particularly my understanding of logistics and ride-sharing platforms like Uber. I focused on common design patterns for availability, pricing, and load management.