CDAC Interview Experience

cdac logo
cdac
Rejected
March 19, 20243 reads

Summary

I experienced an on-campus interview opportunity at CDAC, which involved an offline MCQ exam followed by two technical rounds. Despite not receiving an offer, I gained valuable insights into my weak points and used the experience for future success.

Full Experience

I participated in an on-campus interview opportunity at CDAC. The process began with an offline MCQ exam covering various subjects like DBMS, OOPs, programming, Python, and JavaScript, all at a basic level.

First Technical Interview

This was my initial interview. The interviewer focused on my development experience, asking about REST APIs. We then discussed DBMS and delved deeply into OS concepts, particularly multithreading. Following this, we explored the differences between linear and non-linear data structures, moving into graphs and trees. She questioned me on tree traversal, graph traversal, their differences, and implementation details. I also explained Dijkstra's Algorithm thoroughly. Finally, questions on Stack and Queue were posed, followed by the Two Sum and Three Sum problems. I was shortlisted for the second round after this.

Second Round (Technical + HR)

In this round, the discussion centered around operating system concepts such as Race Condition vs. Deadlock vs. Starvation, and Aging. We had a deep discussion on Error vs. Exception. I was also asked about Semaphores and challenged to write multithreading code, a topic I hadn't studied at the time. Unfortunately, I was not shortlisted after this round.

This was my first interview experience where I didn't receive an offer, but I learned a significant amount. I identified my weak points, which I subsequently addressed, helping me to succeed in my next two interviews. It reinforced the idea that rejections shouldn't be feared; instead, they should be used as opportunities to improve.

Interview Questions (9)

Q1
Explain REST API Concepts
Other

Explain what REST API is, its principles, and how it is used in development.

Q2
Tree and Graph Traversal Differences & Implementation
Data Structures & AlgorithmsMedium

Explain the differences between various tree traversal and graph traversal algorithms (e.g., BFS, DFS for both). Discuss their implementation details.

Q3
Explain Dijkstra's Algorithm
Data Structures & AlgorithmsMedium

Explain Dijkstra's shortest path algorithm, its working, time complexity, and use cases.

Q4
Two Sum
Data Structures & AlgorithmsEasy

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice.

Q5
Three Sum
Data Structures & AlgorithmsMedium

Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets.

Q6
Race Condition, Deadlock, and Starvation
OtherMedium

Explain the concepts of Race Condition, Deadlock, and Starvation in concurrent programming/operating systems. Discuss their causes, effects, and potential solutions.

Q7
Explain Aging in OS
OtherEasy

Explain the concept of Aging in operating systems, particularly in the context of CPU scheduling algorithms, and how it addresses starvation.

Q8
Error vs. Exception
OtherEasy

Discuss the fundamental differences between Errors and Exceptions in programming languages (e.g., Java), when each occurs, and how they are handled.

Q9
Implement Multithreading using Semaphores
Data Structures & AlgorithmsHard

Explain what Semaphores are and write code to demonstrate their use in managing access to shared resources in a multithreaded environment to prevent race conditions.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!