Frontend Interview Experience at SurveyMonkey
Hello folks,
I recently had the opportunity to interview at SurveyMonkey for the Software Engineer II position on the Multi-User Admin Team. This role focuses more on the frontend domain, and I will share my interview experience in this post.
How did I get to know about this opportunity?
I saw a post on LinkedIn from a SurveyMonkey employee about a referral for this position. I filled out the form, and a week later, I received a call from the recruiter. The recruiter scheduled the interview rounds for the following week.
Interview Rounds
In total, there are 4 rounds:
Javascript & DSA Round
Coding Round
System Design Round
Hiring Manager Round
JavaScript & DSA Round
Duration: 90 minutes
This round combined DSA and JavaScript problems. The interview began with basic JavaScript concepts like hoisting, the difference between var
and const
, the Temporal Dead Zone (TDZ), the event loop, Promises, and the difference between Promise.all
and Promise.allSettled
.
You can read more about Promises in thisblog.
The interviewer then moved on to React questions, including useEffect
, useState
hook and its various uses. This was followed by a DSA question to check if two strings are Valid Anagrams. I was able to explain and write the solution for it. The interviewer extended the question by asking how to handle this function if Promises were involved and how to manage the loading states for this behavior. There were multiple follow-ups regarding the context API, how Redux works, whether React is one-way or two-way, and why.
The next set of questions involved CSS. I was asked how to center specific elements that I used in the code for solving the anagram problem. I was also asked about the differences between CSS units like rem
, absolute positioning
, vw
, and %
.
Coding Round
Duration: 60 minutes
The interviewer made me feel comfortable by asking about my front-end experience and background. I was asked to share my thoughts on a specific UI framework or library and explain my reasons.
This round focused on solving a front-end problem using either Vanilla JavaScript or React. The task was to implement a Bar Chart based on the given requirements without using any external library or framework. The solution needed to follow best practices for writing clean, modular, and extensible code.
I chose React and Vanilla CSS for this task. There were follow-up questions about my solution and questions about different CSS approaches.
System Design Round
Duration: 60 minutes
This round did not require a complete implementation of the given problem statement. I was expected to understand the problem and come up with a feasible solution. Here is the strategy I followed to tackle this problem:
Organize the component folder structure and plan state management and data flow
Gather all functional and non-functional requirements to define the problem scope
Define API contracts and data models
Design component APIs to achieve the desired functionalities
Consider scalability and optimization techniques
The 4th round would be a Hiring manager round, which is a mix of technical & managerial questions as suggested by the recruiter.
Conclusion
After a week following the System Design round, the recruiter informed me that they were looking for someone with more experience for this role. They have put my profile on hold and will contact me if any opportunities arise in the future.
Despite this, I gained valuable experience from interviewing at a top product-based MNC. I also learned a lot and identified areas for improvement through this interview process.
Thank you for reading! I hope you enjoyed it and learned something new. You can connect with me on X, LinkedIn, and GitHub.
Have a great day and happy coding! :) 🤩
Subscribe to my newsletter
Read articles from Ranita Saha directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Ranita Saha
Ranita Saha
☆ Learning, Living, and Loving every bit of this glorious life❤ ☆ Frontend Engineer ☆ On a journey to make a difference💫