I got selected in IIT Kanpur, and this is the reason why I started preparation for GATE in the first place, so for me, this is pretty much the same as getting AIR-1 in GATE, This was made possible only because of my brothers, whole GO community and specially Astitva[It feels like for 2 years we’re only discussing questions and concepts together]
About me: https://jun03.github.io/portfolio/
GATE 2019: marks- 63.33, Rank – 582[In 2018 at marks 63.33 rank was 176, you can imagine what will happen in 2020]
IIT M: Did not qualify the written test
IIT K: Selected in MS
Cleared written of BARC(Preparing for Interview).
Post GATE :
Did all coding assignments(Special thanks to Digvijay sir), participated in codechef competitions, got back on Hackerrank, Completely read OS:3 easy pieces with its homework assignments, revised GATE concepts, I used to collect questions and take Astitva’s interview and he did same for me (It was really helpful)
Written Test: Logical questions mostly which check your understanding, ex: Program whose output is based on endianness of system, order of socket primitives, etc.
Programming - 3 Questions[Main program(40 points) was to complete function to input and merge two sorted linked list], All were easy- finished them in 1 hour while given time was 2 hours
Interview: My interview was comparatively shorter than others 10-15 minutes
They asked me to take a seat, then sir said: So you're a system guy, huh? I said yes[I don't know why but a cool dude voice in my head said: Yeah, I'm a system guy, It kinda felt nice to hear something like this], then they asked about my college, I mentioned name - they asked me twice to confirm because maybe they hadn't heard of such a college name before, they asked me about programming test, I said I completed those before time and passed both hidden and visible test cases,then a couple of general question then it started:
P- professor, A - me
P: Asked for preferred subject
A: Operating System
P: What are the major projects you have done in OS, or what work you have done related to OS
A: I haven't done any major projects in OS, but I have made programs to emulate various activities of O.S. like scheduling algorithms, calculating cache misses, calculating various cache sizes, etc.
P: In which language you wrote these emulators
A: I said mostly C but have used python for some complex ones.
P: Why have you used Python
A: Because it's relatively easier to write a program in Python than in C.
Then a few general questions about Python like why it is slow etc, I answered correctly.
NOW COMES THE MAJOR QUESTION
P: Suppose you have an already compiled program as an object file and you have to run it in this laptop and what I did is that I removed OS from it, will you be able to run it?
A: No sir[I was thinking correctly like running such a program would require O.S. support but got tricked in his next statement]
P: OS is also a program right, written in C and Assembly, How does it run?
A: Explained about the bootloader.
Some discussion on how bootloader will run, what is firmware code[I'm not describing it much because it went quickly and I don't remember exactly]
P: So coming back to the original question- we can run this program without OS rt?
A: Yes sir, we just need to place it in the disk at the location where O.S. normally reside and it will run
P: But this program is compiled in an environment with OS, i.e, Virtual memory and for address translation and some other stuff it'll need OS, right?
A: Yes sir, It'll not be able to run without OS support.
P: What will happen exactly- tell me that
A: It'll try to access virtual address which can be invalid.
P: What will happen exactly when it'll try to do so?
A: A trap would be generated[I wasn't sure so I kinda said in a low tone]
A: Sir the Hardware will generate a trap
P: Okay, He asked with other Professor if he wanted to ask, but they agreed that it's ok, and they asked me to leave.
At that time I wasn't sure whether it was a good interview or bad[I still don't], but the only thought in my head was - What about threading, implementation of scheduling algorithms etc- the stuff I read so much about, why didn't they asked anything on that, but that's the thing these Interviews don't need you to do/know a lot- just make sure you really understand what you know and be smart[like adaptable to different situations]
Pro tip: Decide your subjects(At least 2) from now and for that, you need to decide which type of work you want to do, It'll help you a lot if you have done some work related to this subject/field. At least I would say for these two subjects you should study proofs[If theory based] or Implementation code and some tools[System side]. If you want to be in AI/ML, among other things, prepare Maths definitely and don't just practice blindly- try to get an understanding of things like what is matrix multiplication, what is the reason for calculating things like Eigenvalues, Eigen-vectors, etc. Do visit the IITs CS department website