i
Apple
Work with us
Filter interviews by
Optimised algorithm to find given number in 2D array
Use binary search for each row to find the number
Start from top-right or bottom-left corner for faster search
Divide and conquer approach can also be used
Code to return list of tuples with elements summing up to given sum
Iterate through the list and check for pairs of elements whose sum equals the given sum
Add the pairs to a list of tuples and return the list
Use a nested loop to compare each element with all other elements in the list
Code to check if given string of parentheses is balanced or not.
Use a stack to keep track of opening parentheses
If a closing parenthesis is encountered, check if the top of stack is its corresponding opening parenthesis
If stack is empty or top of stack is not the corresponding opening parenthesis, return false
If all parentheses are balanced, return true
Top trending discussions
I applied via Naukri.com and was interviewed before Jul 2020. There were 4 interview rounds.
I appeared for an interview before Jan 2021.
Round duration - 120 Minutes
Round difficulty - Medium
This was an online coding round where we had 3 questions to solve under 120 minutes. The questions were of medium to hard difficulty level.
Determine the minimum time required to travel from a starting point to a destination point in a two-dimensional coordinate system, considering both direct movement and the...
Find the minimum time to travel from a starting point to a destination point using direct movement and wormholes.
Calculate the time taken for direct movement from source to destination.
Consider using each wormhole to see if it reduces the total travel time.
Choose the path with the minimum total time to reach the destination.
Ninja needs help in a battle against the string man. Given two strings, 'S' and 'T', the task is to find the number of substrings in 'S' that differ from some su...
The task is to find the number of substrings in 'S' that differ from some substrings of 'T' by exactly one character.
Iterate through all substrings of 'S' and 'T' and compare them character by character to find the ones that differ by exactly one character.
Use nested loops to generate all possible substrings of 'S' and 'T'.
Count the number of substrings that differ by exactly one character and return the total count.
Determine whether a given integer N
is a power of two. Return true
if it is, otherwise return false
.
An integer 'N' is considered a power of two if it can be e...
Check if a given integer is a power of two or not.
Check if the given integer is greater than 0.
Check if the given integer has only one bit set in its binary representation.
Return true if the above conditions are met, else return false.
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 questions related to DSA where I was first expected to explain my approaches and then discuss the time and space complexities of my solution. After that , I was asked some core concepts related to OS.
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed link...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node instead of the next node.
Use three pointers - prev, current, and next to reverse the linked list in O(N) time and O(1) space complexity.
Update the head of the reversed linked list as the last node encountered during reversal.
You are provided with an undirected graph containing 'N' vertices and 'M' edges. The vertices are numbered from 1 to 'N'. Your objective is to determi...
Detect cycles in an undirected graph.
Use Depth First Search (DFS) to detect cycles in the graph.
Maintain a visited array to keep track of visited vertices.
If a visited vertex is encountered again during DFS, a cycle exists.
Check for cycles in each connected component of the graph.
Example: For input N=3, Edges=[[1, 2], [2, 3], [1, 3]], output is Yes.
Mutex is used for exclusive access to a resource by only one thread at a time, while semaphore can allow multiple threads to access a resource simultaneously.
Mutex is binary semaphore with ownership, used for mutual exclusion.
Mutex is typically used to protect critical sections of code.
Semaphore is a signaling mechanism, used for synchronization between multiple threads.
Semaphore can have a count greater than 1, allowi...
Multitasking refers to the ability of an operating system to run multiple tasks concurrently, while multithreading involves executing multiple threads within a single process.
Multitasking allows multiple processes to run simultaneously on a single processor, switching between them quickly to give the illusion of parallel execution.
Multithreading involves breaking a process into multiple threads that can be executed ind...
Round duration - 60 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 given a long type array/list ARR
of size N
, representing an elevation map. The value ARR[i]
denotes the elevation of the ith
bar. Your task is to determine th...
Calculate the total amount of rainwater that can be trapped between given elevations in an array.
Iterate through the array and calculate the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped at each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water at each bar to get the total trapped water for the entire array.
You are provided with an array nums
which contains the first N positive integers. In this array, one integer appears twice, and one integer is missi...
Given an array of first N positive integers with one number repeating and one missing, find the repeating and missing numbers.
Iterate through the array and keep track of the sum of elements and sum of squares to find the missing and repeating numbers.
Use a set to identify the repeating number and calculate the missing number based on the sum of elements.
Example: For nums = [1, 2, 3, 4, 4, 5], the repeating number is 4 ...
Diamond Problem in C++ is a common issue in multiple inheritance where a class inherits from two classes that have a common base class.
Diamond Problem occurs when a class inherits from two classes that have a common base class, leading to ambiguity in accessing members.
It can be resolved in C++ using virtual inheritance, where the common base class is inherited virtually to avoid duplicate copies of base class members.
...
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 'friend' keyword.
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 membe...
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.
posted on 3 Dec 2015
I appeared for an interview in Aug 2016.
posted on 2 Dec 2016
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
Software Engineer
194
salaries
| ₹49.5 L/yr - ₹81.2 L/yr |
Software Developer
117
salaries
| ₹23.4 L/yr - ₹40 L/yr |
Ipro
116
salaries
| ₹2 L/yr - ₹5 L/yr |
Sales Executive
100
salaries
| ₹1.6 L/yr - ₹4.8 L/yr |
Senior Software Engineer
93
salaries
| ₹18 L/yr - ₹68.5 L/yr |
Amazon
Microsoft Corporation
Samsung