Hey all,
Wanted to give back to community. There were 4 rounds: 1 pure LC coding, 1 System Design, 1 Behaviour, 1 Manager/Leadership. Coding/System design was an hour each, Behaviour/Manager was 45 minutes.
Round #1: Pure LC Coding
- Q: https://leetcode.com/problems/basic-calculator-ii/
- I've never seen this question before, so it took awhile to solve it. Eventually, I got to it. However, hit some edge cases with negatives starting at the beginning.
- Overall: Felt okay. Interviewer was satisfied (from what they were saying).
Round #2: System Design
- Q: Design Ebay
- Requirements / Assumptions/ Constraints
- Asked specifically what we were designing.
- User can login, view items, add items to shopping cart, and purchase items.
- Needed to handle transactions (also transaction history), updating of inventory, and a shipping service
- Asked about the users, how many we should expect, etc.
- High-Level
- Talked about data flow from both customer's perspective and internal perspective
- Talked about all the APIs we were going to need (GET item, UPDATE item in DB, GET previous transactions, etc)
- Talked about the DB and all the tables: Inventory, User, Transaction, Shipping
- Talked about 4 main services: Shopping Cart, Transactions, Items (Searching/querying and displaying items to users), and Shipping
- Low-Level
- We spent majority of the time talking about the APIs and the DB. Talked about what type of DB should we use, what about for querying/searching of items (SOLR). How will we handle multiple updates to the table/DB.
- Talked about the shopping cart -> transactions -> shipping workflow. How will these services interact with one another? How will we know when to move onto the next step? How do we let the customer knopw what step we're at?
- Overall: Felt good. Interviewer was super active and felt like we were solving this together.
Round #3: Behaviour
- Typical
Tell me about a time... questions. However, they were all centralized to Rivian's values. They mentioned to me that there will be 5 sections.
- Overall: Felt good. Interviewer was really well trained and asked a lot of deep diving questions. Enjoyed this round.
Round #4: Manager/Leadership Round
- Typical
Tell me about a time... but revolved around leadership skills. Talked about pitfalls, challenges, conflicts of being a lead.
- Overall: Felt really good. This round was super fun, talked a lot about how we handled these situations as well as how can we do better next time. I really felt like this round was to see if you're a decent human being lol
Overall: Felt good about this process and the team.