Filter interviews by
Discussed previous technologies used in product development including CAD software, simulation tools, and prototyping methods.
Utilized CAD software such as SolidWorks for 3D modeling and design
Employed simulation tools like ANSYS for analyzing structural integrity and performance
Utilized rapid prototyping methods such as 3D printing to create physical prototypes for testing
Design patterns are reusable solutions to common problems in software design. Some commonly used patterns include Singleton, Factory, Observer, and Strategy.
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Factory pattern creates objects without specifying the exact class of object that will be created.
Observer pattern defines a one-to-many dependency between obje...
dynamic_cast is used in C++ to perform safe downcasting of polymorphic types.
dynamic_cast is used to convert a pointer/reference of a base class to a pointer/reference of a derived class.
It is used when we want to access a derived class member function or variable using a base class pointer/reference.
If the conversion is not possible, dynamic_cast returns a null pointer for pointers or throws a bad_cast exception ...
Q_Object Macro is a Qt macro used to declare a class as a QObject.
Q_Object Macro is used to enable signals and slots mechanism in a class.
It is used to declare a class as a QObject and to inherit from QObject.
It is used to enable the use of Qt's meta-object system in a class.
It is used to enable dynamic properties and object names in a class.
Ask if the sequence is sorted and discuss different types of sorts to find the given number.
Ask if the sequence is sorted to determine the best approach.
Discuss different types of sorts like bubble sort, selection sort, insertion sort, merge sort, quick sort, etc.
Choose the most efficient sorting algorithm based on the size of the sequence and the given number.
Copy constructor creates a new object by copying an existing object.
Copy constructor is used to create a new object by copying an existing object.
Syntax: ClassName(const ClassName& obj)
The const keyword ensures that the original object is not modified.
The & symbol is used to pass the object by reference, which is more efficient than passing by value.
Copy constructor is automatically called when a new object is cre...
Connect statement is used to connect signals and slots in Qt. MOC compiler generates meta-object code for Qt classes.
Connect statement connects a signal to a slot or a signal to another signal.
Parameters of connect statement include sender object, signal name, receiver object, slot name, and optional connection type.
MOC compiler generates meta-object code for Qt classes which enables features like signals and slot...
I have worked on both Linux and Windows platforms with various system configurations.
Proficient in Linux command line interface and shell scripting
Experience in Windows Server administration and Active Directory management
Familiarity with virtualization technologies such as VMware and VirtualBox
Knowledge of system configuration management tools like Ansible and Puppet
Abstraction and Encapsulation are two major pillars of OOPS.
Abstraction is the process of hiding complex implementation details and showing only the necessary information to the user.
Encapsulation is the process of wrapping data and methods into a single unit and restricting access to the data from outside the unit.
Abstraction is achieved through abstract classes and interfaces.
Encapsulation is achieved through ac...
I applied via Naukri.com and was interviewed before Jun 2023. There were 2 interview rounds.
Ask if the sequence is sorted and discuss different types of sorts to find the given number.
Ask if the sequence is sorted to determine the best approach.
Discuss different types of sorts like bubble sort, selection sort, insertion sort, merge sort, quick sort, etc.
Choose the most efficient sorting algorithm based on the size of the sequence and the given number.
Design patterns are reusable solutions to common problems in software design. Some commonly used patterns include Singleton, Factory, Observer, and Strategy.
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Factory pattern creates objects without specifying the exact class of object that will be created.
Observer pattern defines a one-to-many dependency between objects s...
Discussed previous technologies used in product development including CAD software, simulation tools, and prototyping methods.
Utilized CAD software such as SolidWorks for 3D modeling and design
Employed simulation tools like ANSYS for analyzing structural integrity and performance
Utilized rapid prototyping methods such as 3D printing to create physical prototypes for testing
I applied via Recruitment Consulltant and was interviewed before Jun 2021. There were 3 interview rounds.
Copy constructor creates a new object by copying an existing object.
Copy constructor is used to create a new object by copying an existing object.
Syntax: ClassName(const ClassName& obj)
The const keyword ensures that the original object is not modified.
The & symbol is used to pass the object by reference, which is more efficient than passing by value.
Copy constructor is automatically called when a new object is created ...
Abstraction and Encapsulation are two major pillars of OOPS.
Abstraction is the process of hiding complex implementation details and showing only the necessary information to the user.
Encapsulation is the process of wrapping data and methods into a single unit and restricting access to the data from outside the unit.
Abstraction is achieved through abstract classes and interfaces.
Encapsulation is achieved through access ...
dynamic_cast is used in C++ to perform safe downcasting of polymorphic types.
dynamic_cast is used to convert a pointer/reference of a base class to a pointer/reference of a derived class.
It is used when we want to access a derived class member function or variable using a base class pointer/reference.
If the conversion is not possible, dynamic_cast returns a null pointer for pointers or throws a bad_cast exception for r...
I have worked on both Linux and Windows platforms with various system configurations.
Proficient in Linux command line interface and shell scripting
Experience in Windows Server administration and Active Directory management
Familiarity with virtualization technologies such as VMware and VirtualBox
Knowledge of system configuration management tools like Ansible and Puppet
Q_Object Macro is a Qt macro used to declare a class as a QObject.
Q_Object Macro is used to enable signals and slots mechanism in a class.
It is used to declare a class as a QObject and to inherit from QObject.
It is used to enable the use of Qt's meta-object system in a class.
It is used to enable dynamic properties and object names in a class.
Connect statement is used to connect signals and slots in Qt. MOC compiler generates meta-object code for Qt classes.
Connect statement connects a signal to a slot or a signal to another signal.
Parameters of connect statement include sender object, signal name, receiver object, slot name, and optional connection type.
MOC compiler generates meta-object code for Qt classes which enables features like signals and slots, in...
I applied via Approached by Company and was interviewed before Sep 2021. There were 4 interview rounds.
Coding test with concepts on HTML, CSS, JS, Angular
Advanced coding test with in depth Angular questions
I'm seeking new challenges and opportunities for growth that align with my career goals and aspirations.
Desire for professional growth: I feel that I've reached a plateau in my current role and am eager to take on more responsibilities.
Alignment with career goals: The new position aligns more closely with my long-term career aspirations in product development.
Seeking a dynamic environment: I'm looking for a company tha...
I applied via Recruitment Consultant and was interviewed before Sep 2020. There were 4 interview rounds.
Top trending discussions
I applied via Walk-in and was interviewed before Aug 2020. There was 1 interview round.
I appeared for an interview before Sep 2020.
Round duration - 180 Minutes
Round difficulty - Medium
Round was held in the morning at 10 am.
Given an undirected graph with 'N' nodes in the form of an adjacency matrix and an integer 'M', determine if it is possible to color the vertices of the graph using at most ...
The problem involves determining if a given graph can be colored with at most 'M' colors without adjacent vertices sharing the same color.
Create a function that takes the adjacency matrix, number of nodes 'N', and maximum number of colors 'M' as input.
Implement a graph coloring algorithm such as backtracking or greedy coloring to check if the graph can be colored with at most 'M' colors.
Check if adjacent vertices have ...
Round duration - 40 Minutes
Round difficulty - Medium
The round was held in the evening
Design and implement a Trie (prefix tree) to perform the following operations:
insert(word)
: Add a string "word" to the Trie.search(word)
: Verify if the string "w...Implement a Trie data structure to insert, search, and check for prefixes in strings.
Create a TrieNode class with children and isEndOfWord attributes.
Implement insert, search, and startsWith methods in the Trie class.
Use a Trie to efficiently store and search for strings based on prefixes.
Example: insert 'apple', search 'apple' returns true, startsWith 'app' returns true, search 'app' returns false.
Round duration - 10 Minutes
Round difficulty - Easy
Was held in the morning around 9 am
Tip 1 : Focus on graphs, most questions are from this topic
Tip 2 : Prepare well about the projects you mention in your resume
Tip 3 : Do not fill the resume with too many things. Keep it simple
Tip 1 : Have 2-3 projects on resume. But also be prepared to answer questions related to the projects.
Tip 2 : Do not mention too many things. Keep it short and simple
I appeared for an interview before Jan 2021.
Round duration - 120 Minutes
Round difficulty - Medium
The round had 2 coding problems to solve with varying difficulty. Each candidate had a different set of questions. The round was around 2 pm. The webcam was turned on to keep an eye on candidates.
Given an array ARR
of size N
, where each element represents the height of a balloon. The task is to destroy all balloons by shooting arrows from left to right. When an arrow hits...
Find the minimum number of arrows needed to burst all balloons by shooting arrows from left to right.
Sort the array in non-decreasing order to make it easier to calculate the minimum number of arrows needed.
Iterate through the sorted array and count the number of times the height decreases compared to the previous balloon.
The count of decreases + 1 will give the minimum number of arrows needed to burst all balloons.
Exa...
Count the number of leaf nodes present in a given binary tree. A binary tree is a data structure where each node has at most two children, known as the left child and the...
Count the number of leaf nodes in a binary tree.
Traverse the binary tree and check if both left and right children are NULL to identify leaf nodes.
Use recursion to traverse the tree efficiently.
Keep track of the count of leaf nodes as you traverse the tree.
Handle base cases where the current node is NULL or a leaf node.
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 questions related to DSA. I was first asked to explain my approach with proper complexity analysis and then code the soution in any IDE that I prefer.
Given a rod of a certain length, the rod can be divided into different sizes, each with an associated cost. Your task is to determine the maximum cost that can be obtained by...
The Rod Cutting Problem involves maximizing the profit obtained by cutting a rod into smaller pieces and selling them.
Use dynamic programming to solve this problem efficiently.
Create a table to store the maximum profit for each sub-length of the rod.
Iterate through the rod lengths and update the table with the maximum profit.
The final answer will be the maximum profit for the total length of the rod.
You are given an array of integers ARR
and an integer X
. Your task is to determine the number of subarrays of ARR
whose bitwise XOR is equal to X
.
Count the number of subarrays in an array whose XOR is equal to a given value.
Iterate through the array and keep track of XOR values and their frequencies using a hashmap.
For each element in the array, calculate the XOR with the current element and check if the required XOR value exists in the hashmap.
Increment the count of subarrays whenever the required XOR value is found in the hashmap.
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 questions of DSA of Easy-Medium difficulty and at the end I was asked a Puzzle to check my general problem solving ability.
You are given a grid containing oranges where each cell of the grid can contain one of the three integer values:
Find the minimum time required to rot all fresh oranges in a grid.
Use Breadth First Search (BFS) to simulate the rotting process of oranges.
Keep track of the time taken to rot all oranges and the count of fresh oranges remaining.
If all fresh oranges are not rotten after simulation, return -1.
Handle edge cases like empty grid or no fresh oranges present.
Example: For the given grid, the minimum time required is 4 seconds...
For a given singly linked list, identify if a loop exists and remove it, adjusting the linked list in place. Return the modified linked list.
A...
Detect and remove loop in a singly linked list in place with O(n) time complexity and O(1) space complexity.
Use Floyd's Cycle Detection Algorithm to identify the loop in the linked list.
Once the loop is detected, use two pointers approach to find the start of the loop.
Adjust the pointers to remove the loop and return the modified linked list.
Example: For input 5 2 and 1 2 3 4 5, return 1 2 3 4 5 without the loop.
Round duration - 50 Minutes
Round difficulty - Medium
This round had 2 Algorithmic questions wherein I was supposed to code both the problems after discussing their
approaches and respective time and space complexities . After that , I was grilled on some OOPS concepts related to C++.
You are provided with a string STR
of length N. The task is to find the longest palindromic substring within STR
. If there are several palindromic substring...
Given a string, find the longest palindromic substring within it.
Iterate through the string and expand around each character to find palindromes
Keep track of the longest palindrome found so far
Return the longest palindromic substring
You are provided with an array of integers. The task is to sort the array in ascending order using the quick sort algorithm.
Quick sort is a divide-and-conquer algorithm. It ...
Yes, the quick sort algorithm can be enhanced to achieve NlogN complexity in the worst case by using a randomized version of the algorithm.
Randomized quick sort involves randomly selecting the pivot element to reduce the chances of worst-case scenarios.
By choosing a random pivot, the algorithm becomes less predictable and more likely to achieve the desired time complexity.
This enhancement helps in avoiding the worst-ca...
Friend functions in C++ are functions that are not members of a class but have access to its private and protected members.
Friend functions are declared inside a class with the keyword 'friend'.
They can access private and protected members of the class.
They are not member functions of the class, but have the same access rights as member functions.
Friend functions are useful for implementing operators that are not part ...
Early binding is resolved at compile time while late binding is resolved at runtime in C++.
Early binding is also known as static binding, where the function call is resolved at compile time based on the type of the object.
Late binding is also known as dynamic binding, where the function call is resolved at runtime based on the actual type of the object.
Early binding is faster as the function call is directly linked to ...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Some of the top questions asked at the HARMAN Senior Engineer Product Development interview -
based on 3 interview experiences
Difficulty level
Duration
based on 104 reviews
Rating in categories
Senior Software Engineer
1.7k
salaries
| ₹12.5 L/yr - ₹27.6 L/yr |
Technical Lead
1.5k
salaries
| ₹19.3 L/yr - ₹33 L/yr |
Software Engineer
1.4k
salaries
| ₹5.3 L/yr - ₹16.3 L/yr |
Senior Product Engineer
970
salaries
| ₹10.9 L/yr - ₹19 L/yr |
Senior Engineer
964
salaries
| ₹13.2 L/yr - ₹23.8 L/yr |
Samsung
OPPO
Dell
LG Electronics