Walmart | Software Engineer III | Interview Experience
Summary
I applied directly for a Software Engineer III role at Walmart and successfully navigated through three virtual interview rounds and an onsite manager connect, culminating in an offer after a 35-day process.
Full Experience
I applied directly on the career portal. A recruiter called to say that my profile was shortlisted for interviews for Software Engineer III - (Java with DevOps). She said that there will be 3 rounds of interviews, 2 virtual and the last round F2F in Bangalore. The first round was scheduled 2 days after the initial call.
Technical Round 1 (60 minutes)
Began with an introduction and asked why my project used microservices architecture instead of a monolith. Asked me how much I would rate myself in DSA. I said 8/10. He said he would give a medium question, then proceeded to give a variation of LC 295. Find Median from Data Stream.
After conveying my approach, I was instructed to code in Java and explain the time complexities. I fumbled a little while explaining how a heap data structure works internally. Then the last 15 minutes were questions from my resume.
- Which design pattern would you use to decide the object at runtime?
- Active-active vs active-passive architecture.
- How to make sure that Kafka publishes events in the same partition?
- Redis - Distributed cache working.
- What are Reentrant Locks? Can they work with different objects?
In the end, I asked about the tools used in his team and for feedback. The feedback provided was to answer questions in more depth rather than just high level. Honestly, I was expecting a rejection, but got a call from HR the next working day saying that I had cleared Round 1.
Technical Round 2 (60 minutes)
This round was scheduled for 3 days later from the latest call. However, I was not provided the competencies despite asking. So I mentioned the same on the day of the interview to the recruiter when she had called, so she provided the competencies for this round and said that we can move the interview to next week. So I had almost another week to prepare.
Below were the competencies provided to me:
- System Design
- Architecture & Design Patterns
- CI CD Adoption
- Application Security Knowledge
- NFR - Scalability, HA, DR, Resiliency
- Code and Design Reviews
- Virtualization (Docker, Kubernetes)
- Software Testing & Automation Skills
- Observability & Monitoring (Grafana, Prometheus, Splunk, etc.)
- DevOps Skills (Incident Management, Application support, Disaster Recovery & High availability)
I joined the call and waited for 20 minutes, but no one showed up. I emailed as well as called HR, but there was no response initially. Later, the HR called and said due to a prod issue, the interviewer was not available and asked if I was ready to attend in the evening. We agreed, and it was scheduled in the evening, but again the interviewer did not join. The HR apologised so much for the inconvenience, and the interview was moved to next week. After rescheduling 2 times, it finally happened. The round began with the interviewer pasting LC 41. First Missing Positive problem in the chat.
I began with the brute force solution using a HashMap, and before jumping to the optimal solution, the interviewer told me he was okay with the approach and told me to convert to a controller class, which has an endpoint in which you post the array and get the answer in the response. Afterwards, he told me to add some validations and throw an exception.
Seemed like he was fine and then moved on to some resume-based questions based on CI/CD (Jenkins, Build process), Kubernetes (Features of Istio, Service Mesh), SQL vs NoSQL, and then some Spring boot questions (@SpringBootApplication, @EnableAutoConfiguration, @Autowired, @PostContruct) and finally to write 1 SQL query based on GROUP BY and HAVING. The only problem was that I lost internet a couple of times during he call. In the end, I asked the interviewer what work he was doing and asked for feedback, where the interviewer said I had demonstrated strong coding skills, the only thing was to have a stable internet connection.
HM Round (60 minutes)
After 2 days, I got a call from a different HR stating that I had cleared round 2 and she would be handling my candidature now. This time as well, I had asked for the competencies for the HM Round. The hiring manager was from the Chennai location, hence it was a virtual interview.
Below were the competencies provided to me:
- Accountability
- Innovation & Problem Solving
- Planning & Improvement
- Continuous Learning
- Initiative
- Adaptability
- Teamwork & Collaboration
- Customer Centred
- Influence & Communicate
- Stakeholder Management
- Mentoring/Developing Team members
The round began with introductions, going through my resume and feedback from previous rounds. Then he proceeded with a few questions.
- How does your day-to-day activity look?
- What is the CI/CD process followed in your project?
- HLD design of Twitter. How to handle read-heavy cases in multiple regions?
- What is A/B testing? How would you set up its infrastructure?
- What is canary deployment?
- Discussion on the current project's functional and technical aspects.
- How to handle a conflict situation with your manager?
- A hypothetical situation where there is a mismatch between your architect's design pattern and your design pattern. The architect's design pattern seems to fail in production, and yours seems to work. What is the next step that you would take?
- How do you find time for learning/upskilling?
- Have you integrated AI into your day-to-day life? How do you leverage it?
The interview concluded with him asking some of my basic details, and we shared questions for each other. I asked for feedback, and he told me to always keep upskilling in today's world. Honestly, this round went okayish, according to me. However, after 1.5 hours, HR called to say that I had cleared the HM round as well. The HR then asked me to send some documents. Post that, she told me to visit the office the next working day.
Location Manager Connect (Bangalore)
This was the casual talk with the on-site manager of the team I would be joining. He spent some time diving into his experience with the different teams he worked on at Walmart. He also spoke about the team structure, what work I will be doing, and what the potential impact will be. At last, he was open to any questions, and I asked a few questions on the team's work and about how Walmart was structured (dot com, store, Sam's club, etc) on a high level. It was a good conversation.
HR Round (30 minutes)
The recruiter called after 4 days to discuss about the interview experience, offer and standard benefits in detail provided by Walmart. It took another 4 working days to generate the offer letter. The entire process took around 35 days.
Interview Questions (18)
A variation of LeetCode problem 295: Find Median from Data Stream. Design a data structure that supports adding new integers and finding the median of all elements stored so far. I was asked to code this in Java and explain time complexities.
Which design pattern would you use to decide the object at runtime?
Explain the difference between active-active and active-passive architecture.
How to make sure that Kafka publishes events in the same partition?
Explain the working principles of Redis as a distributed cache.
What are Reentrant Locks? Can they work with different objects?
LeetCode problem 41: First Missing Positive. Find the smallest positive integer that is not present in an unsorted array. I was asked to start with a brute force solution, then convert it to a controller class with an endpoint, add validations, and throw exceptions.
Discuss the differences and use cases of SQL and NoSQL databases.
Write 1 SQL query based on GROUP BY and HAVING.
How does your day-to-day activity look?
What is the CI/CD process followed in your project?
Provide a High-Level Design (HLD) for Twitter. Specifically, how would you handle read-heavy cases in multiple regions?
What is A/B testing? How would you set up its infrastructure?
What is canary deployment?
How to handle a conflict situation with your manager?
A hypothetical situation where there is a mismatch between your architect's design pattern and your design pattern. The architect's design pattern seems to fail in production, and yours seems to work. What is the next step that you would take?
How do you find time for learning/upskilling?
Have you integrated AI into your day-to-day life? How do you leverage it?