I recently attended a technical interview for a software engineering role that consisted of three rounds. The first round was an online coding assessment focused on problem-solving skills. I was asked to solve two problems based on arrays and strings, where I had to optimize the solution for time complexity. I cleared this round by explaining my approach clearly and writing clean, efficient code.
The second round was a technical interview conducted by a senior developer. The discussion started with core concepts such as object-oriented programming, data structures, and SQL. I was asked to explain concepts like inheritance, polymorphism, and normalization with real-world examples. Later, the interviewer asked me to write a program to find duplicate elements in a list and explain its time and space complexity. There were also questions related to REST APIs, basic system design, and error handling.
The final round was a managerial and HR discussion. The interviewer asked about my projects, learning mindset, and how I handle challenges while working in a team. I explained my academic projects, internships, and how I continuously improve my technical skills through practice and self-learning. Overall, the interview was challenging but insightful, and it helped me understand the expectations of the IT industry and areas where I can further improve.