First Interview
1st day: all the C programming concepts and OOP concepts.
2nd day: Operating System, DBMS and Computer Network concepts.
3rd day: details of projects that I mentioned in my resume.
Now the most time consuming was the 1st day. Tried to cover all that I could. But the content was so much that it never finished. So I did all that I could. The next day I had to revise all the undergraduate studies of OS and DBMS and CN. This was no easy task either. I managed to do major portions of OS, like memory management, Process concept and Synchronisation and deadlock. It was evening by the time I managed to cover OS and next I decided to start with my projects. So I mentioned 4 projeccts that I did and I superficially looked at all of them. Jotted down the main concept of each one of them. I couldn't have managed to pay close attention to every detail in the code as that was simply not possible. So on 3rd day I managed to summarise all of my projects and main concepts they were based on. And the last few hours at the night, I quickly revised SQL and CN from my Gate Exam notes. I did as much as I could. I was pretty much sure that if anything was asked for coding problems, like the ones in competitive coding or interview related coding, I will be able to do them as I have been practicing for quite sometime now.
So the day come. The interview starts at 9:30 in the morning and I am all ready with my setup. The interviewer was friendly. He started with my project. Shell in C. I start by briefing him up about it, but he wasn't interested in that. So he interrupted me and asked me to code a program for executing ls command. He told me that I could hardcode whatever I wanted. He just expected me to code the thing as I did this project. This was bad. I didn't prepare for my project's implementation. I did it a year ago. I tried. fork() and exec() system calls. I made a framework but I didn't remember what all parameters to pass in exec and how to wait on the child process that executed the exec call. I tried and tried to remember, but it just wouldn't come to me. He offered a little help. Printed the man page for the exec and fork. This was not of much help. So after spending a considerable time I told him I wasn't able to get it done.
The next question was, implement operator overloading. What? I didn't expect this. This was something I read in my 11th class. High School. 8 years back. I tried but couldn't do this one either. Next he asked me a question on priority inversion. I told him about it. Next was on Function pointer. This I saw. 3 days back. So I told him what it was. As evident from the 2 question he asked me 1st, he wanted me to code it too. I told him that I had read about it, but never used it or coded it before. He said, they mostly worked on these things only, so whatever he asked me was from the job's point of view as I would have been working on the same, that is if I got selected. He suggested me to try again some other time for their company.
That was that.
No OS concepts that I prepared, no CN, no DBMS, no coding problems of other sort. Simple questions that I couldn't do.
That got me into thinking, will I ever be ready for any interview for that matter. Because there is no bound to the amount of preparation that can be done. You never know what all things will be asked. And even if you cover all the stuff, what guarantee is there that you will recall it at the moment.
It was a set back. I didn't expect myself to perform so poorly. I let myself down.
For now I know what I need to work on. I will be reviewing all my projects. And in further applications, I'll be mentioning only 2 projects. So there's not much load. Narrowing the probable areas of questioning. Because to be honest I won't be able to remember much from all of them. So it will be better if I prepare for less, but have it prepared in depth.
And for refreshment, I'll watch The Pursuit of Happiness today.

Comments
Post a Comment