Adobe interview experience Real time questions & tips from candidates to crack your interview

MTS 1

Adobe
upvote
share-icon
3 rounds | 9 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 2 months
Topics: Data Structures, Algorithms, OOPs, OS, DBMS
Tip
Tip

Tip 1 : Practice DSA from the internet etc.
Tip 2 : Go through the subjects from internet etc.

Application process
Where: Referral
Eligibility: 2 years experience
Resume Tip
Resume tip

Tip 1 : Keep it one-pager
Tip 2 : Try to cover maximum points by keeping each crisp. No need to go into details.

Interview rounds

01
Round
Medium
Face to Face
Duration60 minutes
Interview date20 Apr 2022
Coding problem2

1. Remove Duplicates From Sorted List

Easy
0/40
Asked in companies
AdobeAppleAmazon

A doubly-linked list is a data structure that consists of sequentially linked nodes, and the nodes have reference to both the previous and the next nodes in the sequence of nodes.


You are given a sorted doubly linked list of size 'n'.


Remove all the duplicate nodes present in the linked list.


Example :
Input: Linked List: 1 <-> 2 <-> 2 <-> 2 <-> 3

Output: Modified Linked List: 1 <-> 2 <-> 3

Explanation: We will delete the duplicate values ‘2’ present in the linked list.


Problem approach

While traversing the linked list, we need to skip the duplicates and keep only unique ones in the list

Try solving now

2. Remove Duplicates From an Unsorted Linked List

Moderate
15m average time
85% success
0/80
Asked in companies
AdobeAmazonOracle

Similar to the previous question but here the linked list is an unsorted one. Hashed the nodes while traversing to keep counter of the unique nodes.

Try solving now
02
Round
Medium
Face to Face
Duration90 minutes
Interview date30 Apr 2022
Coding problem4

1. Queue Using Stack

Moderate
30m average time
60% success
0/80
Asked in companies
AdobeLivekeeping (An IndiaMART Company)GE (General Electric)

Implement a queue data structure which follows FIFO(First In First Out) property, using only the instances of the stack data structure.


Note:
1. To implement means you need to complete some predefined functions, which are supported by a normal queue such that it can efficiently handle the given input queries which are defined below.


2. The implemented queue must support the following operations of a normal queue: 

a. enQueue(data) : This function should take one argument of type integer and place the integer to the back of the queue.

b. deQueue(): This function should remove an integer from the front of the queue and also return that integer. If the queue is empty, it should return -1.

c. peek(): This function returns the element present in the front of the queue. If the queue is empty, it should return -1.

d. isEmpty(): This function should return true if the queue is empty and false otherwise.


3. You will be given q queries of 4 types:

a. 1 val - For this type of query, you need to insert the integer val to the back of the queue.

b. 2 - For this type of query, you need to remove the element from the front of the queue, and also return it.

c. 3 - For this type of query, you need to return the element present at the front of the queue(No need to remove it from the queue).

d. 4 - For this type of query, you need to return true if the queue is empty and false otherwise.


4. For every query of type:

a. 1, you do not need to return anything.

b. 2, return the integer being deQueued from the queue.

c. 3, return the integer present in the front of the queue.

d. 4, return “true” if the queue is empty, “false” otherwise.
Example
Operations: 
1 5
1 10
2
3
4

Enqueue operation 1 5: We insert 5 at the back of the queue.
Queue: [5]

Enqueue operation 1 10: We insert 10 at the back of the queue.
Queue: [5, 10]

Dequeue operation 2: We remove the element from the front of the queue, which is 5, and print it.
Output: 5
Queue: [10]

Peek operation 3: We return the element present at the front of the queue, which is 10, without removing it.
Output: 10
Queue: [10]

IsEmpty operation 4: We check if the queue is empty.
Output: False
Queue: [10]
Problem approach

Used two stacks for this problem. Either we can achieve push operation in O(1) and pop in O(n) or push operation in O(n) and pop in O(1)

Try solving now

2. Maximum Subarray Sum

Moderate
25m average time
75% success
0/80
Asked in companies
CultfitPayPalWalmart

Given an array of numbers, find the maximum sum of any contiguous subarray of the array.


For example, given the array [34, -50, 42, 14, -5, 86], the maximum sum would be 137, since we would take elements 42, 14, -5, and 86.


Given the array [-5, -1, -8, -9], the maximum sum would be -1.


Follow up: Do this in O(N) time.

Problem approach

Used Kadane's algorithm in this problem

Try solving now

3. Power Set

Easy
15m average time
85% success
0/40
Asked in companies
FacebookAmazonAdobe

You are given a sorted array of 'N' integers. You have to generate the power set for this array where each subset of this power set is individually sorted.

A set is a well-defined collection of distinct elements. Power set P(ARR) of a set 'ARR' is defined as a set of all possible subsets of 'ARR'.

You have to return the array of subsets. The elements in the subset should be sorted in ascending order. The order of subsets in the array does not matter. Hence there can be more than 1 possible solution for a given array.

For example :
If we are given an array ARR=[1,2,3] then the power set P(ARR) of the set ARR is: [ [], [1], [2], [1,2], [3], [1,3], [2,3], [1,2,3] ]
Note :
For every subset 'X' present in power set P(ARR) of set ARR, X must be sorted i.e. in the example above:
P1(ARR) =  [ [], [1], [2], [1,2], [3], [1,3], [2,3], [1,2,3] ]
P2(ARR) =  [ [], [1], [1,2,3], [2], [1,2], [3], [1,3], [2,3] ]
P3(ARR) =  [ [], [1], [2], [1,2], [3], [1,3], [2,3], [2,3,1] ]
P1(ARR) and P2(ARR) will be considered correct power sets but P3(ARR) will not be considered correct because there the last subset [2, 3, 1] is not sorted.
Problem approach

Used bit manipulation method to print all the subsets of the string

Try solving now
Easy
30m average time
80% success
0/40
Asked in companies
AdobeOlaWalmart

You are given an input string 'S'. Your task is to find and return all possible permutations of the input string.

Note:
1. The input string may contain the same characters, so there will also be the same permutations.

2. The order of permutation does not matter.
Problem approach

Used backtracking to print all permutations of string

Try solving now
03
Round
Medium
Face to Face
Duration90 minutes
Interview date5 May 2022
Coding problem3

1. Zig-Zag String

Easy
15m average time
85% success
0/40
Asked in companies
FacebookAppleOYO

You are given a string ‘STR’ of size ‘N’ and an integer ‘M’ (the number of rows in the zig-zag pattern of ‘STR’). Your task is to return the string formed by concatenating all ‘M’ rows when string ‘STR’ is written in a row-wise zig-zag pattern.

Example:
N = 12, M = 3 and STR = ‘CODINGNINJAS’

example

There are three rows (‘M = 3’) in the zig-zag pattern. Row one contains ‘CNN’, row two contains ‘OIGIJS’, and row three contains ‘DNA’. After concatenating the three rows, we get the string ‘CNNOIGIJSDNA’. So, the answer is ‘CNNOIGIJSDNA’.
Note:
1. The string ‘STR’ consists of capital letters only (i.e., characters from ‘A-Z’).
Problem approach

Created string array of size same as the number of rows and then while traversing the string pushed each character into the respective row index

Try solving now

2. Next Permutation

Moderate
15m average time
85% success
0/80
Asked in companies
UberAdobeCultfit

You have been given a permutation of ‘N’ integers. A sequence of ‘N’ integers is called a permutation if it contains all integers from 1 to ‘N’ exactly once. Your task is to rearrange the numbers and generate the lexicographically next greater permutation.

To determine which of the two permutations is lexicographically smaller, we compare their first elements of both permutations. If they are equal — compare the second, and so on. If we have two permutations X and Y, then X is lexicographically smaller if X[i] < Y[i], where ‘i’ is the first index in which the permutations X and Y differ.

For example, [2, 1, 3, 4] is lexicographically smaller than [2, 1, 4, 3].

Problem approach

Step one is to find the first decreasing number from the right. Next step is to find a number just larger than this number. Then swap these two numbers. Now we have to reverse the array after the index where we found the first decreasing number.

Try solving now

3. Theory Questions

1. What is semaphore/mutex?
2. Race condition and critical section problem
3. Some questions on Object Oriented Design and Design Patterns

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

How do you remove whitespace from the start of a string?

Choose another skill to practice
Similar interview experiences
company logo
MTS 1
6 rounds | 10 problems
Interviewed by Adobe
4050 views
1 comments
0 upvotes
company logo
MTS 1
2 rounds | 5 problems
Interviewed by Adobe
1550 views
1 comments
0 upvotes
company logo
MTS 1
3 rounds | 6 problems
Interviewed by Adobe
1432 views
0 comments
0 upvotes
company logo
MTS 1
2 rounds | 6 problems
Interviewed by Adobe
557 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
MTS 1
4 rounds | 14 problems
Interviewed by Oracle
4097 views
0 comments
0 upvotes