Walmart SDE 3 Java
Summary
I interviewed for an SDE 3 Java role at Walmart, undergoing three rounds that covered a range of technical topics including Data Structures & Algorithms, Low-Level Design, System Design, Java concurrency, SQL, and API implementation.
Full Experience
Round 1 -
Right view of tree Given input string, create groups of these which are anagram of each other Remove duplictes from linked list Graph , trie basic alogirthms
Round 2 -
tic tac toe lld synchronized vs static synchronized sharding, indexing singleton design pattern basic sql query using group by
Round 3 -
Implement CRUD and write rest controller for customer management in notepad with proper annotation and syntax
Some Common Managerial questions
Interview Questions (9)
Describe or implement an algorithm to get the right view of a binary tree.
Given an array of strings, create groups where each group consists of anagrams of each other. For example, given ['eat', 'tea', 'tan', 'ate', 'nat', 'bat'], return [['eat', 'tea', 'ate'], ['tan', 'nat'], ['bat']].
Given the head of a singly linked list, delete all duplicates such that each element appears only once. The linked list should be returned with unique elements.
Design a low-level object-oriented system for a Tic-Tac-Toe game, considering classes for Game, Board, Player, Cell, and their interactions.
Explain the difference between using the synchronized keyword on an instance method/block versus a static synchronized method in Java, regarding locking mechanisms and scope.
Explain the concepts of database sharding and indexing. Discuss their purpose, how they work, and their advantages/disadvantages in system design context.
Explain the Singleton design pattern. Provide an example implementation in Java, and discuss common pitfalls or variations (e.g., lazy initialization, thread-safe implementation).
Write a basic SQL query involving the GROUP BY clause. For example, find the count of orders for each customer from an 'Orders' table, or average salary per department from an 'Employees' table.
Implement a basic REST controller for customer management (Create, Read, Update, Delete operations). The implementation should be done in a text editor (like notepad), focusing on correct annotations and syntax for a Java Spring Boot application (or similar framework).