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 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...
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...
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
.
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:
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...
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...
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 ...
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.
I appeared for an interview before Sep 2020.
Round duration - 60 minutes
Round difficulty - Easy
This was coding round and was conducted on Cocubes platform. It is not IDE but kind of white board coding platform. C/C++, Java and Python were only allowed languages.
Round duration - 30 minutes
Round difficulty - Easy
This was pen and paper round. Total 40 shortlisted candidates were grouped into 8 groups (each of 5). Each group was given a coding question which they have to solve on paper and explain it to the recruiter. 2 to 3 from each group were selected for the next round.
Round duration - 60 minutes
Round difficulty - Easy
This was general face to face Data Structures and Algorithms based round.
Spiral order traversal of a binary tree involves printing nodes level by level alternating between left to right and right to left.
Start by pushing the root node into a queue.
While the queue is not empty, pop a node, print its value, and push its children into the queue.
For each level, alternate between printing nodes from left to right and right to left.
Repeat until all nodes are printed in spiral order.
Round duration - 45 minutes
Round difficulty - Easy
It was the last round.
Be real during the interview and don’t show off. Also, practice Data Structures and Algorithms based problems as only through practice you will be able to solve questions quickly during the interview. Also prepare for theory subjects like Object-Oriented Programming System, Database Management System, Computer networks, etc.
Application resume tips for other job seekersKeep your resume simple. Prefer LaTeX. Don't use colourful templates. They are too common and very unprofessional. Keep it black and white and keep your content richer. Keep it of 1 page and 2 pages only if you have achieved a lot. Don’t use fillers. Any unwanted information on the resume leaves a bad impact on the interviewer.
Final outcome of the interviewSelectedI appeared for an interview before Sep 2020.
Round duration - 180 minutes
Round difficulty - Easy
This was Online Coding round on Samsung Software. There were 50 test cases and all test cases should be passed to get selected.
Round duration - 30 minutes
Round difficulty - Easy
This was also Face to Face coding Interview totally based on Data Structures and Algorithms.
The Longest Increasing Subsequence (LIS) problem is to find the length of the longest subsequence of a given sequence with increasing order.
Use dynamic programming to solve the LIS problem efficiently.
Maintain an array to store the length of the LIS ending at each element.
Iterate through the array and update the LIS length based on previous elements.
Example: For input [10, 22, 9, 33, 21, 50, 41, 60, 80], the LIS is [10...
Round duration - 30 minutes
Round difficulty - Easy
This Face to Face Interview was Based on coding and projects.
DFS is a graph traversal algorithm that explores as far as possible along each branch before backtracking.
Start at a node and explore as far as possible along each branch before backtracking
Use a stack to keep track of nodes to visit
Mark visited nodes to avoid revisiting them
Recursive implementation is common
Round duration - 15 minutes
Round difficulty - Easy
HR round was mainly based on questions about myself and my knowledge about the company.
Always remember question-solving is not everything in the interview, its a part of interview. Communicating well with the interviewer is most important thing during the interview. Also practice lot of Data Structures and Algorithms based questions that I have practiced from Coding Ninjas and on other coding portals.
Application resume tips for other job seekersMention good projects and only those skills in which you are confident.
Final outcome of the interviewSelectedI appeared for an interview before Jan 2021.
Round duration - 120 Minutes
Round difficulty - Hard
This round had 3 preety good questions to be solved under 2 hours . The first question was from Graphs and DSU , the second question was related to DP and the third one was from Recursion.
On a 2-D plane, there are ‘N’ stones placed at some integer coordinate points. Each coordinate point can have at most one stone. A stone can be removed if it sh...
Given a 2-D plane with stones at integer coordinate points, find the maximum number of stones that can be removed by sharing the same row or column.
Iterate through the stones and create a graph where stones in the same row or column are connected.
Use depth-first search (DFS) to find connected components in the graph.
The maximum number of stones that can be removed is the total number of stones minus the number of conne...
You are provided with a gold mine, represented as a 2-dimensional matrix of size N x M with N rows and M columns. Each cell in this matrix contains a positive integer represent...
Given a positive integer N
, generate all possible sequences of balanced parentheses using N
pairs of parentheses.
A sequence of brackets is called bala...
Generate all possible sequences of balanced parentheses using N pairs of parentheses.
Use backtracking to generate all possible combinations of balanced parentheses.
Keep track of the number of opening and closing parentheses used.
Add opening parentheses if there are remaining, and add closing parentheses only if there are more opening parentheses than closing.
Recursively generate all valid combinations.
Return the list o...
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 questions from DSA. Both the questions were preety straightforward and were asked to check my implementation skills and how well do I handle Edge Cases for tricky problems.
Develop a Stack Data Structure to store integer values using two Queues internally.
Your stack implementation should provide these public functions:
Given a square matrix 'MATRIX' of non-negative integers, rotate the matrix by 90 degrees in an anti-clockwise direction using only constant extra space.
Rotate a square matrix by 90 degrees in an anti-clockwise direction using constant extra space.
Iterate through each layer of the matrix and swap elements in groups of 4
Transpose the matrix and then reverse each row to achieve the rotation
Ensure to handle edge cases like odd-sized matrices
Round duration - 60 Minutes
Round difficulty - Medium
This round also 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 OOPS and OS.
Given an array ARR
consisting of N
integers, find all distinct triplets in the array that add up to a given number K
.
T = 2
N = 5
ARR = [1, 2, 3, 4, 5]
K = 9
N = 4
...
Find all distinct triplets in an array that add up to a given number.
Use three nested loops to iterate through all possible triplets.
Sort the array first to easily skip duplicates.
Use two-pointer technique to find the remaining element for each triplet.
Handle edge cases like empty list or no triplet summing up to K.
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.
Diamond Problem is a multiple inheritance issue in C++ 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.
Example: c...
Round duration - 30 Minutes
Round difficulty - Easy
This was my last round and I hoped it to go good just like the other rounds. The interviewer was very straight to point and professional. The interview lasted for 30 minutes.
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 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...
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...
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...
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...
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...
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...
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
Software Engineer
214
salaries
| ₹33.5 L/yr - ₹55.4 L/yr |
Software Developer
147
salaries
| ₹25.8 L/yr - ₹42 L/yr |
Ipro
116
salaries
| ₹2 L/yr - ₹5 L/yr |
Sales Executive
107
salaries
| ₹1.7 L/yr - ₹5.3 L/yr |
Senior Software Engineer
80
salaries
| ₹28.5 L/yr - ₹60 L/yr |
Amazon
Microsoft Corporation
Samsung