Round 1: Online Assessment
Questions:
-
LRU Cache Implementation: The task is to implement an LRU (Least Recently Used) cache with a given capacity. The cache supports two operations: put to insert or update a key-value pair, and get to retrieve a value for a given key. If the cache exceeds its capacity, the least recently used element should be removed. The challenge requires both operations to have O(1) time complexity.
-
Maximizing Pooled Money with Conflicts: This problem involves selecting members from a group of 8 to maximize their pooled contributions. However, some members have conflicts (cold wars), meaning if one goes, the other cannot. The task is to find the maximum possible pooled amount by considering valid subsets of members without conflicting pairs.
Entire Problem statement link: Pastebin
Candidate's Approach
- Implemented LRU Cache using a combination of a hash map and a doubly linked list to achieve O(1) time complexity for both operations.
- For the second problem, used a backtracking approach to explore valid subsets while keeping track of conflicts.
Interviewer's Feedback
No feedback provided.
Round 2: Take Home Assignment
Questions: The assignment included developing a scalable logistics platform that links users and drivers for transporting goods, capable of handling 10,000 requests per second across 50 million users and 100,000 drivers globally. It features user access for booking and tracking, driver job management, and admin oversight of fleet and data. The system must efficiently manage real-time GPS data and vehicle matching. Deliverables include an operational application, architectural and ER diagrams, a system explanation document, and a video demonstration, focusing on scalability, performance, and functionality.
The entire Problem statement link: Notion
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3: Technical Round
Questions:
- Find first duplicate number in an array with minimal index: Link (solved)
- Find sum of the digits of a given number (solved)
- Questions about Go programming language:
- Why do you like Go?
- What are channels?
- What are Go routines?
- Read a file line by line and use Go concurrency to make the call asynchronous.
- Provide a high-level design (HLD) of a checkout functionality in e-commerce platforms.
- Discuss the CAP theorem and which two characteristics to consider in a payment service, along with eventual consistency.
Candidate's Approach
- Solved the first duplicate number problem using a hash set to track seen numbers.
- Implemented a simple loop to calculate the sum of digits.
- Explained Go's concurrency model and provided a solution for reading files asynchronously using goroutines.
- Discussed HLD for checkout functionality focusing on user experience and system interactions.
- Provided insights on CAP theorem and eventual consistency based on previous experiences.
Interviewer's Feedback
- The interviewer seemed satisfied with the responses, especially regarding the CAP theorem and eventual consistency.
Round 4: Cultural Round
Questions:
- Introduction
- Tell me about your previous internships.
- What is the most impactful thing you have done till now, and any failures you had?
- What was the remote setting experience for you in your previous internship?
- Thoughts on remote work and difficulties faced, along with solutions.
- How would you approach an extremely tough task with a near deadline?
- Where do you keep yourself updated with the latest technological trends?
- How will you scale a system for 10,000 users?
- Why do you want to work at Atlan?
Candidate's Approach
- Discussed previous internships and impactful experiences.
- Shared thoughts on remote work challenges and solutions.
- Explained the approach to tackling tough tasks under pressure.
- Mentioned resources for staying updated with technology trends.
- Admitted to not focusing enough on Atlan's products and values in the final question.
Interviewer's Feedback
No feedback provided.