My interview was initially scheduled for July 22, on July 21(my birthday too xD) in the morning I saw a missed call, and I called back and it was hod of CSE department and he was like we’ll conduct your interview today itself. He called 3-4 times, kept on postponing the time of interview, and finally, in the evening he was like well do your interview tomorrow(I was like gg, day wasted and I started playing csgo immediately xD). On July 22 in the morning at 8:45 he called and asked me to join the interview.

Subject chosen – COA

There were 6 people including the hod and he was like we’ll ask you programming first and then COA, I was like cool.(I am just an average guy in programming with less experience)

hod – Hello Nikhil tell about yourself

Me – Uhm .. my name is Nikhil, computer is my first love , my aim since I was 6 years old was to learn computer in such a way that I have to be able to build a computer from scratch (i.e) I want to learn A-Z of a computer. I come from a shitty undergrad college where I wasn't able to learn any computer science, but then I joined gate coaching in my 4-2 where the faculty was really nice and I was able to learn real computer science.

hod was smiling and asked me where did I attend my gate coaching and which city I live in.

Me – Hyderabad and ace academy sir.

Then my programming interview began.

Interviewer 1 - Given a sorted linked list, write a function that finds the correct place for the given value and places it there.

Me – In my mind I was so happy because I felt that it was an easy question, and wrote the code in a stretch, I missed a corner case which I immediately recognized and was about to write additional code for that he was like cool leave it.

Interviewer 1 – Now he was like write another function which takes an array as input and returns a sorted linked list which has the elements of that array, has to use insertion sort and also use the previously written function.

Me – Again I was happy because I kind of can write the basic sorting algorithms fine. So I started writing the code and did a small mistake which I corrected in a minute when they pointed it out and finally I wrote the code fine(which I wasn't expecting xD).

Interviewer 1 was like I’m done

Interviewer 2 – I’ll ask you questions from COA, but first open your program and then he was like you used a lot of pointers in it, can you tell me which addressing mode is used in your code.

Me – In array we use indexed addressing mode and was explaining how it works then Interviewer 2 got disconnected from the call.

hod – It seems like Interviewer 2 has a technical problem, in the meanwhile I’ll ask you something

Me – sure sir

hod – “ Let me guess, your father has done PhD in IISC Bangalore?”

Me – I was like what?? inside my head laughed a little and told him no sir he used to work in a bank and is retired now, but I want to do PhD definitely after my masters.

(well maybe because of the way I look, I kind of had a beard, long hair, and spectacles)

hod – “hahaha fine I was just asking”

Interviewer 2 came back and started asking me to explain all the types of addressing modes

 I did explain all types

In2 – Do you know how many different levels of cache are present?

Me – 2-3

In2 – why do we need 2-3?

Me – told him that smaller the cache faster the speed usually, as searching in bigger search space could be slower than searching in smaller search space and explained a bit more.

In2 – How do we search for a byte in let’s say L3 cache?

Me – Uhm.. I’ll come from the virtual address generated by the CPU, address is a string of bits, well use the bits which are assigned for cache block number as select lines in the Nx1 MUX where N is the number of cache blocks and the selected blocks tag bits are sent to a comparator and compared with the tag bits in the address.

In2 – Ok can you tell me roughly the sizes of each level

Me – l1 – 32 KB maybe, l2- 256 KB l3-2MB

In2 – Now why do you say searching in L3 is slower than searching in L1 when same MUX and comparator are used?

Me – I was like uhm ok to win the argument I could say that 256 x 1 MUX is faster 1024 x 1 MUX

In2 – he smiled and was like no that isn’t the reason anyways tell me different types of cache.

Me – You mean like TLB, etc?

In2 – No I mean direct mapped etc..

Me – Oh cool, yes sir basically there are 3 types direct mapped, fully associative and set associative.

In2 – Explain about fully associative

Me – Anything can be anywhere (he smiled), I continued and was like any main memory block can be present in any cache block and the tag bits are everything except the byte offset in the address.

In2 – suppose in a 4 way set associative mapping in set-0 block 0 is present, can any other block come into that set?

Me – I said yes sir any main memory block which is multiple of 4

In2 was like 4? then I immediately responded

Me – sorry sir, I assumed that the number of cache sets is also 4, lets say that number of cache sets is S, then any block which is multiple of S can be present in set – 0.

In2 – now let's say there are 2 blocks in set – 0, already one block is filled now when a new block comes what happens?

Me – as another block in the set is empty it goes there

In2 – Now another block came in then?

Me – It depends on which cache replacement policy you use, could be LRU or FCFS etc..

In2 – ok can you tell me different cache misses in different types of cache?

Me – You mean like misses analysis in different mappings?

In2 – yeah exactly

Me – In direct mapped cache conflict misses are the highest as the number of main memory blocks contending for a single cache block is the highest here, in set-associative it is less than direct mapping and in fully associative it is the least. Compulsory misses are the same everywhere and these are the only misses I could think off.

In2 – Yeah that's fine(was satisfied with my answer and was like I’m done)

hod – Ok Nikhil your interview is done, do you have any questions?

Me – Sir, if someone accepts an offer in coap and got selected for MS in madras is there any mechanism which detects that?

hod – what is coap?(I was like what??? in my head. I guess we both misheard each other here xD) mtech seats are independent of MS seats.

Me – ok cool ignore my question.

PS – This was one of the best interviews I had so far, and I really like the people from IIT madras as they asked days before in which subjects I’d liked to be interviewed.

I even attended for IIT Gandhinagar interview where the interviewer was like tell me your favourite subjects

Me – COA and OS sir

Interviewer – Okay I’ll ask graph theory. (yup he did that and my interview didn’t go that well.)

My gate score is 776 rank 335 cat – general.
posted Jul 22, 2020
3
Like
1
Love
0
Haha
0
Wow
0
Angry
0
Sad