Cadence Interview Experience for Software Engineer
Cadence Design Systems, Bangalore | Software Engineer I (C/C++) | 2021
Position: Software Engineer
Experience: 6 months.
Location: Bangalore
Interview Process :
- Call from a recruiter to schedule interviews.
- Technical Interview.
- HR Discussions
The Technical Round is processed as follows:
Round 1(Online): The interviewer was from Bangalore and this round went about 1 hour.
- The height of the Binary Tree.[https://www.w3wiki.net/write-a-c-program-to-find-the-maximum-depth-or-height-of-a-tree/]
- Determine whether the Binary Tree is height balanced (O(n) implementation required).[https://www.w3wiki.net/how-to-determine-if-a-binary-tree-is-balanced/]
- Minimum Coin Change DP issue.[https://www.w3wiki.net/find-minimum-number-of-coins-that-make-a-change/]
- Write Class, Integer Pointer, Constructor, Destructor, Copy Constructor, Assignment Operator in C++.
Round 2(Online): The interviewer was from Mountain View, California. Duration 1 hours. Huge debate about CVs, projects, internships, and previous experiences (20 min). after this he asked three questions:
- Virtual Function and Virtual Table Concepts in C++, as well as Polymorphism
- Given an infinite stream of integers, print the maximum three integers in the stream as you progress along with their position in the stream each time.
- Function( T &&x ) What does this && represent here? [Note: it is not Logical AND operator]
Round 3(Online): There was a lot of discussion about CVs, projects, internships, past experiences, and academic courses (30 min)
- Reverse the order of a linked list.[https://www.w3wiki.net/reverse-a-linked-list/]
- Print a tree’s leaf nodes in reverse order. (Hint: Reverse inorder traversal is useful.) [https://www.w3wiki.net/reverse-level-order-traversal/]
- multithreading in C++.[https://www.w3wiki.net/multithreading-in-cpp/]
- OS Synchronization Concepts (mutex).[https://www.w3wiki.net/introduction-of-process-synchronization/]
Round 4(Online): The interviewer was from San Jose, California. Duration: 1 hour.
- Reference Count, Smart Pointers, and Garbage Collection (both in C++ and Java) along with the internal workings of Java’s GC algorithm)
- In the singly linked list, add/delete at the beginning, add/delete at the end.
- For each function, try to O(1). The node structure cannot be changed. [Tip. Make it a linked list that is circular]
HR discussions: 2 Rounds(10-15 min each)
- HR asked some behavioral questions
- General discussion about the company and its opportunity.
Verdict: Accepted – Got the Offer
Contact Us