I applied in Walmart Labs through employee referral, next day got call from HR and asked me to brief about my work and how much I am interested in relocating Bangalore. He informed they will schedule interview (Telephonic) next week.Whole interview process took one week to complete - 2 Telephonic followed by 5 F2F discussion.
Received feedback by next day and was asked to come for F2F discussion.
They provided flight tickets. It was one day event. Started early morning 6:00 AM from Hyderabad and came back Hyderabad by 11:30 PM. I had 5 F2F technical discussions at Walmart Labs office in Bangalore.
Round 4: 2nd F2F discussion (DS/Resume scanning)
2 Telephonic Technical Discussion
Round 1: 1st Webex/Telephonic discussion (DS Questions)- Find one triplet such that indexes are in increasing order so as values at index. Sorted subsequence of size 3 Follow up question to Optimize using one array since we have to find only one triplet not all.
- Find all nodes at distance k from a target node.
- Design a stack such that it provides push(), pop() and min( ) is in O(1). Use only Stack not any other Data structure.
- Design a app for "Restaurant table booking" : - Database Design (Various tables involved) and how they are related (UML/ER Diagram)- - What are APIs need to be exposed at high level - Flow of application - More stress on booking efficiently and - Handling various scenarios like how to maintain empty & vacant seats for multi-storage building of Hotels with tables.
5 F2F Technical Discussion
Round 3: 1st F2F discussion (Java/DS/Projects)- Project detailed discussion - In depth discussion of project I was working and my contribution. - Why this and that ? - Some other way to do ?
- Java Wrapper Class related question. What is importance of Wrapper class in Java ?
- Immutable class in Java and what is its significant in java ?
- Singleton class discussion and sample code. - Lazy and Early Initialization of Singleton - Double Checked locking sample code. - Holder pattern to create Singleton instance
- Files with multiple lines - two words passed as input. Find min distance between them
- Binary tree horizontal distance based question- print all nodes in sorted order of hd. i.e: Nodes at Horizontal distance: -3 -2 -1 0 1 2 3 (Used TreeHashmap instead of HashMap)
- Write sample code to generate all permutation of a given string. - Idea was to do iteration of all recursion and makes sure no mugged up.
- Find Longest palindrome in a string - Brute force solution to DP solution.
- Resume scanning understand where I have used which technologies
- Brief overview of project I am working on and some questions related to it. I mentioned, I have written parser for SQL Server using javacc and it uses Tree DS for iteration of nodes. Next question from DS.
- Find max sum at given level in given binary tree. (Level order traversal)
- Find sum of all nodes at given Horizontal distance. Display in descending order(HD: 4 3 2 1 0 -1 -2 ...)
- Regex implementation - match test or te*t or t?*t
- Java memory model changes in Java 8 - metaspace concept. What's its benefit ?
- What is Weak Reference - I was not good with answer for this question.
- What are other technology I have worked and where. - Spring AOP - Duck for me. Not worked with Spring
- Design pattern I have used and where. Also what are DP I know.
- Project which have done with good effort or some situation like this.
- Java provides some security mechanism to prevent attack via reflection- I could not answer properly. He was referring my blog, since I have written how to break singleton using Reflection.
- Project discussion and my contribution to it.
- Design a inventory system. - High level system design considering scalability and performance. - Discussion of distributed cache and how it's used. - Significance of Load balancer and its usages. - Database design, - How to achieve database abstraction (Today Relational DB, tomorrow may be NOSQL).
- How to handle large volume traffic request ?
- Some questions related to thread dump and profiling.
- A problem to solve - one XML is given with order nodes. Display sorted nodes based on id followed by order name.- I gave brute force solution. Restriction imposed : Not to use collection API for sort and No comparator.
- Project where you have worked makes you feel proud and follow up question regarding effort and code lines.
- Design a multi-threaded system which handles failure request, failure requests are updated in database. - My solution was to find hashcode of time-stamp of record and distribute failed record to multiple threads, a thread pool is maintained for specified number of thread.
- Next question what about if multiple servers are in picture - how to send request to handle by multiple server thread pool . -I suggested to use a load balancer and does pull request - read record from db and send to multiple server so not same record sent to two server.
- What is Implicit and explicit locking. How manual works for threads? Interfaces and Class used for implementing explicit locking.
- Design of distributed locking. - I suggested file based locking mechanism, jvm to jvm communication. - He asked what about db based locking. Could not explain properly.
- How to design a system such that - one type(kind/somePK) of data is always updated in sequence no dirty update. - I suggested map-reduce approach. - Time-stamp based approach.