Filter interviews by
I applied via Naukri.com and was interviewed in Jul 2024. There was 1 interview round.
Top trending discussions
Array is a collection of elements stored in contiguous memory locations while linked list is a collection of nodes linked by pointers.
Arrays have fixed size while linked lists can grow or shrink dynamically
Insertion and deletion is faster in linked lists than arrays
Accessing elements in arrays is faster than linked lists
Arrays are better for random access while linked lists are better for sequential access
An array of key-value pairs is the best data structure for a dictionary.
Use a hash table or a balanced tree to implement the dictionary.
Keys should be unique and immutable.
Values can be any data type.
Access time should be O(1) or O(log n) depending on the implementation.
Examples: Python's dict, Java's HashMap, C++'s unordered_map.
Hashing is a technique to map data to a fixed-size table. Time complexity of searching a hash table is O(n) in worst case.
Hashing is used to store and retrieve data quickly
It uses a hash function to map data to a fixed-size table
In the best case, searching a hash table takes O(1) time
In the worst case, all the data maps to the same index and searching takes O(n) time
Collision resolution techniques like chaining and ope...
A linked list is used to store and manipulate a collection of data elements in a linear order.
Linked lists are commonly used in computer science for implementing data structures like stacks, queues, and hash tables.
They are also used in operating systems for managing memory allocation.
For example, a linked list can be used to implement a music playlist where each song is a node and the links between nodes represent the...
Implement a stack using a linked list
Create a Node class with data and next pointer
Create a Stack class with top pointer
Push new nodes to the top of the stack
Pop nodes from the top of the stack
Check if the stack is empty before popping
BST stands for Binary Search Tree, a data structure used for efficient searching and sorting operations.
BST is a tree-like data structure where each node has at most two children.
The left child of a node contains a value less than the parent node, while the right child contains a value greater than the parent node.
BST allows for efficient searching and sorting operations with a time complexity of O(log n).
Examples of a...
Program to check if a binary tree is a BST
Traverse the tree in-order and check if the values are in ascending order
Use a min-max range for each node to check if it satisfies the BST property
Recursively check if the left and right subtrees are BSTs
Endianess refers to the order in which bytes are stored in memory. Little endian stores the least significant byte first.
Check the byte order of a multi-byte integer value
Use a test value with known byte order to determine the system's endianess
Check the system's documentation or specifications
Use a code snippet to determine the endianess
Function pointers can be shared across processes using inter-process communication mechanisms like shared memory, pipes, sockets, etc.
Function pointers can be stored in shared memory regions that are accessible by multiple processes.
Processes can communicate with each other using pipes or sockets and pass function pointers as arguments.
Remote Procedure Call (RPC) mechanisms can also be used to share function pointers a...
Binder is a mechanism for inter-process communication in Android.
Binder allows different processes to communicate with each other.
It is used for implementing Android's IPC (Inter-Process Communication) system.
Binder uses a client-server model where the client sends requests to the server and the server responds with the requested data.
It is used for sharing data between different components of an Android application.
Bi...
sysctrl is a system control utility used to manage system settings and configurations.
sysctrl is used to manage system settings and configurations such as network settings, power management, and hardware configurations.
It can be used to start, stop, and restart system services.
sysctrl is commonly used in Linux and Unix-based operating systems.
Examples of sysctrl commands include 'sysctrl -p' to reload all settings from...
Device tree is a data structure used to describe hardware components in a system and their interconnections.
Device tree is used in embedded systems to provide a standardized way of describing hardware components.
It is written in a language called Device Tree Source (DTS) and compiled into a binary format called Device Tree Blob (DTB).
The device tree is loaded by the bootloader and used by the kernel to configure the ha...
4 IPCs used in user level process in Linux
Message Queues - allows processes to exchange data through messages
Shared Memory - allows processes to share a portion of memory
Semaphores - used for synchronization between processes
Pipes - allows communication between two related processes
Inter-process communication mechanisms like pipes, sockets, message queues, shared memory can be used to call a function from one user process to another.
Use pipes to establish a unidirectional communication channel between two processes.
Use sockets to establish a bidirectional communication channel between two processes.
Use message queues to send messages between processes.
Use shared memory to share data between proce...
Program with 2 threads printing even and odd numbers in sequence. How to make it SMP safe?
Use mutex locks to ensure only one thread accesses the shared resource (the number to be printed) at a time
Use condition variables to signal when it's safe for the other thread to access the shared resource
Use atomic variables to ensure that the shared resource is accessed atomically
Use thread-safe data structures to store the sha...
Medium difficulty level of questions
Reversing a linked list involves changing the direction of the pointers between nodes.
Initialize three pointers: prev, current, and next.
Set prev to null and current to the head of the list.
Iterate through the list: update next to current.next, current.next to prev, then move prev and current forward.
Continue until current is null, then set the head to prev.
Example: For list 1 -> 2 -> 3, after reversal it becomes...
The Two-Sum Problem involves finding two numbers in an array that add up to a specific target sum.
Given an array of integers and a target sum, identify two numbers that sum to the target.
Example: For array [2, 7, 11, 15] and target 9, the answer is indices 0 and 1 (2 + 7 = 9).
Use a hash map to store numbers and their indices for efficient lookup.
Time complexity is O(n) with a single pass through the array.
posted on 7 May 2017
I appeared for an interview in Feb 2017.
malloc is a function in C that dynamically allocates memory on the heap. It is used to allocate memory for variables or data structures.
malloc is used in C programming language.
It is used to allocate memory on the heap.
malloc is different from 'new' in C++ as it does not call constructors for objects.
C++ is a general-purpose programming language while Objective C is a superset of C used for iOS and macOS development.
C++ is widely used for developing applications, games, and system software.
Objective C is mainly used for iOS and macOS development.
C++ supports both procedural and object-oriented programming paradigms.
Objective C is an object-oriented language with dynamic runtime features.
C++ has a larger community a...
Class container is a class that holds objects of other classes, while class composition is a way to combine multiple classes to create a new class.
Class container holds objects of other classes, acting as a collection or container.
Class composition combines multiple classes to create a new class with its own behavior and attributes.
In class container, the objects are typically stored in a data structure like an array o...
Divide the horses into groups of 5 and race them. Take the top 2 from each race and race them again. Finally, race the top 2 horses to determine the top 3.
Divide the horses into 3 groups of 5 and race them.
Take the top 2 horses from each race and race them again.
Finally, race the top 2 horses to determine the top 3.
Developing a real-time data processing system for a high-traffic e-commerce website
Implemented a distributed system architecture to handle large volumes of data
Optimized algorithms for efficient data processing and storage
Utilized caching mechanisms to improve system performance
Worked closely with cross-functional teams to troubleshoot and resolve issues
Example: Successfully reduced data processing time by 50% by imple...
Seeking new challenges and opportunities for growth.
Looking for a more challenging role to further develop my skills
Interested in exploring new technologies and industries
Seeking better career advancement opportunities
Want to work in a more collaborative team environment
The width of a tree is the maximum number of nodes at any level in the tree.
To calculate the width of a tree, we can perform a level order traversal and keep track of the maximum number of nodes at any level.
We can use a queue data structure to perform the level order traversal.
At each level, we count the number of nodes in the queue and update the maximum width if necessary.
I appeared for an interview in Aug 2017.
I appeared for an interview in Aug 2017.
I lack experience in a specific technology required for the role.
I may not have experience with a specific programming language or framework mentioned in the job description.
I may not have worked on projects similar to what your company is working on.
I may not have experience with certain tools or technologies that are crucial for the role.
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
AC and DC are two types of electrical current with different characteristics.
AC stands for Alternating Current, while DC stands for Direct Current.
AC periodically changes direction, while DC flows in one direction.
AC is commonly used in household electrical systems, while DC is used in batteries and electronic devices.
AC can be easily transformed to different voltage levels using transformers, while DC requires convert...
Fill the cells in the pyramid
The pyramid is a pattern of numbers or characters arranged in a triangular shape
Each row of the pyramid has one more cell than the previous row
Start filling the pyramid from the top and move downwards
The cells can be filled with any desired numbers or characters
An alternator and generator are devices that convert mechanical energy into electrical energy.
Both alternators and generators are used to generate electricity.
They work on the principle of electromagnetic induction.
Alternators are commonly used in modern vehicles to charge the battery and power the electrical systems.
Generators are often used as backup power sources during power outages.
Examples of alternators include ...
Quick sort has an average and worst-case time complexity of O(n log n).
Quick sort is a divide-and-conquer algorithm.
It selects a pivot element and partitions the array around the pivot.
The average and worst-case time complexity is O(n log n).
However, in the worst-case scenario, it can have a time complexity of O(n^2).
I developed a mobile app for tracking daily water intake and hydration levels.
Researched best practices for hydration tracking
Designed user-friendly interface for inputting water intake
Implemented data visualization for tracking hydration levels
Tested app with focus groups for feedback
Continuously updated app based on user suggestions
SHA Algorithm is a cryptographic hash function that takes an input and produces a fixed-size output.
SHA stands for Secure Hash Algorithm.
It is widely used in various security applications and protocols.
SHA-1, SHA-256, SHA-384, and SHA-512 are common variants of SHA.
It generates a unique hash value for each unique input.
The output is a fixed length, regardless of the input size.
SHA is used for data integrity, password h...
To delete a node in a linked list, we need to adjust the pointers of the previous node and the next node.
Find the node to be deleted
Adjust the pointers of the previous node and the next node
Free the memory of the deleted node
I am a passionate software engineer with experience in developing web applications and a strong background in computer science.
Experienced in developing web applications using technologies like HTML, CSS, JavaScript, and React
Strong background in computer science with knowledge of data structures and algorithms
Proficient in programming languages such as Java, Python, and C++
Familiar with Agile development methodologies...
As an intern supervisor, I faced challenges in terms of communication, technical skills, and time management.
Communication barriers due to language or cultural differences
Lack of technical skills or knowledge required for the job
Difficulty in managing time and meeting deadlines
Inability to work independently or as part of a team
Resistance to feedback or constructive criticism
Limited exposure to real-world scenarios and...
I prefer a job place that offers a collaborative and innovative work environment.
Prefer a workplace that encourages teamwork and communication
Value opportunities for learning and growth
Seek a company that fosters creativity and innovation
I will solve disputes by promoting open communication, active listening, and finding mutually beneficial solutions.
Encourage open and honest communication between parties involved
Actively listen to each party's concerns and perspectives
Identify common goals and interests to find mutually beneficial solutions
Mediate discussions and facilitate negotiations if necessary
Document agreements and ensure follow-up to prevent f...
Qualcomm is a leading semiconductor and telecommunications equipment company.
Qualcomm is known for its expertise in wireless technologies and mobile chipsets.
They have developed popular Snapdragon processors used in smartphones and tablets.
Qualcomm has made significant contributions to the advancement of 5G technology.
The company has a strong patent portfolio and is involved in licensing its technology to other manufac...
based on 1 interview experience
Difficulty level
Duration
Software Engineer
138
salaries
| ₹13.4 L/yr - ₹28.6 L/yr |
Accountant
122
salaries
| ₹1.3 L/yr - ₹4.5 L/yr |
Senior Software Engineer
117
salaries
| ₹16.8 L/yr - ₹30 L/yr |
R&D Engineer
48
salaries
| ₹15.1 L/yr - ₹60.2 L/yr |
Test Engineer
47
salaries
| ₹3 L/yr - ₹10.7 L/yr |
Qualcomm
Intel
Apar Industries
Molex