Coupang USA L6-1 Offer
Summary
I interviewed for a Staff (L6-2) position at Coupang USA, which eventually led to a verbal offer for an L6-1 role after a follow-up system design round. Unfortunately, the written offer was rescinded due to H1 transfer policy changes.
Full Experience
I went through an interview process with Coupang USA for a Staff (L6-2) position. The process involved a phone screen followed by a full onsite loop and a subsequent follow-up system design round.
Phone Screen (60 mins)
- Two behavioral questions.
- One standard coding question, followed by an in-depth discussion on its system design aspects, including scalability for a fleet of servers.
Onsite Interview
Bar Raiser Round
This round was an in-depth conversation about my experience, project design discussions, and several behavioral questions. The interviewer was quite thorough, really grilling me on my answers. I learned the importance of thinking carefully before speaking and being ready for extensive follow-ups. I received a Strong Hire for this round.
First Coding Round
I faced two behavioral questions and one standard coding question: 'Sort Colors'. The interviewer had a specific preference for a one-pass solution without using a map, even though my initial approach had the same time and space complexity. This felt a bit unusual, as it seemed to test memorization rather than problem-solving. I was rated a Weak Hire for this round.
Hiring Manager Round
Similar to the Bar Raiser round, this involved standard behavioral questions like 'What is the hardest project you've done?', 'What was your role?', and 'How do you resolve conflicts?'. This interview ended quite quickly. My background and highlighted project were research-based, focusing on building an MVP, while the hiring manager and bar raiser seemed to be looking for typical distributed systems experience with challenges around scale. I explicitly mentioned my project lacked these, having mostly non-technical challenges which I tried to frame for a 'Staff' level. The hiring manager realized the mismatch and ended the coding discussion within 15 minutes, with the remaining time spent chitchatting. Despite this, I received a Strong Hire.
Second Coding Round
This round included two behavioral questions and two coding problems. The first question involved finding the minimum connections to join networks of friends represented by a grid, which I solved with a simple BFS. With 15 minutes remaining, the interviewer presented another problem: given a grid of 1s and 0s, find the number of distinct shapes. For example, a provided grid example returned 2 for an 'L' shape and an inverted 'L' shape. I received a Strong Hire.
System Design Round
I also had two behavioral questions in this round. The main task was to design a ride-sharing app like Uber. Although the question seemed straightforward, the interviewer expected much more depth than I provided. Looking back, I believe my communication wasn't strong enough, and my answers lacked conviction. I was quite disappointed with my performance here and received a No / Weak Hire for L6-2.
After these rounds, the recruiter informed me that the feedback was mixed, with my weak hire in coding and the system design round being flagged. They wanted a follow-up on System Design.
Follow-up System Design
This round also began with two behavioral questions. The problem given was to design a blob storage service similar to S3. I hadn't encountered such a problem before, so it was challenging. However, the interviewer was very helpful, course-correcting me when I took wrong paths. It felt like a truly collaborative session. We discussed DynamoDB extensively, including its replication and partitioning mechanisms. While it was a good learning experience, I ultimately did not meet the Staff (L6-2) bar. However, I received a Strong Hire for L6-1.
The recruiter reached out shortly after to confirm if I was open to relocating to Seattle, and once I approved, they gave me a verbal offer for the L6-1 position. Just before our call to discuss the official offer, the recruiter mentioned that Coupang had paused all offers requiring H1 transfer due to a government shutdown and uncertainty around a 100K fee. This was unfortunate, as I never received the written offer letter, despite the numbers being very good for Seattle.
Overall, the recruiter and interviewers were pleasant to work with. However, the last-minute rescinding of the offer left a sour taste, especially since no other companies I interviewed with cited this reason. I suspect there might have been other underlying reasons the recruiter didn't share.
Interview Questions (5)
Given an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white, and blue. I was specifically asked to code this in one pass without using a map.
Given networks of two friends represented by a grid, find the minimum number of connections required to join these distinct networks into a single connected component. This problem can be solved using a simple Breadth-First Search (BFS).
Given a grid consisting of 0s (water) and 1s (land), find the number of distinct shapes of islands. Two islands are considered the same shape if one can be translated to match the other. For example, in the grid [[1,0,0,0,1,1],[1,1,0,0,0,1],[0,0,0,0,1,0],[0,0,0,0,1,1]], there are 2 distinct shapes: an 'L' shape on the top left and an inverted 'L' on the top right.
Design a ride-sharing application similar to Uber. The interviewer expected significant depth in the design, covering aspects such as user and driver management, matching algorithms, real-time location tracking, fare calculation, notification systems, scalability, and reliability.
Design a highly available and scalable blob storage service similar to Amazon S3. The discussion involved topics like distributed file systems, data replication strategies, partitioning mechanisms, consistency models, and fault tolerance. We specifically delved into concepts like DynamoDB, its replication, and partitioning mechanisms as part of the solution.