Hello everyone,

I’m Anmol Vashishtha, one of the shortlisted candidates for BARC-OCES 2022. 

I cleared the written test with a score of 136.35, the cutoff this year was 134.36. This year 99 candidates were shortlisted for interview out of which 5 have been shortlisted. I appeared for interview on 20th June at BARC, Mumbai.

Interview:

The interview panel consisted of 6 members.

After being seated, I was asked a little about my college and my final semester exam/presentation(as I am in final semester). Then, one of the members asked me “Have you prepared all the subjects from GATE syllabus only?”. I replied “yes sir”.

He then proceeded “But why GATE only? when you have been taught other subjects in college?”.

I replied: “Sir, because I’ve given GATE exam recently and it was also my second attempt, so these are the subjects that I have been thoroughly studying for two years”

He seemed to be satisfied by my response. He then asked me to stand up and write the 5 subjects I had prepared on the corner of the black board. I wrote OS, TOC, CN, DBMS, C.

A panel member asked: “Why have you not written DS and Algo?”

I replied sir:” Sir, I’m more interested in theoretical subjects, and DS and Algo don’t interest me much”, even they were surprised

The member continued: “ but you know right, that these subjects are a very integral part of Computer Science”

I replied : “yes sir I very much understand. I have a strong foundations of these subjects as I have prepared for GATE but when I go the interview call, I took that as an opportunity to dive deeper into these( the ones written on the board), so I have prepared for these only.”

The panel somewhat went along with it. And my interview starts from here.

OS:

OS panel member: “what are the functionalities of OS?”

Me: told about process management, resource allocation, memory management, I/O devices

OS panel member: “so you’ve told process management, what do you mean by a process?”

Me: told the standard definition i.e. “process is a program under execution”

OS panel member: "when do we call something a process? I mean like we have programs right, when does a program turn into a process?”

Me: elaborated the process of loading a program into main memory from the secondary memory and then tried to explain that these programs become processes when they are allocated main memory resources.

OS panel member: “while explaining you mentioned the word interrupt, what do you mean by an interrupt?”

From this point on the entire OS section shifted towards interrupts, so this discussion consisted more of concepts of Interrupts as covered in Computer Architecture rather than OS but luckily interrupts was a topic that I had put a little extra effort while preparing for GATE . I’ll summarize the series of cross questioning.

  • what is an interrupt
  • what happens when an interrupt occurs? I told about the mechanism and Interrupt Vector Table and Service Routines.
  • How do we know what to do when an interrupt has occurred? told about the vectored interrupt mechanism
  • How does the OS know that an interrupt has occurred? told about the control signal mechanism, the INTR lines etc
  • Why do we need interrupts in the first place? told about privileged instructions and kernel mode execution
  • Little cross questioning on kernel mode and why some instructions are declared as privileged 
  • What’s the difference between interrupts and exceptions?

At last the OS part was completed.

C:

Then they shifted to C. I faltered a little in this section but the panel members gave ample hints and time for me to identify my mistakes and to rectify them.

C panel member: “write a program that accepts an alphanumeric string and extract the number in it, for example if the string is ‘a2b3cd4’ your code should return the number 234”

Me: Before writing anything I preferred to verbally explain my thought process. “Sir we would iterate through the string and whenever we encounter a number we would extract it and store it as an intermediate result”. Then I started writing the code. Whenever I was stuck I used to quickly take a sample input and dry run my code, this helped me find all errors immediately.

C panel member: "how will you handle negative numbers?"

Me: told that we can add a check and then make the number negative after processing the string.

C panel member: "what can be the maximum size of a number that can be extracted by this code?"

Me: I wasn't able to provide a satisfactory answer, but I tried to answer in all ways I could.

TOC:

Then they shifted to TOC. 

TOC panel member: "what are the uses of finite state automata?"

Me: described a little about FSA, then the only example that struck my mind was the LR(0) item set. How FSA is used to track what productions have been scanned. Eg -> S -> A.B, S-> AB.

TOC panel member: "you've mentioned parsing and grammars, where else is FSA used in compilers?"

Me: told about lexical analysis.

TOC panel member: "Can you design a FA for accepting integer declarations? For example int abc;"

Me: I wrote the Regular expression first and then proceeded to draw the FA, followed by a bit of cross questioning on FA and parsing in general. 

After this they asked few questions from the remaining Subjects. I'll summarize them:

  • DBMS:
    • What all topics have you learnt? Told Transactions, Normalization, Indexing etc
    • How are transactions implement isolation? I told them about view and conflict serializability but the member was expecting the isolation levels. I said I cannot recall those at the moment.
    • Why do we need Normalization? Give examples
    • What are types of relation in DBMS? Told one to one , many to one etc
    • Give example of each
    • Kind of data structures are used in DBMS? Thought for a moment and told hash tables, B tree etc
    • Explain B trees and Hash tables?
    • How collisions are resolved ? What do you think is better for collision resolution in general? Thought for a bit and said that I would prefer linked list approach because in worst case if insertions are made to same slot again and again LL approach would not affect the rest of the hash table, while inserting into successive slots would affect the rest of hash table as well.
  • Data Structures:
    • As I had mentioned Linked List in DBMS topic so the DS panel member asked me about LL a bit.
    • Write declaration of LL
    •  How would you find the middle element? Told about the brute force solution to scan and count the number of nodes and traverse again till n/2 elements
    • Can you do it in single traversal? Told about the double pointer approach and moving one pointer twice as fast as other.
  • Computer Networks:
    • What is subnetting?
    • Why do we need subnetting? I felt that I couldn't provide a satisfactory answer to this, but again I tried to explain my best.
    • A little about subnet masks
    • You've explained subnetting, now explain Supernetting, why do we need supernetting? Again I felt that I couldn't provide a convincing answer but I explained that "contrary to subnetting, when an organization wishes to combine two or more networks to achieve a higher level of logical abstraction. I told them an example that for example an institution had an ML and Neural Network departments, so it can combine these n/w to form a supernet and logically designate it as Artificial Intelligence department".
  • Java:
    • DS panel member asked whether I was familiar with C++ and OOPs. I replied that I have learnt Java rather than C++.
    • DS panel member: tell me about OOP concepts?
    • DS panel member: tell me about Polymorphism, how is it achieved in Java? Told but I got confused in Method overloading and overriding. But I corrected my mistake after getting a hint.

Then the last question I was asked was from TOC again.

TOC panel member: "how can you implement DFAs in C?"

Me: told about the matrix approach

TOC panel member: "What if we don't know about the number of stated beforehand?"

Me: Thought for a bit but couldn't answer properly

Then my interview concluded, I greeted them and came out of the room. My interview went for about 1 hour and 23 minutes.

Preparation:

Written Test: Just revised my GATE notes ( I have attended Made Easy Online Coaching) and for practice I combined all the previous year Gate 1 marker questions in a single pdf. I used to solve all these and then evaluate my performance.

Interview: Reading through past interview experiences on GATE Overflow, Quora etc, I realized that revising notes wouldn't be enough. So I turned towards university lectures available on YouTube. I used to watch a lecture and then go through the corresponding topic from a standard textbook. This was naturally time consuming so I limited myself to important topics of each subject. I'll summarize the resources:

I wish all the future aspirants best of luck for all their endeavors.

posted Jul 19, 2022 edited Jul 22, 2022
9
Like
0
Love
0
Haha
1
Wow
0
Angry
0
Sad

1 Comment