Hello folks,
I had the opportunity to interview recently at Walmart Global Tech for the Software Development Engineer 3 - UI role. This role is more inclined towards the frontend domain & I will share my interview experience in this post.
How did I get to know about this opportunity?
Walmart was one of the target companies on my list. I found this opening on the careers page of Walmart. I reached out to one of my connections on LinkedIn for a referral. After completing the application process, I received a call from the recruiter to schedule the interview rounds.
Interview Rounds
In total, there were 3 rounds:
Problem Solving DSA Round
Javascript Problem Solving & Web Fundamentals Round
Hiring Manager Round
Problem Solving DSA Round
Duration: 60 minutes
This round included 3 easy-medium leetcode questions. The first question was a variation of Search in Rotated Sorted Array. The interviewer was very helpful & cleared out my doubts patiently. Here, he was focused more on my approach towards solving the problem. I just wrote the algorithm logic for my approach.
The second question was a fairly straightforward & commonly asked Valid Parenthesis. I explained the logic & wrote the code for this question.
The third question was based on stacks. It was similar to Sorting Stacks. Here, I explained my approach & optimised it with the help of minor hints from the interviewer.
I had done my DSA prepration using the Grind 75 List. The list of questions & range of topics are covered suited perfectly in my interview prepration strategy.
Javascript Problem Solving & Web Fundamentals Round
Duration: 60 minutes
This round was focused more on core javascript, react & web fundamentals knowledge. I was grilled on javascript concepts including closures, let, var, const & different types of functions. I was asked to provide ways to optimize a heavy recursive operation in JavaScript. This was an application of the currying concept & I explained currying with an example.
I was grilled on the various hooks available in React like useMemo
, useContext
, useReducer
. The interviewer wanted to know my approach to optimize the component re-renders while using useContext
& how prop drilling would be avoided by using this hook. Performance optimization techniques in browsers & react were asked.
The interviewer questioned about server-side rendering in react & how it works when an above-the-fold page is server-side rendered and below-the-fold page is client rendered (i.e. react component). This was an interesting discussion on hydration in react & how HTML & JS parsing will be executed in this scenario.
Another interesting question was to give a dropdown component API design which can be used as a single-select, multi-select & supports custom children components. Here the interviewer expected me to write the high-level API of dropdown. I came up with the below approach using the compound components design pattern:
<Dropdown>
<DropdownInput label="Select" />
<DropdownOptionsList>
<DropdownOption value="1" label="Option 1"></DropdownOption>
<DropdownOption value="2" label="Option 2"></DropdownOption>
</DropdownOptionsList>
</Dropdown>
There can be many various scenarios in this open-ended question. You can check out the Material UI Menu component for reference.
A few CSS-based questions were asked such as flexbox layout, relative & absolute positioning, z-index & stacking context in absolute positioning were also asked.
Advanced concepts of module federation were discussed. I mentioned that I didn't have much experience working hands-on on module federation.
Apart from this, a few design patterns in React were also discussed towards the end of the interview.
Hiring Manager Round
Duration: 60 minutes
This round started with basic introductions & brief about my experience working at Razorpay. We deep-dived into the range of products, technology stack used and
full-stack contributions at my previous company. I was asked about the reason for leaving my previous company. The interviewer counter-questioned me on all the reasons which I mentioned. So, be prepared for any counterquestions that may arise on the reasons for exiting the previous company. We also discussed the most challenging task I've worked on at Razorpay which was a cache refresh bug.
The final question included my strengths & weaknesses & how I would overcome them.
Conclusion
After a week-long wait, I received a rejection email notification stating that my profile did not match the expectations of this role. I reached out to the recruiter & got to know that I was rejected as I have only 2 years of experience but they required 3+ years of experience for this role. I think that they should have checked my years of experience in the first place before going ahead with the interviews.
Nevertheless, I got the experience of giving interviews at one of the top product-based MNCs. On top of this, I got a lot of learnings & areas to improve from this interview experience.
I have shared my interview preparation strategy & resources in my previous post Frontend Interview Experience at Salesforce. I will be sharing more interview experiences, especially for the frontend roles which I went through during my job switch.
Thank you, guys, for reading up till here, I hope you enjoyed and learnt something new! You can connect with me on X, LinkedIn & GitHub.
Happy Coding! ✌️