I recently had the opportunity to go through a two-round interview process with a leading tech company MoveWork. I want to share my experiences to provide insights and guidance for future candidates. The entire process was both enlightening and challenging, and it was divided into two pivotal rounds.
MoveWork visited our campus, MIT, Manipal, in August 2023. The entire hiring process was virtual and consisted of 2 rounds.
Round 1(Coding Round):
In the first round, I was tasked with solving a coding question in just one hour. The question posed was a dynamic programming challenge focused on strings. It read as follows:
“You are given two strings, ‘s’ and ‘t,’ where ‘t’ is a subsequence of ‘s.’ Your task is to identify and remove the longest substring from ‘s’ such that ‘s’ still contains ‘t’ as a subsequence.”
Here is the twist: I did not opt for the conventional dynamic programming approach. Instead, I tackled it with a recursion logic for subsequences, making some thoughtful modifications. The result? My solution worked seamlessly, and I progressed to the next round.
Round 2 (Technical Interview):
In the second round, we delved into Object-Oriented Programming (OOP). The conversation started with a friendly exploration of polymorphism and its various types. We discussed my projects, giving special attention to the intricacies of my most recent work. Throughout the chat, the interviewer peppered in some fundamental OOP questions.
The most engaging part of this round was when we took a deeper look at my projects. The interviewer wanted to understand the nitty-gritty details, the challenges I had encountered, and the rationale behind my design choices. We ventured into discussions about polymorphism, how I had implemented it in my projects, and the core principles of OOP that guided my work.
This round was less about pressure and more about getting to know my thought process and project experiences. It was a constructive exchange of ideas and insights.
While the first round earned me a spot in the subsequent stage, the second round concluded with a different outcome. Despite my strong grasp of OOP principles and project knowledge, I didn’t advance further in the selection process.In the realm of technical interviews, outcomes can be unpredictable, and sometimes it’s the fine details that make all the difference. Nonetheless, these interviews provided me with invaluable insights and experience.
To all the future interviewees preparing for their upcoming assessments, I have a few words of wisdom to share. Maintaining a sense of calm and confidence throughout the interview process is paramount. When you are composed and self-assured, you can perform at your very best.
In my experience, companies are not just evaluating your technical knowledge but also keenly observing how you interact during the interview and handle challenging situations. While it’s essential to focus on core topics like Object-Oriented Programming (OOP), Data Structures, and Algorithms (DS/Algo), broadening your knowledge base is equally beneficial.
Consider dedicating some time to understanding Operating Systems, Networking, and System Design topics. These areas often play a crucial role in technical interviews, setting you apart from other candidates.
In conclusion, as you embark on your interview journey, remember that it’s not just about what you know; it’s about how you present yourself and tackle complex problems. So, stay calm, stay confident, and embrace the opportunity to showcase your skills and potential. Best of luck in your interviews!
Thank you for reading the post.
Share your thoughts in the comments
Please Login to comment...