Walmart | SDE III | Bangalore | Interview Experience
Summary
I successfully navigated a four-round interview process for the SDE III role at Walmart in Bangalore, ultimately receiving an offer after 20 days. The experience covered DSA, Core Java, Hiring Manager discussions, and HR interactions.
Full Experience
I applied for the SDE III role at Walmart in Bangalore through a referral. My profile included a B.Tech from a Tier 1 college and 2.6 years of experience.
Round 1: Data Structures & Algorithms (DSA)
This round focused on coding. I was asked to find an element in a reverse sorted array, which I solved using binary search. The follow-up involved handling duplicate elements, and while I proposed some approaches, I couldn't implement an optimized solution on the spot. The second question was Course Schedule I, which I successfully solved using topological sort.Round 2: Core Java
This round delved deep into Java concepts. I explained singleton classes, their real-life use cases, and wrote the code. We discussed keywords likefinal, static, and transient, though I wasn't familiar with transient at the time. I explained how to make a class immutable, error handling (checked vs. unchecked exceptions), and the nuances of empty catch blocks and their use in static methods (where I admit making a silly mistake). Deadlocks, their explanation, and prevention were also covered. A multithreading problem involved writing code to increment an attribute by two threads until it reached 5000. Further questions included AtomicInteger, the String pool, thread join, thread pool concepts, and the difference between Hashtable and ConcurrentHashMap. I was more prepared for HashMap vs. Hashtable and missed this specific difference. The interviewer was very supportive throughout.
Round 3: Hiring Manager (HM) Interview
This round, scheduled for an hour, concluded in 30 minutes. It started with questions related to my resume and a discussion on my current project. We touched upon threading and heap dump-related questions. A key discussion point was API optimization: how to optimize an API that makes multiple API calls, checks a cache, and finally queries the database. The behavioral question was about why I wanted to leave my current company. The round didn't go exactly as I had prepared for different topics, but the hiring manager was very chill, and fortunately, I received positive feedback.Round 4: HR Interview
This round consisted of general behavioral questions. There was no discussion about compensation at this stage.Outcome
I received the offer letter after 20 days. The offer was a bit low since I didn’t have any other competing offers, but I accepted it, though I plan to explore other opportunities.Interview Questions (14)
Given a reverse sorted array, find a specific element. Follow-up: Handling duplicate elements.
The standard 'Course Schedule I' problem from LeetCode.
Explain singleton classes, their real-life use cases, and provide code implementation.
Explain the purpose and usage of final, static, and transient keywords in Java.
Describe the steps and principles to make a class immutable in Java.
Discuss Java error handling, specifically the difference between checked and unchecked exceptions.
Discuss whether a catch block can be left empty and if exception handling can be used within a static method.
Explain what deadlocks are in concurrent programming and discuss methods to prevent them.
Write code for a multithreaded scenario where an attribute needs to be incremented by two threads until its value reaches 5000.
Explain AtomicInteger and the concept of the String pool in Java.
Discuss Thread.join() and thread pool concepts in Java multithreading.
Explain the differences between Hashtable and ConcurrentHashMap in Java.
How to optimize an API that performs multiple API calls, checks a cache, and then queries a database.
Explain your motivations for seeking to leave your current company.
Preparation Tips
My preparation involved practicing Data Structures & Algorithms, where I focused on concepts like binary search and topological sort. For the Core Java round, I specifically watched Shreyansh Jain’s Java videos on YouTube at 3.5x speed the day before the interview, which proved immensely helpful in answering many of the technical questions.