Filter interviews by
I applied via Campus Placement and was interviewed before May 2023. There were 3 interview rounds.
It was basic DSA round consisting of DP question and Graph question.
I applied via Referral and was interviewed before Mar 2023. There were 5 interview rounds.
Hackker Rank test with 20 MCQ and 2 coding questions
Coding Interview question - ugly number, kadane algorithm
More coding questions with LRU and Design a data structure with o(1) insertion, deletion, search time and few technical questions
What people are saying about Adobe
To find and remove a loop in a Linked List, we can use Floyd's Cycle Detection Algorithm.
Use two pointers, slow and fast, to detect if there is a loop in the Linked List
If the two pointers meet at some point, there is a loop
To remove the loop, set one of the pointers to the head of the Linked List and move both pointers one step at a time until they meet again
The meeting point is the start of the loop, set the next poi
Find the maximum window size to sort an unsorted array.
Identify the longest decreasing subarray from the beginning and longest increasing subarray from the end
Find the minimum and maximum element in the identified subarrays
Expand the identified subarrays until all elements in the array are covered
The length of the expanded subarray is the maximum window size
Finding the longest last occurring word in a sentence with multiple whitespace.
Split the sentence into words using whitespace as delimiter
Reverse the list of words
Iterate through the list and find the first occurrence of each word
Calculate the length of each last occurring word
Return the longest last occurring word
Merge sort and Quick sort are sorting algorithms used to sort arrays of data.
Merge sort is a divide and conquer algorithm that divides the input array into two halves, sorts each half recursively, and then merges the sorted halves.
Quick sort is also a divide and conquer algorithm that selects a pivot element and partitions the array around the pivot, sorting the two resulting sub-arrays recursively.
Merge sort has a tim...
Process is an instance of a program while thread is a subset of a process that can run concurrently with other threads.
A process is a program in execution
A process can have multiple threads
Threads share the same memory space as the process
Threads can run concurrently with other threads within the same process
Examples of processes include web browsers, word processors, and media players
Examples of threads include GUI th
A recursive function calls itself until a base case is reached, then returns the result to the previous call.
Each call creates a new instance of the function on the call stack
The function continues to call itself until a base case is reached
Once the base case is reached, the function returns the result to the previous call
The previous call then continues executing from where it left off
Code to find number of combinations of reaching step N by ball falling from staircase with 1 or 2 steps per jump.
Use dynamic programming to solve the problem
Create an array to store the number of ways to reach each step
Initialize the array with base cases for steps 0, 1, and 2
Use a loop to fill in the array for steps 3 to N
The number of ways to reach step i is the sum of the number of ways to reach step i-1 and i-2
Retu
Priority queue is a data structure that stores elements with priority levels and retrieves them in order of priority.
Priority queue is implemented using a heap data structure.
Stack can be implemented using a priority queue by assigning higher priority to the most recently added element.
Queue can be implemented using a priority queue by assigning higher priority to the oldest element.
Implementing stack using queue involves using two queues to simulate stack behavior.
Create two queues, q1 and q2.
Push operation: Enqueue the element to q1.
Pop operation: Dequeue all elements from q1 to q2 except the last element. Dequeue and return the last element.
Swap the names of q1 and q2 after each pop operation.
Top operation: Return the last element of q1 without dequeuing it.
isEmpty operation: Check if both q1 a
I lost my job during the pandemic and struggled to find a new one
Applied to multiple job openings daily
Networked with former colleagues and industry professionals
Took online courses to improve skills
Maintained a positive attitude and stayed motivated
Eventually landed a new job in a different industry
I would have pursued a career in music or writing.
I have always had a passion for music and writing.
I have played multiple instruments since childhood.
I have written and published short stories and poetry.
I believe creativity is an important aspect of any profession.
I value my relationships with loved ones the most.
Spending quality time with family and friends
Making an effort to stay in touch with long-distance loved ones
Prioritizing important events and milestones in their lives
Being there for them during difficult times
Forgiving and working through conflicts to maintain strong bonds
Adobe interview questions for designations
Get interview-ready with Top Adobe Interview Questions
I appeared for an interview before Jan 2021.
Round duration - 120 Minutes
Round difficulty - Medium
This was an online Coding+MCQ round. Both the coding questions were related to DP and were of Medium to Hard Difficulty.The MCQ's were of easy-medium level but one has to be fast in order to complete the section in the given time frame.
You are given an array ARR
of N integers. Your task is to perform operations on this array until it becomes empty, and maximize the sum of selected elements. In each operatio...
Given an array, select elements to maximize sum by removing adjacent elements.
Iterate through the array and keep track of the count of each element.
Select the element with the highest count first, then remove adjacent elements.
Repeat the process until the array is empty and sum the selected elements.
Imagine Ninja is tackling a puzzle during his long summer vacation. He has two arrays of integers, each with lengths 'N' and 'M'. Ninja's task is to dete...
Find the length of the longest common prime subsequence between two arrays of integers.
Iterate through both arrays to find prime numbers
Use a set to keep track of common prime numbers
Return the size of the set as the length of the longest common prime subsequence
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++.
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 to find the start of the loop.
Adjust the pointers to remove the loop and return the modified linked list.
Develop a Stack Data Structure to store integer values using two Queues internally.
Your stack implementation should provide these public functions:
Implement a stack using two queues to store integer values with specified functions.
Create a stack class with two queue data members.
Implement push(data), pop(), top(), size(), and isEmpty() functions.
Use one queue for pushing elements and another for temporary storage during operations.
Ensure proper handling of edge cases such as empty stack.
Example: If input is Q = 5, 1 42, 2, 3, 1 17, the output should be 42, -1, 17
Vtable and VPTR are used in C++ for implementing polymorphism through virtual functions.
Vtable (Virtual Table) is a table of function pointers used to implement dynamic dispatch in C++ for virtual functions.
VPTR (Virtual Pointer) is a pointer that points to the Vtable of an object, allowing dynamic binding of virtual functions at runtime.
Vtable is created for each class that has virtual functions, containing pointers t...
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.
Example: friend void displayDetails(Student);
Round duration - 60 minutes
Round difficulty - Medium
This round had 3 preety good questions related to DSA and some questions revolving around Memory Management and Operating Systems.
Given a binary search tree (BST) with 'N' nodes, find the predecessor and successor of a given 'KEY' node in the BST.
The predecessor o...
Find predecessor and successor of a given node in a binary search tree (BST).
Predecessor is the node visited just before the given node in an inorder traversal.
Successor is the node visited immediately after the given node in an inorder traversal.
Return -1 if predecessor or successor does not exist.
Implement inorder traversal to find predecessor and successor.
You are provided with a number of stairs, and initially, you are located at the 0th stair. You need to reach the Nth stair, and you can climb one or tw...
The problem involves counting the number of distinct ways to climb N stairs by taking 1 or 2 steps at a time.
Use dynamic programming to solve the problem efficiently.
The number of ways to reach the Nth stair is the sum of the number of ways to reach the (N-1)th stair and the (N-2)th stair.
Handle base cases for N=0 and N=1 separately.
Apply modulo operation to avoid overflow while calculating the result.
Consider using me...
You are given an array 'A' of length 'N'. You must choose an element from any index in this array and delete it. After deleting the element, you will obtain a new array of le...
Given an array, find the number of 'good' arrays that can be formed by deleting one element.
Iterate through each element in the array and check if deleting it results in a 'good' array
Keep track of the sum of elements at odd and even indices to determine if the array is 'good'
Return the count of 'good' arrays
Memory protection in operating systems prevents one process from accessing or modifying the memory of another process.
Memory protection ensures that each process has its own isolated memory space.
It prevents unauthorized access to memory locations, improving system stability and security.
Operating systems use techniques like virtual memory and access control lists to enforce memory protection.
Examples include segmentat...
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 applied via Campus Placement and was interviewed in Dec 2016. There were 3 interview rounds.
Given 2 arrays with n and n-1 elements, find the unique element in the larger array.
Loop through the larger array and check if each element is present in the smaller array.
If an element is not present in the smaller array, it is the unique element.
Return the unique element.
Example: arr1 = ['a', 'b', 'c', 'd'], arr2 = ['a', 'b', 'c'], unique element = 'd'
Density of a person in a social networking graph is the ratio of friends who interacted with the person to the total number of friends.
Calculate the number of friends who interacted with the person.
Calculate the total number of friends for that person.
Divide the number of interacting friends by the total number of friends to get the density.
Density = (Number of interacting friends) / (Total number of friends)
Given a map of coffee shops and a person, find the closest n coffee shops to him.
Use the person's location and calculate the distance to each coffee shop on the map.
Sort the coffee shops by distance and return the closest n.
Consider using a data structure like a priority queue to efficiently find the closest coffee shops.
Higher studies not necessary for current career goals.
My current career goals do not require higher studies.
I have gained enough knowledge and experience through my work.
I believe in continuous learning and development through on-the-job training and workshops.
I am open to pursuing higher studies in the future if it aligns with my career goals.
I applied via Naukri.com and was interviewed in Nov 2020. There were 5 interview rounds.
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Easy
Online coding assessment having 20 MCQs and 2 coding questions
You are given a N x M
matrix of integers. Your task is to return the spiral path of the matrix elements.
The first line contains an integer 'T' which denotes the nu...
The task is to return the spiral path of elements in a given matrix.
Iterate through the matrix in a spiral path by keeping track of boundaries.
Print elements in the order of top row, right column, bottom row, and left column.
Continue the spiral path until all elements are printed.
Given three non-negative integers X
, Y
, and Z
, determine the longest happy string. A happy string is defined as a string that contains only the letters 'a', 'b', and...
The longest happy string problem involves constructing a string with 'a', 'b', and 'c' without having any three consecutive letters being the same.
Determine the maximum number of times 'a', 'b', and 'c' can appear in the string based on the given input values.
Construct the longest happy string by alternating between 'a', 'b', and 'c' while respecting the constraints.
Return '1' if a correct happy string can be formed, o
Round duration - 60 minutes
Round difficulty - Easy
The first interview round was fairly easy, and the interviewer was very helpful. It was an hour long interview.
Imagine you are Harshad Mehta's friend, and you have been given the stock prices of a particular company for the next 'N' days. You can perform up to two buy-and-sell ...
The task is to determine the maximum profit that can be achieved by performing up to two buy-and-sell transactions on a given set of stock prices.
Iterate through the array of stock prices to find the maximum profit that can be achieved by buying and selling stocks at different points.
Keep track of the maximum profit that can be achieved by considering all possible combinations of buy and sell transactions.
Ensure that y...
Determine if a given singly linked list of integers forms a cycle or not.
A cycle in a linked list occurs when a node's next
points back to a previous node in the ...
Detect if a singly linked list forms a cycle by checking if a node's next pointer points back to a previous node.
Traverse the linked list using two pointers, one moving one step at a time and the other moving two steps at a time.
If the two pointers meet at any point, there is a cycle in the linked list.
Use Floyd's Cycle Detection Algorithm for efficient detection of cycles in linked lists.
Round duration - 90 minutes
Round difficulty - Medium
It was a long interview, although the interviewer was again very friendly. The main focus was on problem solving in this round too.
Given an array arr
of size N
, determine the minimum number of swaps required to sort the array in ascending order. The array consists of distinct elements onl...
The minimum number of swaps required to sort an array of distinct elements in ascending order.
Use a hashmap to store the index of each element in the array.
Iterate through the array and swap elements to their correct positions.
Count the number of swaps needed to sort the array.
You are playing a coin game with your friend Ninjax. There are N
coins placed in a straight line.
Here are the rules of the game:
1. Each coin has a value associated wit...
The problem involves finding the optimal strategy to accumulate the maximum amount in a coin game with specific rules.
Start by considering the base cases where there are only 1 or 2 coins.
Use dynamic programming to keep track of the maximum amount that can be won at each step.
Consider the different scenarios when choosing a coin from either end of the line.
Keep track of the total winnings for both players and choose th...
Tip 1 : Solve questions in each topic and make sure to note down important concepts for quick review
Tip 2 : Practice specifically for interviews too by solving questions asked previously in top firms
Tip 3 : Pay utmost importance to your projects
Tip 1 : Put links for your projects on resume
Tip 2 : Strictly one page, with only relevant points
I applied via Campus Placement and was interviewed before Aug 2021. There were 4 interview rounds.
Maths,reasoning and Java questions
1. Program on lift technology
Some of the top questions asked at the Adobe Member Technical Staff interview -
based on 3 interviews
1 Interview rounds
based on 10 reviews
Rating in categories
Computer Scientist
452
salaries
| ₹20 L/yr - ₹70 L/yr |
Technical Consultant
284
salaries
| ₹13.8 L/yr - ₹30 L/yr |
Computer Scientist 2
259
salaries
| ₹29.4 L/yr - ₹101 L/yr |
Software Engineer
257
salaries
| ₹8 L/yr - ₹30 L/yr |
Senior Software Engineer
207
salaries
| ₹10 L/yr - ₹42 L/yr |
Salesforce
Oracle
Microsoft Corporation
Amazon