skip to content
Muhammad Usman Safder
Cover Image

My First Technical Interview: Navigating New Horizons

/ 4 min read

As a third-year Computer Science student, the opportunity to participate in my first technical interview was both exciting and nerve-wracking. The interview was changed to a virtual format due to unforeseen circumstances, adding an extra layer of complexity to the experience. Surprisingly, this virtual format turned out to be a blessing in disguise, as it left me with some valuable lessons. However, nothing beats a face to face Interaction in an interview that is admitted. This mock interview was organized by Arbisoft, and aimed to simulate real-life scenarios, preparing me for the challenges ahead in my career journey.


I had a general idea of what to expect during the interview process before its commencement. I anticipated questions covering a range of topics, including Object-Oriented Programming (OOP), Data Structures and Algorithms, Databases, and perhaps a glimpse into Operating Systems. Little did I know, the virtual format would introduce its own set of dynamics and challenges.


To prepare for the virtual interview, I hooked up my phone’s camera to my laptop since the built-in webcam wasn’t up to par like many aren’t. I just want to give a big shoutout to the webcam app Iriun at this point (not sponsored btw). Despite the initial technical challenges, I was determined to make the most of this opportunity. As the interview commenced, I found myself engaging with Ahmed Faraz, a Senior Software Engineer at Arbisoft, who served as my interviewer.


Ahmed’s professional conduct and genuine interest in my responses immediately put me at ease. His insightful questions and constructive feedback made me realize the depth of understanding required in technical interviews. What began as apprehension quickly transformed into a valuable learning experience.


Throughout the interview, Ahmed probed my understanding of fundamental concepts while encouraging me to articulate my ideas clearly. Each question presented a new challenge to my comprehension and problem-solving abilities. Despite the virtual barrier, the interaction felt personal and engaging, much like a face-to-face conversation. During the interview, I stumbled when asked to explain polymorphism using a real-life analogy, beyond coding terms. My interviewer’s advice was invaluable in this situation. He emphasized the importance of using our surroundings to illustrate abstract concepts and broaden our understanding. This method not only clarified the concept but also increased our understanding.

Here are the specific questions you were asked during the interview, presented concisely.

  • what is OOP and explain the concept of objects and classes.
  • How do you calculate the number of objects instantiated in a class?
  • Explain polymorphism with a real-life analogy.
  • What is the impact of making a constructor private?
  • Share your knowledge of software design patterns, focusing on one of your favorites.
  • Can you explain the scenarios where a data structure such as a linked list would be appropriate to use?
  • Define time complexity and explain its significance.
  • Differentiate between primary and unique keys.
  • Why do relationships exist between database tables, what are they, and their practical applications?
  • Describe the concept of indexing.

After addressing these questions, I received feedback highlighting the need to delve deeper into my responses. Although I answered many questions and was knowledgeable about most topics, I realized how important it was to effectively articulate my thoughts, including making complete introductions, even if the interviewer had access to my resume.


One standout aspect of the interview was Ahmed’s willingness to share insights from his professional journey. His advice profoundly impacted my view on technical interviews and the software engineering domain. He emphasized the significance of fundamental concepts in computer science, which often form the basis of initial graduate assessments.


Looking ahead, I’m grateful for the lessons I’ve learned from my first virtual technical interview. It showed me the importance of preparing well, communicating clearly, and always being ready to learn more in the ever-changing world of technology. As I move forward, I’ll keep these lessons close. Even though the virtual interview had its challenges, it also taught me how to adapt and stay strong when things are uncertain.