Filter interviews by
I applied via Campus Placement and was interviewed before Feb 2023. There was 1 interview round.
Bit-wise operations are operations performed on individual bits of binary numbers.
Bit-wise operations manipulate individual bits of binary numbers.
Common bit-wise operations include AND, OR, XOR, and NOT.
Bit shifting is another common bit-wise operation.
Bit-wise operations are often used for low-level programming and optimization.
Example: 5 & 3 = 1 (bit-wise AND of 101 and 011 is 001).
To find a loop in a linked list, we can use the Floyd's cycle-finding algorithm.
Use two pointers, one moving at twice the speed of the other.
If there is a loop, the fast pointer will eventually catch up to the slow pointer.
If the fast pointer reaches the end of the list, there is no loop.
Top trending discussions
posted on 6 Apr 2022
I appeared for an interview before Apr 2021.
Round duration - 75 minutes
Round difficulty - Medium
This was an online coding round where I had 2 questions to solve under 75 minutes. Both the coding questions were of Medium to Hard level of difficulty.
Given two strings, S
and X
, your task is to find the smallest substring in S
that contains all the characters present in X
.
S = "abdd"
X = "bd"
Find the smallest substring in S that contains all characters in X.
Use a sliding window approach to find the smallest substring in S that contains all characters in X.
Keep track of the characters in X using a hashmap.
Move the window by adjusting the start and end pointers until all characters in X are found.
Return the smallest substring encountered.
Given a binary tree where each node contains an integer value, and a value 'K', your task is to find all the paths in the binary tree such that the sum of the node values in ...
Find all paths in a binary tree where the sum of node values equals a given value 'K'.
Traverse the binary tree using DFS and keep track of the current path and its sum.
At each node, check if the current sum equals 'K' and add the path to the result.
Continue traversal to the left and right child nodes recursively.
Return the list of paths that sum up to 'K'.
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 questions of DS/Algo to solve under 60 minutes and 2 questions related to Operating Systems.
You are provided with a binary tree containing 'N' nodes. Your task is to determine if this tree is a Partial Binary Search Tree (BST). Return t...
Validate if a binary tree is a Partial Binary Search Tree (BST) by checking if each node's left subtree contains nodes with data less than or equal to the node's data, and each node's right subtree contains nodes with data greater than or equal to the node's data.
Check if each node's left subtree follows BST property (data <= node's data) and right subtree follows BST property (data >= node's data)
Recursively che...
Given an array of integers with 'N' elements, determine the length of the longest subsequence where each element is greater than the previous element. This...
Find the length of the longest strictly increasing subsequence in an array of integers.
Use dynamic programming to solve this problem efficiently.
Initialize an array to store the length of the longest increasing subsequence ending at each index.
Iterate through the array and update the length of the longest increasing subsequence for each element.
Return the maximum value in the array as the result.
Processes are instances of a program in execution, while threads are lightweight processes within a process.
A process is a program in execution, with its own memory space and resources.
Threads are lightweight processes within a process, sharing the same memory space and resources.
Processes are independent of each other, while threads within the same process can communicate and share data.
Example: A web browser running ...
Different types of semaphores include binary semaphores, counting semaphores, and mutex semaphores.
Binary semaphores: Can only have two states - 0 or 1. Used for mutual exclusion.
Counting semaphores: Can have multiple states. Used for managing resources with limited capacity.
Mutex semaphores: Similar to binary semaphores but with additional features like priority inheritance.
Named semaphores: Can be shared between proc...
Round duration - 60 Minutes
Round difficulty - Hard
In this round, I was asked 3 coding questions out of which I had to implement the first two and for the last question I was only asked the optimal approach. The main challenge in this round was to implement the first two questions in a production ready manner without any bugs and so I had to spent some time thinking about some Edge Cases which were important with respect to the question.
You are given an array arr
of length N
. For each element in the array, find the next greater element (NGE) that appears to the right. If there is no such greater ele...
The task is to find the next greater element for each element in an array to its right, if no greater element exists, return -1.
Use a stack to keep track of elements for which the next greater element is not found yet.
Iterate through the array from right to left and pop elements from the stack until a greater element is found.
Store the next greater element for each element in a separate array.
If the stack is empty afte...
Given a sorted array of 'N' integers, your task is to generate the power set for this array. Each subset of this power set should be individually sorted.
A power set of a set 'ARR' i...
Generate power set of a sorted array of integers with individually sorted subsets.
Use recursion to generate all possible subsets by including or excluding each element in the array.
Sort each subset before adding it to the power set.
Handle base case when all elements have been considered to add the subset to the power set.
Ninja is learning about sorting algorithms, specifically those that do not rely on comparisons. Can you help Ninja implement the counting sort algorithm?
Implement counting sort algorithm to sort an array of integers without comparisons.
Count the frequency of each element in the input array.
Create a prefix sum array to determine the position of each element in the sorted array.
Iterate through the input array and place each element in its correct position based on the prefix sum array.
Time complexity of counting sort is O(n+k), where n is the number of elements and k is
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.
I appeared for an interview in Sep 2017.
Use bitwise operations to find the sum of two numbers without using mathematical operators.
Use bitwise XOR to find the sum of two numbers without carrying.
Use bitwise AND and left shift to find the carry.
Repeat the process until there is no carry left.
To delete a node from a linked list when only given a reference to the node, we can copy the data of the next node to the given node and delete the next node.
Copy the data of the next node to the given node
Update the next pointer of the given node to skip the next node
Delete the next node
I applied via Campus Placement
The question asks to fill the blanks in a pyramid where each number is the sum of the numbers in the bottom two cells.
Start from the bottom row and work your way up, calculating the sum of the numbers in the bottom two cells for each blank space.
Use a loop to iterate through each row and column of the pyramid.
Store the calculated sum in the corresponding blank space.
Repeat the process until all the blanks are filled.
Moore's Law is the observation that the number of transistors in a dense integrated circuit doubles about every two years.
Named after Intel co-founder Gordon Moore
First stated in 1965
Has been a driving force behind technological advancements
Predicts exponential growth in computing power
Has been challenged in recent years due to physical limitations
A process is an instance of a program while a thread is a subset of a process.
A process has its own memory space while threads share memory space
Processes are heavyweight while threads are lightweight
Processes communicate through inter-process communication while threads communicate through shared memory
Examples of processes include web browsers, text editors, etc. while examples of threads include GUI updates, backgro
Multi-core processors provide faster and more efficient computing.
Improved performance and speed
Ability to handle multiple tasks simultaneously
Reduced power consumption
Better multitasking capabilities
Enhanced user experience
Examples: Intel Core i7, AMD Ryzen 9
I am a software engineer with a loving family.
I have been working as a software engineer for 5 years.
My wife is a teacher and we have two children.
We enjoy spending time together outdoors and traveling.
My parents live in a different state but we keep in touch regularly.
Family is very important to me and I prioritize spending time with them.
Developed a web-based project management tool and a mobile app for tracking expenses
Created a responsive UI using React and Bootstrap
Implemented user authentication and authorization using Firebase
Integrated Google Maps API for location tracking in the mobile app
Used Node.js and MongoDB for backend development
Collaborated with a team of four to complete the projects
I have 5 years of experience in software engineering with expertise in Java and Python.
Developed and maintained web applications using Java and Spring framework
Designed and implemented RESTful APIs using Python and Flask
Worked on database management and optimization using MySQL and MongoDB
Collaborated with cross-functional teams to deliver high-quality software products
Participated in code reviews and provided construc
My academic interests include computer science, artificial intelligence, and machine learning.
Computer science
Artificial intelligence
Machine learning
Explain Big O notation
Big O notation is used to describe the time complexity of an algorithm
It helps us understand how the algorithm's performance changes with input size
O(1) means constant time, O(n) means linear time, O(n^2) means quadratic time
We want algorithms with lower Big O values for better performance
I am open to relocation based on the job opportunity and growth prospects.
Open to relocation for the right opportunity
Willing to move for career growth
Flexible with location based on job requirements
Yes, I would love to have a pizza slice!
I am a big fan of pizza and would never say no to a slice!
Pizza is the perfect food for any occasion, whether it's a quick lunch or a late-night snack.
I particularly enjoy pepperoni and mushroom pizza, but I'm open to trying new toppings as well.
I appeared for an interview in Nov 2016.
Need more context. What needs to be done with the large rectangle?
What are the dimensions of the rectangle?
Is it a 2D or 3D object?
What is the context of the problem?
Are there any constraints or limitations?
What tools or programming languages can be used?
Derive a formula to determine how many smaller rectangles fit into a bigger rectangle given their dimensions.
Calculate the number of times the smaller rectangle can fit into the bigger rectangle horizontally and vertically
Divide the width of the bigger rectangle by the width of the smaller rectangle to get the horizontal count
Divide the height of the bigger rectangle by the height of the smaller rectangle to get the ve...
At least 4 points are required to draw a rectangle.
A rectangle has 4 sides and 4 corners, so at least 4 points are needed to define those corners.
The points must be arranged in a specific order to form a closed shape with 4 sides.
Additional points can be used to add details or modify the shape of the rectangle.
The number of points required may vary depending on the software or tool used to draw the rectangle.
Answering how to calculate new coordinates of a scaled rectangle and providing a program for it.
To calculate new coordinates, multiply the original coordinates by the scaling factor
Scaling factor can be calculated by dividing the new length/breadth by the original length/breadth
Program can take input of original coordinates, scaling factor, and output new coordinates
Example: Original coordinates: (0,0), (0,5), (5,5), (...
posted on 10 May 2015
Locate sum of 2 numbers in a linear array (unsorted and sorted) and their complexities
For unsorted array, use nested loops to compare each element with every other element until the sum is found
For sorted array, use two pointers approach starting from the beginning and end of the array and move them towards each other until the sum is found
Complexity for unsorted array is O(n^2) and for sorted array is O(n)
Pointers are used to manipulate memory addresses and values in C++. Increment/decrement, address of and value at operators are commonly used.
Incrementing a pointer moves it to the next memory location of the same data type
Decrementing a pointer moves it to the previous memory location of the same data type
The address of operator (&) returns the memory address of a variable
The value at operator (*) returns the value sto
To determine if a point is inside or outside a rectangle, we check if the point's coordinates fall within the rectangle's boundaries.
Check if the point's x-coordinate is greater than the left edge of the rectangle
Check if the point's x-coordinate is less than the right edge of the rectangle
Check if the point's y-coordinate is greater than the top edge of the rectangle
Check if the point's y-coordinate is less than the b...
To find line that divides rectangle into 2 equal halves through a point inside it.
Find the center of the rectangle
Draw a line from the center to the given point
Extend the line to the opposite side of the rectangle
The extended line will divide the rectangle into 2 equal halves
There are multiple combinations of 8-bit and 16-bit signed numbers. How many such combinations are possible?
There are 2^8 (256) possible combinations of 8-bit signed numbers.
There are 2^16 (65,536) possible combinations of 16-bit signed numbers.
To find the total number of combinations, we can add the number of combinations of 8-bit and 16-bit signed numbers.
Therefore, the total number of possible combinations is 256 +
Find duplicates in an array of elements in 0(n) time and 0(1) space.
Use the property of inputs to your advantage
Iterate through the array and mark elements as negative
If an element is already negative, it is a duplicate
Return all the negative elements as duplicates
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.
based on 2 interviews
Interview experience
based on 3 reviews
Rating in categories
Software Engineer
345
salaries
| ₹12 L/yr - ₹42 L/yr |
SOC Design Engineer
216
salaries
| ₹10.5 L/yr - ₹36 L/yr |
System Validation Engineer
191
salaries
| ₹13.3 L/yr - ₹44 L/yr |
Design Engineer
168
salaries
| ₹11.6 L/yr - ₹46 L/yr |
Physical Design Engineer
155
salaries
| ₹8.2 L/yr - ₹28 L/yr |
Qualcomm
Nvidia
Microsoft Corporation
Tata Electronics