Round 1(Online Test): It consists of 4 sections
- Aptitude: 10 questions 15 minutes
- Technical Section: 19 questions (consist of data structures, operating system, networking, databases, etc)
- Coding Section: 1 question 30 minutes
Find the second smallest with a given number of digits N and sum S such that the sum of digits of N should be equal to the given sum. Similar to https://www.geeksforgeeks.org/find-smallest-number-with-given-number-of-digits-and-digit-sum/)
- Predict Output: 2 parts – each has 5 questions 8 minutes
In this section, we have a choice to choose any two languages C, C++, Java, Python. For each, we have given 8 min to solve 5 MCQs questions.
Round 2(Technical Interview 1 – 60minutes): This is Technical round 1. The entire process is virtual on Zoom meeting and codepair. Firstly, he asked me whether I am comfortable to code in python and then some inbuild data structures available in python and asked me to write their syntax with examples. Then, he asked me to solve the coding question which is asked in an online test because I was getting a time-out error in that. After that, He asked me one more coding question, like given 8 * 8 chessboards, and given the position of knight on board, we have to return all possible positions of a knight in the next move. Then, he moved some subjective discussion. Firstly on networking, what you have learned in networking? What is the ICMP protocol? How does ping works, explain the entire flow? Then, moved to the Operating System. What is Scheduling? Different Scheduling algorithms, the basic idea, drawback, and advantages? What is deadlock? What are the necessary conditions for deadlock to occur? Different ways to prevent it? (I explained to him, prevention, detection & recovery, avoidance, ignorance in detail). Some confusing questions on resource allocation to process, which mechanism should be used to avoid deadlock. He tried to confuse me. Then, He asked which OS will you prefer? some advantages of using Ubuntu over windows? Various commands in Ubuntu? Explain grep with an example? Again Networking, some examples of network configurations in Ubuntu? In the end, he asked if I had any questions.
Round 3(Technical Interview 2 – 60minutes): This is Technical round 2. But now I have to write code on Collabedit, meaning no compilation and running of code. Asked me to introduce myself. As I mentioned, the Operating System is my favorite subject. She started with the OS questions. What is sleep() and wait() system call? How to implement sleep()? First I had discussed the logic and how can I do it. Then she asked me to code it. She asked me various cross-questions when I was explaining my logic, like why this data structure, how will schedule happen? How will the counter get processed? Then, how the system clock works? How it is implemented? I have to write a pseudocode for it. Then, she asked me, coding question – Given the list, I have to find the maximum product of triplet (https://www.geeksforgeeks.org/find-maximum-product-of-a-triplet-in-array/). Always ask some questions and get the question cleared first. I gave her a brute force solution first and explain it in detail with time complexity. Then she asked me to optimize, Then I had given one solution with using some extra space. She asked for further optimize. And at the end, I was able to do it in O(1) space. Then write a workable code. Then, She some discussion on networking. What is a network? How two computers can communicate? Some questions on TCP/IP. Explain layers? What is the TCP? What is IP? What is IPv4? What is IPv6? What is classless and classful addressing? What are subnetting and supernetting , why they are used? In the end, do you have any questions?
Round 4(Managerial Round – 45minutes): It started with introducing myself. How was your day? And previous interviews? Then He asked me to explain my projects. Various questions like, why you have chosen this project? Why this tech-stack? What are the challenges? How long you have taken for this project? What can be some potential improvements in it? We have discussed my 3 projects mentioned in the resume. Then, He asked me about my previous internships, experience, project, challenges, and all. He asked me to give preferences to subjects like OS, Networking, DBMS, etc. Some questions on Networking, OS. Then he asked me to explain the entire life-cycle of the project (software development life cycle). And which parts I like the most? Some questions are where I see myself after 3 years? What if I have assigned a project in a domain that I didn’t like or doesn’t interest me? What do you think about how people should know you? In the end, he asked if I had any questions.
Round 4(HR Round – 10minutes):
He asked me to introduce myself. Very general questions like what do your parents do? Where are you from? Rate yourself in subjects like OS, DBMS, Networking? In which areas, do you think you need to improve and how will you do that? Then finally do you have any questions.
Finally, I got an internship offer. Hope this will help you 🙂