Synopsys Interview Experience – R & D 2 Engineer
I was interviewed at Synopsys Noida for R & D 2 engineer post.
Round 1: The first round was telephonic. The interviewer firstly ask for work in current company.
then he ask me some question related to C++.
- What is virtual destructor?
- can we use static keyword with const qualifier?
- Can we change value of a const variable in C++?
- What is constant reference?
- Difference between call by reference vs call by value?
After this telephonic I was called for F2F interview at their noida office.
Round 2: The questions are from data structure and C++ in this part. The code should be neat and clean with all base conditions included.
- Design an Array class using features of C++.
- Reverse a linked list.
- No of nodes in a balanced binary tree.
- How to make an object non-copyable.
- Describe whole virtual keyword implementation in C++ using concept of virtual pointer and virtual table.
- Questions with changes in virtual keyword positions in code.
- Function overloading vs function overriding
- Deep copy vs shallow copy.
- Iterative vs recursive methods.
- Write a program for fibonacci using both iterative and recursive approach.
- What are references in C++?
- Write code to find out whether given binary tree is BST or not.
- Discuss BFS and DFS.
- Given a circuit diagram to me with resistors, inductors and capacitors. Now I need to design a C++ classes to derive the power of whole circuit using C++ features and describe how I use them. It was a long discussion of around 45 minutes.
- Copy a linked list with next and random pointer with various variations.
Round 4 : This is a managerial round with hiring manager. It starts with my introduction and lot of behavioral questions.
- Find all nodes between two given nodes in a tree.
- Given two arrays ind how many elements are equal in both arrays.
- What all things are being called when an object creates in C++.( like constructor, copy constructor, assignment operator)
- All types of access specifiers with difference between them.
- Describe Operator overloading.
- Write syntax for copy constructor and assignment operator.
After 3 F2F at a day they called me after 15 days for 1 more F2F.
Round 5 :This round is with head of team. Again the interview starts with my last work in past employer .
- Discussion about projects mentioned in resume.
- Write level order traversal with BFS with time complexity discussion.
- Write code for traversing a undirected Graph with time complexity discussion.
- Adjacency list vs adjacency matrix.
- Find a non repeating number in an array if other numbers are repeating twice.
- Difference between ‘==’ and ‘.equals()’ in java.
- Internal implementation of function overriding and overloading in java.
After this round .I got a call from head of Bangalore team.
Round 6: Again discussion for my work in last company .
- Define a constant vector.
- what are copy constructors
- What is the size of an empty class and why so?
- How to use access specifiers.
- how to dynamically allocate a 2D array in C++.
- Difference between malloc and new.
- what is a constant function?
- Can we modify ‘constant pointer to a variable’
- Write code to find out given number is power of 2 or not?
- Write code to find Kth largest element in an array.
After all these rounds HR mailed me that you are selected and negotiate salary discussions over call.
All the best to everyone. I suggest be confident and be proficient enough in C++ for synopsys.