I interviewed for Staff Software Engineer role.
- Hiring Manager Screen (60 mins)
- Some Behavioral questions
- Questions related to my work experience, my role + impact
- 2-3 coding questions. They were pretty straightforward. I had to code up a linkedlist and add multiple apis to support use cases like Modify the list by removing all duplicates, reverse a sublist given a start and end index.
- Onsite
- Coding
- 1-2 Behavioral questions
- Stock question with follow ups. Given a list of stock prices find the max profit if at most 2 transactions are allowed. The interviewer wanted me to write the recursive solution first and then optimize it later. The follow up was to have max 'k' transactions. This is a standard dp problem. I explained a memoization approach which uses a HashMap as a cache instead of a 2D table.
- Coding
- 1-2 Behavioral questions
- Given a company hierarchy in the form of a binary tree, find the most relevant common department i.e. translates to Lowest common ancestor. Follow up discussion on what if the tree was an n-ary tree. Lot of discussions on optimization techniques.
- System Design
- 2 Behavioral questions
- System design problem prompt was pasted on the whiteboarding tool. It was a pretty complex system which included uploading, supporting a bunch of GET endpoints and aspects of orchestration. We discussed on the design choices, tradeoffs, scalability and monitoring aspects. There was a lot of discussion on security aspects, access controls etc. I did not have a lot of depth in the security related conversation. The interviewer probed me to get a signal on the understanding of security and access controls part since this team was related to these.
Hiring manager reached out in a week saying the feedback was positive and there was no need for an additional hiring manager round. He would like to extend an offer.
The hiring manager was the nicest person I met so far. I enjoyed all the conversations with other interviewers. There were some hiccups in one of the coding interview related to language, which I raised to the hiring manager in case if there was a no-hire from that round, but there wasn't.
Preparation Post: https://leetcode.com/discuss/post/7368458/coupang-intuit-salesforce-oracle-c3ai-se-n0gq/