Work Experience: 2 months SDE Intern
Position: Software Engineer II Walmart
Location: Bangalore, India
Date: 23rd Sept 2020
This was On-Campus hiring for Full Time and 6 Months Internship.
Only students from circuital branches could apply for the position.
Process :
1. Online Test:
It was a 1hr test held on the HackerEarth platform. The total marks were 100.
It had 2 sections, one was MCQ(50 marks) and the other was Coding(50 marks).
The first section had questions on Aptitude, Operating Systems, Database Management, and Computer Networks. A total of 25 questions were present each of 2 marks each.
The second section had 1 medium-hard level coding question.
I was able to score 45/50 in the coding round.
17 people were shortlisted after this round
2. Tech Interview 1:
It was 1hr 15 mins Round held on Zoom where the interviewer asked me questions on OOP, OS, DBMS, and System Designs.
A few of the questions where what is Polymorphism and its type. Difference between Abstraction and Encapsulation. Difference Interface and Abstract class, Inheritance and its type, why the static keyword is used what is Freind class, the function of the copy constructor.
Difference between Primary and Secondary Memory, What is a Processor, Define paging, Virtual Memory, Swapping, Threads, Difference between Thread and Process, MultiTasking, and MultiProgramming difference, Internal and External Fragmentation.
What are the types of Indexing - (Primary, Secondary, Clustered), B and B+ Trees, Why Normalization and its types, ACID Property, Transaction States, SQL, and NoSQL Difference, Foreign Key?
The Interviewer also asked me if I know System Design and I said I was not that comfortable with that.
Allover I tried answering all the questions I knew and told him that I don't know a particular solution if I had some doubt or no idea about the question. The interviewer was not that friendly.
12 people were shortlisted after this round.
3. Technical Round 2:
This was a 45 minutes Round held on Zoom with a Software Engineer who was working with Walmart for the past 2 years.
2 DSA questions were asked.
The interviewer asked me to tell something about myself. Then he gave me 1st question.
It goes something like this:
Given an array of integers, an element at index i is said to be special if the new array formed after removing that element was equally weighted. An array is said to be equally weighted if the sum of all odd indexed elements is equal to that of the sum of all even indexed elements. We need to find the count of all special elements in the array.
Firstly, I gave him an O(N^2) Time and O(1) Space Brute Solution, which was iterating array for every index i and checking if the element at i is special or not.
Then, I optimized it to a solution with an O(N) Time and O(N) Space Complexity, where I am maintaining 2 arrays where the ith element of the first array denotes the sum of odd index elements with index less than i and the second one was similar array for even index sum.
I told him that using this, I can find whether the ith index element is special or not in O(1).
He then asked me to optimize the space. After thinking for a while, I came with a solution with an O(N) Time and O(1) Space Complexity. Where I used 4 variables- curr_oddsum, curr_evensum, rem_oddsum, rem_evensum, and told my approach. He was satisfied with my approach and then asked me to code the last approach. I shared my screen and coded it in an editor.
After that, he asked me to rate myself in DSA. I said to him I would rate myself 6-7 / 10.
Then he asked me to explain LCA. I used the zoom's whiteboard to explain the same. Then I told him 2 approaches for the same. 1st where you just store the 1st parent for every node, make find the levels of the 2 nodes whose LCA needs to be found and start traveling towards the parent until both have the same level and then simultaniously finding parents until the nodes become same...
Then I also explained the Binary Lifting method. He was very convinced with me. He then told me to code out the first approach. I did it. Then there was a general discussion regarding what I do in my college and some off-topic conversation.
This Interviewer was very friendly and helped me at points where I got stuck.
8 people were shortlisted after this round.
3. MANAGERIAL ROUND:
This was a 45 minutes Round held on Zoom with a senior product manager.
I was first asked to tell something about yourself. Here I also mentioned my hobbies. The Interviewer was excited to know I like cooking. Then she asked me about the project I did in my previous Internship. I explained it to her in about 5 minutes then she asked me how was your internship and how did you felt working in a corporate environment. Then she gave me a situational problem and how would you solve the problem. Then she asked me where do you see yourself in a couple of years. Why do you want to be a part of Walmart? She asked me what my friends think about me, what my parents think about me and how would you introduce yourself in 3 words.
During the whole interview, I told her that I like doing competitive programming so she at the end asked me what competitive programming is? Then she asked me if I had any questions for her? I asked her 2 questions one of them was what growth opportunities I would have as a Software Engineer at Walmart.
6 people were shortlisted after this round.
4. HR ROUND:
It was 15-20 minutes round with the HR on a Zoom call.
The Interviewer asked me to introduce myself. He then asked me about my family background. He then asked me about 3 qualities about me. He was going through my resume and asked me if I got a PPO from the company I did my Internship from and if not why? He was then focused on my competitive programming and asked me will you be able to work on different technology stacks if given an opportunity? He then asked if I had any location preference and if yes why?
6 people were shortlisted after this round.
Recommendations
Be thorough with CS Fundamentals, DSA, and know your projects.
One thing that helped me a lot was being calm throughout the interview processes. Be mindful and try to think out loud during the coding part.