Walmart | SDE III | Bengaluru | June 2024 [Offer]
Summary
I successfully interviewed for an SDE III role at Walmart in Bengaluru in June 2024 and received an offer. The interview process included rounds focused on DSA, Java/Low-Level Design, and a Hiring Manager discussion.
Full Experience
I recently interviewed at Walmart for an SDE III position in June 2024. I am currently working at a product-based company and have 3 years of experience. The interview process consisted of three main rounds, culminating in an offer.
Round 1 (DSA or Problem Solving Round)
This round was focused on data structures and algorithms. I was given several problems to solve and was allowed to use any IDE for execution. The interviewer actively assessed my responses and generated test cases based on my solutions. I was also asked to write the code for creating linked lists and binary trees for the problems.
- Remove duplicate nodes from a sorted linked list.
- Merge two sorted linked lists.
- Find the largest width of a binary tree.
- Perform a left boundary traversal of a binary tree.
- Create a binary tree using preorder and inorder traversal.
Round 2 (Java + LLD)
This round delved into my Java knowledge and Low-Level Design (LLD skills). The questions were quite in-depth, often with follow-ups based on my initial answers.
- What happens behind the scenes when we click the run button in IntelliJ to start our application?
- A detailed discussion on Exception Handling in Java, covering various mechanisms and best practices.
- In-depth questions on Object-Oriented Programming (OOP) Principles, with deep dives based on my responses.
- Questions on SOLID Principles: I was asked to design and write a service adhering to SOLID principles. The interviewer focused on my design choices, the reasoning behind them, annotations used, and how I would add additional features while maintaining SOLID compliance.
- There was also a question aimed at assessing my ability to create separate classes and define relationships between them effectively.
Round 3 (Hiring Manager Round)
This was a standard hiring manager round where we discussed my projects in detail. I was asked about the biggest technical challenges I've faced in my career and how I approached them. There were also several behavioral questions and some decision-making problems or riddles.
Interview Questions (11)
Given the head of a sorted linked list, remove all duplicate nodes such that each element appears only once. The resulting linked list should also be sorted.
Given the heads of two sorted linked lists, list1 and list2, merge the two lists into a single sorted list. The list should be made by splicing together the nodes of the first two lists.
Find the largest width of a binary tree. The width of one level is defined as the length between the leftmost and rightmost non-null nodes in the level. If only one node exists on a level, its width is 1. Null nodes between the leftmost and rightmost non-null nodes are considered part of the width.
Perform a left boundary traversal of a binary tree. This involves printing all nodes that form the left boundary of the tree (from top to bottom), then all leaf nodes (from left to right), and finally all nodes that form the right boundary (from bottom to top), without duplicating nodes.
Given two integer arrays, preorder and inorder, where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, construct and return the binary tree.
Explain the step-by-step process and underlying mechanisms that occur when you click the 'Run' button in IntelliJ IDEA to start a Java application, from compilation to JVM execution.
Discuss the various mechanisms for exception handling in Java (e.g., try-catch-finally, throws keyword, custom exceptions). Elaborate on best practices for effective and robust exception management in application development.
Discuss the four core principles of Object-Oriented Programming: Encapsulation, Inheritance, Polymorphism, and Abstraction. Provide real-world examples and explain their importance in software design.
Design and implement a service demonstrating adherence to all five SOLID principles. Be prepared to justify your design choices, explain the reasoning behind them, discuss any annotations used, and illustrate how new features can be added while maintaining SOLID compliance.
Explain how to effectively design separate classes and define appropriate relationships between them (e.g., association, aggregation, composition, inheritance) to create a modular, maintainable, and scalable software system.
Describe the biggest technical challenge you have faced in your previous roles. Elaborate on the problem, your approach to solving it, the decisions you made, and the final outcome or impact.