Вы находитесь на странице: 1из 151

Contents

1 Set 1 5
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Set 2 7
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Set 3 10
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Set 4 12
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5 Set 5 14
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6 Set 6 (On-campus for MTS-1) 16


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7 Set 7 (On-campus for MTS-1) 19


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

8 Set 8 (Off-Campus) 22
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

9 Set 9 24
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

10 Set 10 (Software Engineer) 26


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11 Set 11 (On-Campus) 30
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

12 Set 12 (On Campus for MTS-1) 33


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

13 Set 13 (On Campus for Internship) 35


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

1
Contents

14 Set 14 (On Campus for Full Time) 37


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

15 Set 15 (For MTS-1) 39


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

16 Set 16 (For MTS-1) 41


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

17 Set 17 (For MTS-1) 43


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

18 Set 18 (For WBT Profile) 45


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

19 Set 19 (For MTS) 47


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

20 Set 21 for Software Engineer (Fresher) 49


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

21 Set 22 (On-Campus) 51
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

22 Set 23 (1 Year Experienced) 53


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

23 Set 24 (On-Campus for MTS) 57


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

24 Set 25 (On-Campus for MTS-1) 59


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

25 Set 26 (On-Campus for MTS-1) 63


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

26 Set 27 (On-Campus for Internship) 65


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

27 Set 28 (For MTS-2) 67


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

28 Set 29 ( Off-Campus) 71
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

29 Set 30 (Off-Campus For Member Technical Staff) 74


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

30 Set 31 77
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

2
Contents

31 Set 32 (For MTS-1) 79


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

32 Set 33 (On-Campus) 83
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

33 Set 34 (For MTS-1) 86


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

34 Set 35 (Off-Campus Drive) 89


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

35 Set 36 (Off-Campus Drive) 91


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

36 Set 37 (3.5 Years Experienced) 93


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

37 Set 38 (4.6 Years Experienced) 95


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

38 Set 39 (1.5 Years Experienced) 97


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

39 Set 40 (On-Campus for MTS-1) 99


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

40 Set 41 (For Software Engineer) 102


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

41 Set 42 (Off-Campus) 104


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

42 Set 43 (For MTS Role) 107


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

43 Set 44 (For MTS-1) 109


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

44 Set 45 (For 2.5Years Experienced) 111


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

45 Set 46 (For Internship) 113


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

46 Set 47 114
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

47 Set 48 (On-Campus) 116


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

3
Contents

48 Set 49 (For Member of Technical Staff) 118


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

49 Set 50 (On-Campus) 120


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

50 Set 51 (For MTS Fresher) 122


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

51 Set 52 (On-campus for MTS-1) 126


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

52 Set 53 (For MTS-2) 129


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

53 Set 54 (For Internship) 131


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

54 Set 55 (On-Campus Full Time for MTS profile) 132


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

55 Set 56 (Off-Campus Full Time for MTS profile) 135


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

56 Adobe (Product development) Internship Interview On Campus 136


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

57 Adobe Interview Experience (2 years experienced) 138


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

58 Adobe Interview Experience (For MTS-1) 142


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

59 Adobe Interview Experience for C++ Developer 144


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

60 Adobe Interview Experience for MTS-1 (1.5 Years Experience) 145


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

61 Adobe Interview Experience 147


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

62 Adobe Recruitment Process 149


Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

4
Chapter 1

Set 1

Adobe Interview | Set 1 - GeeksforGeeks


Following are the details of Adobe Interview.
Round 1
1. How will you implement a stack using a priority queue. Push and pop should be in O(1).
2. Three mislabeled jars problem.
Round 2
1. How does stack look in function calls? Given a recursive function call, how will the stack
look like?
2. When does stack (process stack) overflow? What are the remedies?
3. What are balanced BSTs. Then he randomly gave me various numbers and asked me to
create a BST. And to balance it.
4. Advantages of linked list over arrays. And arrays over linked list.
5. How are vectors implemented internally in the library. This question revolved around
dynamic implementation of arrays. Then discussed the amortized time of the operations
using dynamic implementation of arrays.
Round 3
1. There was a question in written round that there is a global static variable ‘lock’ initially
set to 0 and there was a code segment given.

while(lock);
lock = 1;
//Critical section
lock = 0;

Does this solve critical section problem. I answered that it will solve in uni processor system
but not in multiprocessor system. Then he asked me to explain my answer. After a long
discussion we came to a conclusion that this wont even solve in uni processor system. Then
he asked me the solution to solve this. I did that using testandset instruction.

5
Chapter 1. Set 1

2. When a function is called in thread, what variables can be accessed from it. There was a
long discussion on this too. I went in the wrong direction but corrected myself later. Stack
variables are copied but heap variables are same.
Round 4
1. What data structures will you use to implement a text editor. Size of editor can be
changed and you also need to save the styling information for all the text like italic, bold
etc.
Round 5
HR Round: Normal HR questions.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-questions-set-1/

6
Chapter 2

Set 2

Adobe Interview | Set 2 - GeeksforGeeks


I have recently been through the recruitment process of ADOBE. I didn’t get through (I
got the reply today), but I sincerely hope that my experience will help some of you in your
endeavors.
Round 0: Written Test – I was called for a written test. The test was 3 hours long. It
had four sections – Quantitative, Analytic, Data Structures and Algorithms, and Core Java
& J2EE fundamentals
The questions were simple. The paper had a time limit for each of the individual sections
but somehow the HR collected the answer sheets (and the question papers) all together at
the end of 3 hours.
There was no negative marking but they had a different weight-age for questions in each
section
Quantitative: 30 multiple choice questions. Time limit: 45 minutes
Analytical: 3-4 Analytical Puzzles followed by 4-5 follow up questions (multiple choice).
Time limit: 15 minutes
Data Structures & Algorithm: 10 questions (not multiple choice) to be answered with a brief
explanation. Questions like 24ABC in base 6 would be what in a base 7 system. Write a
program to find the missing number in an array of size N-1 which had jumbled up numbers
ranging from 1 to N. I hope you get the idea.
Core JAVA & J2EE – The Core JAVA section had general questions on JAVA. They stressed
a lot on threads.
I dint know much about J2EE but the whole paper had just 6 questions on it, so missing
them didn’t cost me much.
Almost a week later the HR informed me that I had done really well in the test and that I
have to come to the ADOBE office for the first set of interviews.
Interview 1
1) He gave me a custom PERSON object. This object had some properties like name,

7
Chapter 2. Set 2

surname, age etc. He asked me to write a function which can return the size of this object.
He asked me to write a generic code that will work with any object. The object may have
inbuilt data types like in the PERSON object or it may have another custom object inside
it such as a FAMILYBACKGROUND object. He gave me a few functions from the JAVA
API which can tell you about the contents of an object. He asked me to write a helper
function that can return the size of default data types like int, float etc.
2) He gave me a sorted but rotated array and asked me to find the pivot.
Interview 2
1) He gave me a sorted but rotated array and asked me to search an element inside it
without finding the pivot. Complexity of the solution should still remain O(Log n)
2) Find the mean and median of the elements which are dynamically added at runtime.
3) I have a list of N teams T1, T2, T3 … Tn. Each of these teams has played a match
against every other team. I have a function displayResult(Team T1, Team T2), it returns
the team which won the match between any two given teams T1 and T2.
I have to write the teams in an order such the (n-1)th team (in the order) had lost to the
nth team which in turn had lost to (n+1)th team..
For example if in a particular order, the teams appeared as T1, T2, T3, T4 … then team T1
had lost to T2, T2 had lost to T3, and T3 had lost to T4… It may be possible that T3 lost
to T1 .. but that need not be taken into consideration while writing the order. Only the
neighboring elements should be such that the element on the left has lost to the element on
the right.
How will you write the teams in this order? Write a code for it
Make all the necessary assumptions you need to solve the problem.
4) Print an order of all the knight moves such that it fills up an 8 by 8 chess board. The
moves should be such that no block that has been stepped on is visited again.
After a few days, the HR informs me that I have qualified for the next round. Only this
time my interview will be taken by some of the senior executives at ADOBE.
Interview 3
1) General discussion about the work done in projects, internships etc.
2) What is reflection? How does JVM find the right class to instantiate an object?
3) Draw a Pascal triangle. Write a code to print the elements of an N level Pascal triangle
using a 1 dimensional array.
Interview 4
1) Generate all possible combinations (of r elements) inside an array of size N
E.g. arr [] = {2,8,14} All possible combinations of r=2 will be {2,8}, {8,14}, {14,2}
2) Why are string objects immutable in java? How are Strings structurally designed in java?
3) When should one use merge sort and when should one use quick sort?
HR
General questions like if selected which office would I like to work for? Where do I see myself
5 years from now? etc etc…
I stumbled on the interview questions in the fourth round (Probably why I wasn’t selected).

8
Chapter 2. Set 2

Please post if someone has answers to them.


Best of luck.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-1/

9
Chapter 3

Set 3

Adobe Interview | Set 3 - GeeksforGeeks


Following is Adobe (Testing) experience.
1st round:
—What do u know about adobe..
—Changes u want to make in adobe reader (as i said adobe reader is my fav)
—Why testing and y not developing
—Your interest (as my fav sub was os)
—What is the difference between win 8 and win 7
—What is the diff between thread and process
—When u open a new tab in browser, the new tab is a thread or process(questions related)
—Test case for bottle
—Test case for stapler
—Program to check syntax of string
Puzzles:
—Cut round cake into 8 equal pieces u can use knife only 3 times
—8 marbles puzzle(very famous)
—Given a crescent moon shape. Cut it into 7 parts with 2 cuts at max.
2nd round:
—Program to print last nth element of linked list in single traversal
—Program to create mirror image of binary tree
—Rope puzzle(famous)
—Difference between static and dynamic linking in terms of binary code.
—Given n people in a room. Each one shakes hands with only those people who are known
to him. You have to prove that there will be at-least two people among them, having same
number of shake hands.
3rd round:
—HR, normal n frank
4th round :
Puzzles:

10
Chapter 3. Set 3

—25 horses puzzles(famous)


—Hour glass puzzle(famous)
—You have to assemble a computer, with minimum cost. check if it is running the boot
strap program.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-testing-experience/

11
Chapter 4

Set 4

Adobe Interview | Set 4 - GeeksforGeeks


Date Of Interview: 3rd December 2012
No. of Rounds: 1 Written exam + 4 rounds of PI
Type of Interview: Campus Interview for freshers

Written Round
The written round consisted of three sections 45 min each. The first was an objective type
which consisted of 30 MCQs on basic Mathematical and Logical problems. Then there were
2 subjective papers each consisting of 10 questions. One was based on C programming and
the other on basic engineering concepts.

Interview Round 1
Model a datastructure for a DFA that takes an event as parameter and performs a desired
action.
Write a code that efficiently counts the total Set Bits in a number.
Write a code that efficiently calculates X power n where x and n are integers.
Write a code that efficiently calculates the nth term of Fibonacci series (He wanted a logn
solution).
Interview Round 2
What is Synchronization? What is Mutex? Reader Writer Problem
There are 25 horses and a track which can race 5 horses at a time. Find the top 5 horses in
minimum number of races. Assuming best horse always wins.
Write a function to check if a singly linked list is a palindrome.
Interview Round 3

12
Chapter 4. Set 4

What do you know about Volatile keyword explain with an example code.
Declare an array of function pointers that return a pointer to a func that in turn return a
pointer to a char array.
Given a Roman notation of a number convert it into its decimal number. Write a function
to do this.
Given a string, find the length of the longest substring with distinct characters.
What is Paging and why is it used?
Interview Round 4
HR Round: Normal HR questions

HIRED!! �
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-4/

13
Chapter 5

Set 5

Adobe Interview | Set 5 - GeeksforGeeks


1st Round(Written Test)
Consists of three sections with each section 1 hour to solve. Hence the written round
was for 3 hours. I really liked the written round since it consists of everything starting
from writing code(LCA, GCD, Middle of Linked list), Number conversion, Reduction of
Boolean functions, Prefix to Infix Expression and evaluation of expression algorithm and
finally aptitude.
The written round consists of more or less everything one could imagine and it is far better
than other companies like Amazon or Microsoft. But of course, Adobe does repeat questions
.
Adobe’s Interview Process was very good since in this month, I had given interviews of Ama-
zon, Samsung, GoldMan Sachs and Fab which I have already shared with GeeksForGeeks.
What I Like about their interview was their way of perception, they were judging people
based on thoughts and not just bookish answer. In fact, one of the interviewer was rejecting
people if you give a book answer.
2nd Round(Technical Round)
a) Heavy discussion on Merge Sort, Amortized Analysis of Heap Sort – Made me solve
recursion etc
b) Made me write the complete code for dictionary of words(Trie data structure)
3rd Round(With Director)
This interview had only one question and it went on for atleast 1 hour. It was a OOPS
Design question
a) Serialize and deserialize the object in an optimized way( I gave him the idea of Spill
overflow etc). I actually took a deep dive by optimizing in bit level) . After the algorithm,
he made me design a library such that if there are 100 clients to my lib, it should be
maintainable and flexible.

14
Chapter 5. Set 5

It was a subjective answer but since I have 2 years of Work ex in C++. I did give him a
nice design.
4th Round(Tehnical)
a) Design an LRU cache
b) Write C program for tail command of Unix using dynamic behavior
c) And then discussion started on my projects. It was again depth of C++ programming
5th Round(Puzzles)
a) Only puzzles were there in this round. And all the puzzles could be found on net
6th Round(Technical)
a) Implement a generic Object Oriented Stack
a. Considering algorithm wise I explained him repeated doubling and linked list
implementation.
b. Design wise, templatized the answer with heavy use of virtual functions to make
the code generic and maintainable over a period of 2 years. Debate on what should Pop
return when we templatize it ?
b) Reverse a string word by word in place without using the swap function. The string
in not-editable. This question was tricky as he kept building the question with constraints.
But I really enjoyed it
7th Round(HR)
Finally after many interviews I got through Adobe. I did have offers from other companies
but Adobe was paying well. I thank Amazon for rejecting me else I wouldn’t have even sat
for Adobe �

All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience/

15
Chapter 6

Set 6 (On-campus for MTS-1)

Adobe Interview | Set 6 (On-campus for MTS-1) - GeeksforGeeks


I would like to thank the entire Geeksforgeeks team, whose contribution has helped me a
lot in my preparation for the interviews and getting placed at Adobe.
No of rounds: 1 apti + 1 written + 4 PI
Aptitude Round: 1 hr
15 questions on Analytical Ability, 30 questions on Data Interpretation and Quantitative
Ability
Written Round: 2 hrs
10 questions on Algorithms and OS, 10 questions on output of C/C++ code snippets
PI Rounds-
1st Round: 45 minutes
1. Implement a queue using 2 stacks( average time complexity O(1) for push and pop )
2. Discussion regarding demand paging. Then the interviewer asked me to give a detailed
implementation of demand paging, using object-oriented approach, considering everything
from page tables to swap disk I/O to page replacement policies.
2nd Round: 45 minutes
1. This round started with a puzzle: There are two buckets- one having 100L water and
another having 50L milk. A spoonful of water is taken from 1st bucket and added to 2nd
bucket and the mixture is stirred, now a spoonful of the mixture is taken from the 2nd
bucket and added to the 1st. Compare the final volume of milk in 1st bucket to the final
volume of water in 2nd bucket.
2. Defective ball puzzle: Find defective ball among 7 balls using minimum no of measures.
3. A system sends multiple queries to find all primes between two given numbers. Provide
service to each query in less than O(p) time(p is total no of primes)

16
Chapter 6. Set 6 (On-campus for MTS-1)

Solution: Perform Sieve of Eratosthenes initially and maintain list of primes. For incoming
queries, use binary search to find first and last primes between given numbers.
4. A modification of Towers of Hanoi problem: Consider 3 towers A(source), B(auxiliary),
C(destination) and n discs. All usual constraints of the original problem hold true, but a
new constraint is added: No disc(s) can be moved directly from A to C or from C to A, B
has to be used in between.
Solution: For n discs and towers A,B,C as source, auxiliary and destination respectively,
consider the following function:

Move(n discs, A,B,C)


{

If(n==1) print(nth disc, A->B->C);

Else
{

Move(n-1 discs, A,B,C);

print(nth disc, A->B);

Move(n-1 discs, C,B,A);

print(nth disc, B->C);

Move(n-1 discs, A,B,C);

}
}

It will take O(3^n) time instead O(2^n) as in the normal Towers of Hanoi problem.
The interviewer seemed quite impressed with the solution.
3rd Round: 45 minutes
1. A robot can move forward either 1 or 2 steps. Find no of possible ways to reach nth
step(easy DP problem).
2. Questions regarding scheduling concepts, how cpu burst length is predicted for SJF
scheduling, exponential averaging, etc.
3. The interviewer asked me to implement my own timer service in the user-space. Using
system timer countdown was not allowed, only reading current system time was allowed.
Solution: Create a high-priority helper process P which will have some idea of flow of
time(since we cannot use hardware timer) and hence will act as a sand clock for any process
that requires timer service.

17
Chapter 6. Set 6 (On-campus for MTS-1)

P will have the following operations:


t1=getSystemTime()
do dummy op(which should take very less time)
t2= getSystemTime()
(t2-t1) will be the time unit for P. Whenever any process requires a countdown of time t, it
will communicate with P and request it to send a signal after time t. P will divide t by its
time unit and perform dummy its operation t/(t2-t1) times and then notify the requesting
process that the time period has elapsed.
The interviewer said that the solution was coarse, but still he seemed pleased with it.
4th Round(HR Round): 15 minutes
Normal HR questions like: why do you want to join Adobe, what were the most challenging
situations you have faced in your career so far, where do you see yourself in 5 years, etc.
After the final round, the results were declared. I along with 4 of my peers were hired!!!
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-6-campus-mts-1/

18
Chapter 7

Set 7 (On-campus for MTS-1)

Adobe Interview | Set 7 (On-campus for MTS-1) - GeeksforGeeks


First of all, I would like to sincerely thank the entire GeeksforGeeks team for creating
and maintaining such an awesome site. GeeksforGeeks has tremendously helped me in my
preparation for the on-campus interviews and finally cracking the job interview for Adobe.
Type of Interview: On-Campus for MTS 1
No of rounds: 1 apti + 1 written + 4 PI
Aptitude Round: 1 hour
There were 15 questions on LR followed by 30 questions on DI. The questions were similar
to those asked in management examinations like CAT.
The results were declared after a couple of hours and around 50 odd students were selected
for the written round.
Written Round: 2 hours
It was divided into two sections :
Section 1 contained 10 questions including a couple of questions on OS and the rest were
common programming questions.
Section 2 had 10 syntactical questions on C/C++. I guess most of them can be found on
GeeksQuiz.
15 students cleared the written test and were to attend the PIs the next day.
PI Rounds-
1st Round: 45 minutes
1. Had a general discussion about various data structures. Comparison of BST and hashmap
( relative advantages and disadvantages ). Applications of each.
2. Implement a queue using 2 stacks. Then optimize the implementation.
3. Suppose we have two functions void g() and void h(). The function h() has been called
somewhere in the body of g(). Now using a debugger, we find that that the program crashes
as soon as the return statement in h() ( at the end of function h() ) is executed. There is
nothing syntactically wrong with the program. How will you debug the code ???
My answer : The function h() has modified the return address on stack.

19
Chapter 7. Set 7 (On-campus for MTS-1)

4. The last question was a puzzle. You have 7 coins out of which one is fake. Find the fake
coin in minimum number of weightings.
2nd Round: 45 minutes
1. The round started with a rigorous discussion about various OS concepts, specially virtual
memory and demand paging.
2. Implement a stack using 2 queues. Now optimize the implementation.
3. A robot can walk on 1 step or 2 steps. Find the number of ways in which he can reach
the nth step.
I started with the naïve recursive solution. He asked me to draw the entire recursion tree
and hence manually find the answer for n=8. I asked him to make it n=5 � I pointed out
the overlapping sub-problems and gave him the DP solution. He also asked for time and
space complexities of both the solutions.
4. This question was related to what he called conditional operator on an image. I had no
idea what that was. So he explained it to me.
A monochromatic image is represented by a MxM matrix Image0. We have another WxW
matrix Op ( W<=M, W is odd ). Create a new MxM matrix Image1 such that each pixel
Image1(i,j) is the summation of the product of overlapping pixels when the pixel(i,j) of
Matrix Image0 is aligned with the central cell of Matrix Op. At first I suggested a naïve
O(N2xW2) solution. He asked me to write the complete code. Using a getpixel function
which returns the pixel value if the co-ordinates are valid and 0 for invalid co-ordinates,
usually helps in such cases. Then he told me that all the values in the matrix Op are equal.
Optimize the implementation. I was able to bring it down to O(N2xW). 3rd Round: 45
minutes
1. Fibonacci series. Just the recurrence relation and derive the time complexity of recursive
implementation.
2. Write a function that takes n parameters and returns an n-dimensional array using those
parameters as the dimensions. The expression a[i1][i2]…[in] should work.
For 1-d array, it’s trivial. For 2-d arrays of dimensions mxn, first create an array of m
1st-level pointers and for each pointer allocate an array of size n. He asked me to do it
for k-dimensional array where k is a parameter. The real issue was implementing k nested
loops, where k is not a constant value.
I was able to implement it using a single loop which runs from i=0 to i=k^k – 1. For each
iteration, I calculated the various nested loop variables, say par(L)=i mod k^(L+1) , where
L=0 represents the innermost loop and par(0) represents the innermost loop variable. So
when par(t)=0 for some t, it’s obvious that either i=0 or the immediate outer loop, ie the
loop L=t+1 has moved on to its next iteration. So the malloc statement between the loops
L=t+1 and L=t has to be executed.
The interviewer was very impressed with the approach.
3. The question started with the interviewer asking me to write a program to print “Hello
World”. I just stared at him for a while. So he repeated the question � He then wanted
to know what the compiler does when it encounters the statement #include, whether the
stdio.h file contains just the function declaration of printf or the definition too. Then we
had a discussion on static and dynamic libraries.
4th Round(HR Round): 20 minutes
Was asked typical HR questions like why do you want to join Adobe, your dream companies,

20
Chapter 7. Set 7 (On-campus for MTS-1)

why not go for a higher education instead of a job, what do you like to do in your free time.
When I told him that I was a sci-fi fan, he asked me that assuming I had the resources, how
would I design an iron-man suit � Needless to say, I really enjoyed this round for multiple
reasons �
Finally, the results were declared and 5 students including me were hired �
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-7-campus-mts-1/

21
Chapter 8

Set 8 (Off-Campus)

Adobe Interview | Set 8 (Off-Campus) - GeeksforGeeks


Experience : 8 months
First Round :
Held on interview street .Aptitude + technical (standard pattern and questions)
Second Round (f2f):
Started of with the discussion of trees. Like what is a tree/BST ?
Implement insertion in tree (Java).
Discussion on projects.
Search time complexity in BST/ ternary tree.
Link List v/s BST
Third Round (f2f):
Implement a generic binary search algorithm i.e. the input array may contain int, double
or structure values.
How does strtok() works. How can you make it thread safe.
Given an array, find number of pairs which equal to a given sum.
Question on singleton pattern.
Fourth Round(f2f) :
A building has n steps. Aperson can take 1,2 or 3 steps. In how many ways can a person
reach top of building.
General discussion on cache.
You have a stream of incoming integers. How will you store these numbers and implement
following functions : GiveMax(), GiveSecond Max(), Delete Max(), DeleteSecondMax (),
Add , Remove an element.
I couldn’t make it beyond this round.However, this was my interview experience.
All Practice Problems for Adobe !

22
Chapter 8. Set 8 (Off-Campus)

Source

https://www.geeksforgeeks.org/adobe-interview-set-8-off-campus/

23
Chapter 9

Set 9

Adobe Interview | Set 9 - GeeksforGeeks


Experience: 8 months
Online Written Test:
Given interviewstreet links of two tests. 24 hr. time-line to finish both tests. Tests are
independent,can be given at any-time on that day in any order.
1. Duration 120 min.
Basic C,OS 20 multiple choice questions
7 coding questions
2. Duration 50 min.
40 low level maths aptitude and LR questions
After a week, received call for onsite interview rounds at noida office.
4 technical rounds + HR:
1st round: (manager level guy)
little intro to give it a start
why do you want to leave so early (Graduated in 2013 so its only 8 months)
Should I evaluate you as freshers or experienced ? (because my previous work was bit of
non-technical)
1.(Bit manipulation/bit masking)
Given a M*N size tv screen. Colour of each pixel is integer value b/w 0-7 (i.e. 3 bits to
represent colour)
screen is tightly packed bits(no byte padding allowed). now given a (i,j) index of pixel
change its colour ?
Basically screen is matrix but in memory its represented as 1-d array.
character array can be used to represent each bit.
Hint:
map matrix (i,j) to 1-d array and change 3 bits to change colour.
problem arise when 2 bits are in one byte and another 1 bit is in another byte.
2. Process vs threads

24
Chapter 9. Set 9

3. One question to check whether i have idea on address space of process and threads
(based upon threads share data and heap but have separate stacks )
4. How realloc() work in C.
2nd round: (4-5 years experienced guy)
1. Given an integer N . tell if it is power of 3 or not.
2. Given infinitely long character array.
replace all occurrence of particular word with another word of larger length. Solution should
be inplace can do copy only one time.
e.g.
Gandhi was born in 1969. Gandhi was from gujrat.
replace gandhi with mahatma
3. Given a binary search tree delete any node in tree.
one more question…
3rd round: (4-5 years experienced guy)
1. Given sorted 2-d array of integers i.e. row wise and coloum wise sorted
Search for given number in array.
2. Given an circular linked list. convert it into non-circular . no link or data can be changed.
(basically find start node of circular list and de-link it )
3. Given an integer array find two numbers with sum equal to K.
one more question…
I finished this round early so he chated about which system you use.(windows or linux)
what is difference b/w this two.
You had 4 gb RAM or 8 gb RAM ? how RAM size affect user perspective ?(want to know i
have general idea about virtual memory or not)
4th round: (highly experienced old guy)
Given sorted 2-d array of integers i.e. row wise and coloum wise sorted
Search for given number in array.
I told him i already solved this in previous interview.
then he extended same question.
Insert a number in this array.
Delete a number in this array.
Only this question,because we had wide discussion about various approaches.
HR round:
Didn’t happen because HR was in urgent critical meeting.
After 2 days got a call from HR that I was selected for Adobe � �
Thanks you geeksforgeeks team for making my preparation smoother.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-9/

25
Chapter 10

Set 10 (Software Engineer)

Adobe Interview | Set 10 (Software Engineer) - GeeksforGeeks


Written:
Aptitude: Objective 50 min 45 questions
LR- 2 passages-5 each
DI- 1 paragraph- 5 each
Mathematical
Easy only. Just time concern for those who are out of touch. My suggestion will be to do
the LR in the end.
Java WhiteBox test: Subjective 45 min 20 questions
java-15
j2ee-5
1) What is package and how is it used.
2) When is thread’s run method invoked.
3) What is synchronised method and synchronised statements
4) What is the difference in class hierarchies of Reader/Writer and InputStream and Out-
putStream
5) What is transient
6) Which is illegal
int i=0;
float f=45.0;
double d=49.0;
7)

StringBuffer sb1 = new StringBuffer("Amit");


StringBuffer sb2 = new StringBuffer("Amit");
String ss1 = "Amit";
System.out.println(sb1==sb2);
System.out.println(sb1.equals(sb2));
System.out.println(sb1.equals(ss1));

26
Chapter 10. Set 10 (Software Engineer)

System.out.println("Poddar".substring(3));

8) What are wait(),notify(),notifyAll()


9) what is finally in try-catch-finally blocks
10) What is thin-client application
11) Difference between >> and >>>
O/P questions related to string.concat, equals methods. Error pointing codes with options
F2F Round 1:(1.2 hr)
1) Brief intro about work.
2) Why do you want to shift when Mobile (and ecommerce) are already the most happening
things.
3) Test cases for mail attachment(word doc) not being opened scenario
4) WAP to convert a binary to decimal.(i wrote by taking the parameter as String, he asked
me to do by taking as int)
5) WAP to print sum of first ‘n’ prime numbers
6)

String s = "Hello ";


s+ = "Adobe ";
s.trim();
System.out.print(s);

What is the output?


7) Explain a project you have been recently been part of and what are the test cases you
have gone through.
8) What is the testing framework you have used in Android.What is the approach you follow
while testing any product.How do you test a method which does not return any value.
9) What are the operating systems you have worked on.Do you know Unix.
10) What are the main things that you need to look at while making a mobile application
to that of a desktop application
11) What is the toughest bug you have fixed.
12) What is memory leak
13) What is the difference between instance variable and local variable
14) If i write java in command prompt from anywhere in system, will it work?If not, how to
make it work.
15) Why is the class name same as filename in Java.Is there any use.
Can a file have more than two classes.What will be the name of that file?
How many class files will be generated when we compile.
16) Why is Java platform independent.
17) Is JVM platform dependant?On what factors it depends?
18) What are the best practices you have followed in your project.
He asked me if i have any questions.I asked more about the role and team. He explained in
detail about the team and also about Adobe subscription model.We had a general discussion
over this business decision.

27
Chapter 10. Set 10 (Software Engineer)

F2F Round 2:(30 min)


1) Brief intro
2) WAP to find out factorial of a number
He asked for recursion as well.
Asked me to write the testcases and handle the overflow condition and border cases in the
code.
Discussed which approach is better and when to use which.
3) Do you know Unix
4) Do you know any other mobile platform apart from Android. Do you know any application
platform which enables building apps across channels (desktop,android,ios,cloud…)
He asked me if i have heard about PhoneGap and later explained it. He asked me if i have
any questions. I asked if they have a mobile team separately.He said yes and explained their
work a bit.
F2F Round 3:(1 hr)
1) Brief intro
2) What is binary search.
3) Write a code for ternary search. Is it better than Binary? He asked me to generalize the
search and asked me which is the optimum.
4) What is registry.
5) Do you know Unix
6) I have a hard disk of 100 gb.It has one and only file of 80 GB (database backup).
What happens if i delete it and it goes to recycle bin.
Follow-up questions:
Is the memory freed from the hard disk.
What happens if i move it from one drive to another.
What happens in case of permanent delete.
What happens when we format the disk.
7) What is virtual memory.
8) Puzzle:10 containers with 100 balls each but one container defective.Find out the defective
container in minimum weighings.
He asked me for questions. I asked them if there will be option to shift to developer
position.He said yes and explained about their open culture.Also explained how they interact
and work closely with developers.
Director round:(40 min)
1) How was the day.
2) What is the most interesting question you have been posed today.
3) What is it that you have learnt today.
4) Give me a brief about your work.
5) Why do you want to shift from Development to Testing.
He said he will concentrate on only problem solving, aptitude and attitude-
1) Gmail wants to provide a new enhanced service which offers auto-backup , promotional
mails filtered,extra space for mail box etc which costs 50 rs per month.
They want to run a provisioning program which shows a popup to certain customers having
options-
1) Yes and then redirected to payment and all
2) Remind me after 2 weeks.
3) No

28
Chapter 10. Set 10 (Software Engineer)

4) Not happy with the service offered.


Asked me to test this model.
Later he asked me the factors which i will consider for choosing set of customers for this
program.
2) Have you worked on Unix.
3) What is registry.
I have installed msword in my pc.Copied the C/program files/ folder into pen drive and
pasted in another pc.Will it work? Why /Why not?
4) What is SaaS. Examples.
There is one fb user in India and another in US.When they communicate, do they connect
to same server. If not then how does the communication happen?What is the data that is
being transferred.
This round felt like a stress test and went very badly. Couldn’t ask for any good questions
when he offered. �
(My suggestion will be , answer only if you know and you are sure about it otherwise dont
even try)
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-10-software-engineer/

29
Chapter 11

Set 11 (On-Campus)

Adobe Interview | Set 11 (On-Campus) - GeeksforGeeks


Adobe procedure consisted of two online rounds back to back.
1) First Online Round- It was Aptitude Test of about 50 minutes and 40-45 Questions
were there. The questions were easy and everybody could easily solve that, speed should be
good in order to attempt all the questions.
The questions were of type- some geometry based questions,some easy puzzle type questions
(like there are 5 painters, one painter passionate about scenic beauty, 2nd painter has interest
in… , and other information was given and 3-4 related questions were there),some simple
comparison based questions and some quantitative aptitude questions.
2) Second Online Round– It was of 2 hours.
In this round there were about 10 coding questions and 10-12 simple c o/p(pointer related)
and data structure related question.
Coding Questions asked can be easily found in geeksforgeeks, some of the questions that I
remember are-
1) Reversing a linklist.(trivial question which everybody should know).
2) Given a 2-D binary matrix(nxn)(elements are either 0 or 1) such that in each row,all the
1’s in the array are present before the 0’s.You have to return the row number of the row
with max. no of 1’s.You just have to implement the function whose prototype looks like-
Int max_row(int *arr,int n);//here arr is a pointer to integer and nxn is the size of matrix.
3) Write a program to check whether the number is palindrome or not.
4) A recursive program to multiply two numbers with addition such that there should be
minimum no. of recursive calls.
5) Given an array of n integers, find pair of numbers if present whose sum is equal to a given
target sum.
6) Every number with 3 at it’s unit place has a multiple which has all 1’s like for 3,the
multiple is 111,for 13 multiple is 111111.The multiple can exceed the integer range i.e,it can
be very large number(try storing it in a string).

30
Chapter 11. Set 11 (On-Campus)

7) Given a mathematical expression, check whether the parenthesis used in that expression
are balanced or not.Possible parenthesis used can be {},[],() only.Eg.(2+3)/4*[9+{8*5}].
8) Three processes p1, p2, p3, p4 – each have sizes 1GB, 1.2GB, 2GB, 1GB. And each
processes is executed as a time sharing fashion. Will they be executed on an operating
system.
9) One question was from scheduling in OS.
Technical Interview 1
In this round,firstly the interviewer asked me about DNS server(full working), ARP protocol
etc.
We had some general talks regarding my achievements, then he gave me a problem- There
is a string which may contain repeated words, you need to print unique words only.(I gave
a solution using trie but he wanted brute force solution…:( )
Then he gave a puzzle which I had never heard before(you can search it- “King’s poisonous
wine cellars”).
He was also asking approach for some of the questions asked in written exam.
Technical Interview 2
In this round,first of all I was asked some networking questions,then virtual memory con-
cepts,some scheduling questions etc.
Then he gave me a problem which I had to implement in C.The problem goes like this- There
is an application which is again and again fetching data from database and then using that
information in further processing,but since the application is again and again accessing the
same database so inorder to increase the speed of accessing data we have to implement a
cache.(Property of cache-keep the most frequently used data and remove the least frequently
used data if cache is full,assume limited size of cache).
Solution that I first gave was using a linklist (wrote all functions inC)
He was happy with the solution but wanted me to think about more efficient solution so
I told him using Heap and Hashing,implemented it in C again.He was impressed by this
solution …:)
Technical Interview 3
In this round he asked me about DHCP,DNS working protocols etc.(I wrote these terms in
my resume).He asked about unions,bitfields,structures,asked me to write 6-7 complicated
declarations,asked me the meaning of some declarations(like int *const *const *i).Then
asked C++ Questions about default functions in C++,how would you detect that error
has occured inside the constructor and destructor,lots of c/c++ output questions.I was also
asked about reimplicit cast etc. but since I never studied so I simply denied(If you don’t
have any idea about something or heard the term for the first time,it’s better to simply tell
that u don’t know that,rather than fooling around..).
Output questions were easy if you have done 295C Questions and GeeksForGeeks C/C++
Output Questions.
HR Interview
My third technical and HR Round were scheduled on second day and after my third tech.
round I got more confident which really counts in HR round.You should be really confident
about each and everything you speak and kindly think before speaking something so that
he may not be able to trap you.
First of all he asked my iit rank and AIEEE rank, then why among all the options I chose

31
Chapter 11. Set 11 (On-Campus)

this college, then tell some unique and different quality that you possess so that i should hire
you(he warned me not to say words like honest, hard-working, determined etc., it should be
something unique also think of a situation if u could fit in with that quality), why adobe?,
what is my weakness and how will I overcome it, then he gave me a puzzle to solve. Also I
forgot to add the most common question which you are asked if interviewing in adobe and
you are not among the toppers, where do you stand(rank) in your class, what is the reason
of your low pointers(prepare a genuine answer to this question).
In the end all went well and in my favor and I got recruited for the company. I really
want to thank geeksforgeeks because of which I am at this position. It is really a great
platform where you could find lots of problems to practice and these are repeated by many
of companies in their coding round and interviews.
I hope that this experience of my interviews might prove helpful to some of you.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-11-campus/

32
Chapter 12

Set 12 (On Campus for MTS-1)

Adobe Interview | Set 12 (On Campus for MTS-1) - GeeksforGeeks


1. Online Technical Round (2 hrs)
7 coding problems were given along with 13 mcqs. Coding Problems were very easy.
2. Online Aptitude Round(50 minutes)
45 questions were there. Time was the only limit in this round. Two LR passages, 1 DI
problem and rest were quant questions.
16 were selected after the online rounds.
3. Round 1 PI
This round was all about concepts of C, C++, Compiler, Debugging, Design patterns
a. Tell about different sorting algorithms and their complexities. Why so many sorting
algorithms present where only one can serve the purpose. Advantages and disadvantages of
quick sort and merge sort.
b. What happens when a C program is compiled and executed in details.
c. Where are local variables, dynamic allocated variables, global variables stored?
d. Where are static variables stored?
e. Tell me about the design patterns which you know. Which design pattern have you
followed in your project.
f. Write a pseudo code for Singleton Pattern.
g. Consider the code snippet

main()
{
cout << "Hello";
}

Without touching the above code snippet print


Hi
Hello

33
Chapter 12. Set 12 (On Campus for MTS-1)

Bye
h. Do you want to work for Adobe? Why?
4. Round 2 PI
a. Tell me about yourself.
b. Difference between process and thread. Give me a real life example where thread can be
used.
c. Consider a recursive function with no end condition and architecture of your own laptop.
What will happen? After how much time will the program crash.(Calculations and perfect
answer was required)
d. Write a client server simple code. How will you handle multiple requests? Will increas-
ing number of threads solve the problem. What should be the optimal number of threads
depending upon your computer architecture if you are receiving many requests in 10millisec-
onds time.
e. How google handles 1 billion request in 1msec.
f. What is Load Balancer?
g. Real life example where hashmap can be used. Real life example where array can be
used.
h. Why do you want to join Adobe?
i. What happened in Microsoft last round?(I was rejected in Microsoft last round)
5. Round 3 PI(HR Round)
Basic HR questions were asked. A puzzle was given where three tires are given which can
travel 14, 20, 26 kms . Two tires are required for travelling. Find the maximum distance
which can be travelled. My advice will be try to be honest because these people are very
much experienced. And if you lie you better be a good liar. :p
6. Round 4 PI
a. Find the number of occurrences of a key in a sorted array. Handle the base case. Write
some test cases for it.
b. Implement a stack where you can search an element in the data structure. He asked me
to optimize the solution.
c. Two strings were given. You have to find whether they are permutations of each other. I
gave the hashing technique. He then asked me to optimize it.
I thank geeksforgeeks for maintaining such a great site. It helped me a lot while preparing
for the interviews.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-12-campus-mts-1/

34
Chapter 13

Set 13 (On Campus for


Internship)

Adobe Interview | Set 13 (On Campus for Internship) - GeeksforGeeks


We had Adobe visit our campus recently. First they shortlisted students for an online test
on the basis of CGPA. A few students even got direct offer.
Online Round
There were 8 questions in total. 5 MCQ, 2 Coding and 1 question was based on creativity.
The MCQ’s were on heap, and probability. Finding the expectations and the running time
complexities for heaps were the main focus of the MCQ’s.
In the coding questions we had to write pseudo code, not actual C++ code.
1st question: There is a stream of incoming integers, how would you maintain its median
using a minHeap and a maxHeap.
(https://www.geeksforgeeks.org/median-of-stream-of-integers-running-integers/)
2nd question: You have the start time, end time and index number of racers in a race.
You need to tell the rank of each racer. The rank is calculated as following: if racer B starts
after racer A but finishes before racer A, then the rank of racer A increases by 1.

Eg,
Index Start Time End time
0 100 170
1 80 150
2 120 165
3 110 145

Output
Index Rank
2 0
3 0

35
Chapter 13. Set 13 (On Campus for Internship)

1 1
0 2

I did it in O(n^2), but I think there should be an O(nlogn) algorithm for this.
The last creative question was:
If the 3g wireless network and smart phone penetration in India reached as much as the
cellular network penetration, what product would you design and i) how would it benefit
the customers and ii) how would you profit? (Write in roughly 200 words).
I was shortlisted for the telephonic interview.
Telephonic Interview
I introduced myself, and my projects. He asked me some details of the projects that he
found interesting. After this, he asked me algorithm questions.
i) What is the running time for insertion, deletion, extracting min from a minHeap.
ii) What is the running time for insertion, deletion and searching an element in a sorted
array and the same for an unsorted array?
iii) How would you determine if a coin is biased or not. Does the degree of biasity effect the
number of experiments you have to perform? (Eg, if the prob of heads is 0.6 in one case
and 0.7 in another, then would you still perform the same number of experiments to decide
if they are biased or different number of experiments).
Thank you geeksforgeeks.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-13-campus-internship/

36
Chapter 14

Set 14 (On Campus for Full


Time)

Adobe Interview | Set 14 (On Campus for Full Time) - GeeksforGeeks


Round 1(aptitude and coding) Two tests:
Test 1 (50 mins)
45 questions on analytical reasoning, quantitative and geometry.
Analytical Reasoning Questions were tough, with lengthy and confusing statements.
Test 2- (2 hrs 50 mins)
13 MCQs on OS, C, DS, OOP, Computer Architecture
7 coding questions, few of them i remember are:
a) Reversing a linked list
b) Check if the given sum is available in an array
c) Row with a maximum number of ones in a matrix of 0s and 1s
d) Balanced parenthesis
e) Multiply two numbers without using * operator, and minimum number of additions
f) Check if a number is a palindrome
About 18 people were shortlisted.
Tech Interview Round 1:
Tech Interview Round 1:
a) Asked me to implement a 2d bit-matrix representing monochrome pixels which will have
only OFF/ON values and will take on an average only one bit of memory for each stored
bit (Don’t declare an int matrix!), and how to perform various operations on it.
b) Some problems on basic geometry – circles and tangents were given.
c) C programs were given and various OS related issues were discussed regarding them,
mainly addressing issues, address space, paging etc.
d) If F() generates 0 or 1 with probability .5 each, generate 0-7 with equal probability.
e)Some in-depth questions on pointers, dynamic memory allocation etc were asked..
Tech Interview Round 2:
a) Convex Hull problem

37
Chapter 14. Set 14 (On Campus for Full Time)

b) given a set of points in a plane, how would you make the most optimized triangular
mesh-each point is a vertex of a triangle.
c) Intersection of two lines in a plane, if they intersect- determine the point of intersection.
d) Design problem: without knowing the underlying data structure to store various enti-
ties, how would you extend the stl library of c++, which will support any type of queries.
Basically he was interested in methods of indexing upon the data and retrieval of relevant
information.
Tech Interview Round 3:
This round was mostly a design round.
a) Given two machines with different architectures and different endianness, how would you
as a programmer make sure that user gets a uniform view of the various files stored. Now
if one the files is transferred from one to another, how you’re going to maintain that view
to the user?
b) Implement the qsort() in c/sort() in c++ library or your own custom sort which will
sort any type of data on user defined criteria. write the function prototype, definition and
another requirements.
c) How much memory is made available to a user program by the kernel, is there any limit
to it? What is the range of addresses a user program can have at max, what determines
it?What happens if excess memory is allocated to a user program, say malloc in an infinite
loop?
d) What is the difference between mutex and a semaphore. Write down a crude implementa-
tion of both. How would you solve the mutual exclusion problem using semaphore. Propose
a solution to the readers-writer problem.
e) Other OS related problems.
Last round was the HR round.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-14-campus-full-time/

38
Chapter 15

Set 15 (For MTS-1)

Adobe Interview | Set 15 (For MTS-1) - GeeksforGeeks


Recently I got the oppportunity to be interviewed for the position of MTS-1 at Adobe. Here
is my Interview Experience:
Written Round:
Part A (50 mins):
45 questions based on logical reasoning, DI, quant and geometry. The questions were easy
but the real issue was time in this round.
Part B(2 hrs):
13 MCQs on C,C++ basics (referencing and dereferencing of string pointers ,size of union
etc.), OS basics
7 coding qustions. Some of which I remember are :
a)Reverse a linked list.
b)Check if a number is a Palindrome or not.
c)Multiply two numbers without using * operator and using minimum number of additions.
d)Balancing of parenthesis.
e)Find the row with maximum ones in a 2D array where in each row all 1s occur before all
0s
f)Check if a given sum is availabe in an array.
F2F Round 1:
a) I was asked to allocate a 2D array dynamically. I did that. I was then asked to free the
allocated memory.
b)Implement an averaging filter assuming a fixed window size on an image. Entire code
was required.( We can ignore the border cases). I first did it using a brute force approach.
The interviewer then asked me to optimise it. I did it using extra space to store the sum of
elements in a fixed window size so that we do not have to compute it for each pixel of the
image
c) He told me that for a very large image (2D matrix) the row major traversal is better than
coloumn major traversal. Why?

39
Chapter 15. Set 15 (For MTS-1)

Entire array cannot fit into main memory at same time. Rows are contigously allocated.
Therefore benifits from locality of reference.
d)Questions on virtual memory and paging.
e)Which data structure should we use to represent polynomials and why?
F2F Round 2:
a)Implement queues using linked list. Entire working code with all corner cases was required.
The interviewer was impressed as I had handled all the test cases properly.
b)Most optimal code to calculate the number of set bits in an integer. (i.e. O(no of set
bits))
c)Difference between process and threads, multiprogramming and multithreading, multi-
threading and multitasking.
c)Consider there are 9 balls. One ball is defective (might be heavy or light). Find the
defective ball in maximum 3 weighings.
I went into the wrong direction as I thought that I had done this before. But he gave me
one or two hints and based on that I was able to come to correct answer.
F2F Round 3:
a)There are 2 people A and B. Both A and B have equal speed of walking. Both A and B
have equal speed of running. Now assume that A runs for half the time and walks for half
the time. While, B runs for half the distance and walks for half the distance. Can we tell
conclusively who will win in a race?
b)There are two arrays. One contains n digits and the other n-1 digits. How to find the
missing digit in the second array?
I asked the interviewer if I can assume that the elements are unique. He said yes. Then I
solved it using XOR method. He asked what if the nos are negative or fration. I said that
as two negative numbers or 2 decimal numbers will be stored in the same way in memory
therefore XOR will work for that cases as well.
c)Find square root of ‘N’ without using square root function.
d)Find whether the number ‘n’ is a palindrome or not. He wanted the best optimal solution
with all special cases.
Finally after a lot of hints I was able to bring it down to O(1) space complexity and
O(log(n/2)) time complexity. He was pretty satisfied !
Fourth Round : HR Round (30 Minutes)
It was an amazing experience as the interviewers were very friendly and made me feel at
ease. I would like to thank GeeksForGeeks team for creating such a wonderful portal which
helped me a lot in my interview preparations.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-15-mts-1/

40
Chapter 16

Set 16 (For MTS-1)

Adobe Interview | Set 16 (For MTS-1) - GeeksforGeeks


Recently I got the opportunity to be interviewed for the position of MTS-1 at Adobe. Here
is my Interview Experience:
Written Round:
Part A (50 mins):
45 questions based on logical reasoning, DI, quant and geometry. The questions were easy
but the real issue was time in this round.
Part B(2 hrs):
13 MCQs on C,C++ basics (referencing and de-referencing of string pointers ,size of union
etc.), OS basics
Coding Questions were:-
a) Reverse a linked list.
b) Check if a number is a Palindrome or not.
c) Multiply two numbers without using * operator and using minimum number of additions.
d) Balancing of parenthesis.
e) Find the row with maximum ones in a 2D array where in each row all 1s occur before all
0s
f) Check if a given sum is availabe in an array.
I think it is same from last 3 years and also same for Post Member of technical staff
F2F Round 1:
a) About my projects. Simple Questions.
b) How a program compiler and run. He wanted answer from scratch.
c) C++ Questions for what is cout, Object orientation.
d) Design a ladder and Snake Problem with TWO Player and Code it. I did not have played
earlier. �
e) Code for Directory Structure.
F2F Round 2:
a) Discussion on Projects. A person can have 1 step, 2 step, or 3 steps. How much combi-
nation he can have to climb on a ladder of n and code.

41
Chapter 16. Set 16 (For MTS-1)

b) Min, push, pop in Stack.


c) C++ Question. VIRTUAL CONSTRUCTOR, virtual destructor significance. Design
Pattern related Questions.
F2F Round 3:
a) Basic Projects into.
b) In array only 1 element is unique rest are 2 times. How to find that? He further extend
if one unique and rest are multiple of 3.
c) Design rate Maze Problem.
d) Loop in a list and how to find out. I said it is a standard question and answer. he asked
me. Okk, now tell me why are you increasing fast pointer by 2 only. find the value that
should be best match for this.
e) Some of two elements in an Array. Code it.
d) Random Pointer in Linked list. Clone it.
F2F Round 4: with VP :(:(
a) A lot of questions about my college. So please be prepare for that too. :P:P:P
b) He showed me my resume and pointed out grammatical mistakes. Project Questions. He
asked me every question with deep. What everything mean to regarding project knowledge.
c) Asked my computer science topic which i proud of. By Mistake i said MAPREDUCE.
:(:(:(. I gave him everything by myself.
He asked me to tell what is it. I explained. He was like you understand that but being a IIT
product you should know some mathematical form, and should explain in terms of that.
d) Write code for inverted index for MapReduce. Mapper and Reducer Functions.
e) Page-Rank Algorithm, a lot of discussion, asked me to code it. After making a lot of
mistake i was successful with his help. He asked me why after running page rank algo, why
page rank stabilize after 7-8 turn. (After running page rank algo, page rank of each page
become nearly constant, no big change. Why it happens.)
f) My B.tech project, after explaining everything he asked me for mathematical terms, i
explained him.
This was the best interview, i have ever had. I learned a lot.
Fourth Round : HR Round (30 Minutes)
It was scheduled next to next day.
Thanks geeksforgeeks.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-16-mts-1/

42
Chapter 17

Set 17 (For MTS-1)

Adobe Interview | Set 17 (For MTS-1) - GeeksforGeeks


Written Round
There were two round technical and aptitude
1. Aptitude round consisted 45 questions (50 minutes) except two passage based on logical
reasoning rest were easy, time management was important in this round.
2. 20 Technical question 13 multiple choice from OS and C++ , 7 questions were coding
related running code were required.
After almost 15 days I got call that I have been shortlisted for the next round.
F-2-F Round 1:
1. Write a program to search an element in a row-wise and column-wise sorted 2-dimesional
array .
2. Write a program to convert a binary tree to binary search tree.
3. Two string are given check whether second string are substring of 1st string or not second
string may contain wild card character like ‘*’ and ‘?’.
4. Many C/C++ related question, concept like virtual function , static variable are dis-
cussed.
5. Suggest method to multiply two object(operator overloading , proper code for overloading
was required).
F-2-F Round 2:
1. Write a Recursive function to reverse a link list.
2. You are given a string in which every character is followed by space u have to return n/2
string that is each character as a separate string ..extra space were not allowed.
3. Many OS related questions Deadlock,Mutex, Semaphore, IPC etc.
4. Many typical C/C++ declaration, memory allocation difference between new/malloc,
free/delete and details about how memory allocation takes place.
F-2-F Round 3:
HR round
1. Your strength
2. Weakness

43
Chapter 17. Set 17 (For MTS-1)

3. Why adobe
many more HR questions.
F-2-F Round 4:
1. Implement a stack using two queue and queue push, pop operation proper working code
were required.
2. Write a function to find 2nd largest element in an array.
3. Reverse a string efficiently.
4. Design a chess game.
3-4 puzzle were discussed one related to time glass, one related to watch , and one related
to number this one was really interesting, Puzzle was write an eight digit number in which
0th position represents number of zero in that number, 1st position represents number of
1’s in the number , 2nd number represents number of 2’s in the number …so on.
Many C/C++ concept were discussed this interview went on for olmost 1 hour and 20
minutes ..this was director round and fortunately went well ?
F-2-F round 5:
1. U have n vending machine out of which 1 is defected find the defected machine in O(1) on
solving this he modified it give general solution for the case in which 2 machine are defected
O(1) solution were required.
2. U have given a link list make a new link list which is reverse of original link list.
3. Again many C/C++ and OS related conceptual questions and some general discussion
on few data structure .
F-2-F round 6:
1. Write a recursive function to print directory structure. Two function were given isfolder()
and openfolder().
2. Write proper running code for heapsort and some discussion related to that.
3. Asked 3-4 puzzle.
4. Again some C/C++ related question.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-set-17-mts-1/

44
Chapter 18

Set 18 (For WBT Profile)

Adobe Interview Experience | Set 18 (For WBT Profile) - GeeksforGeeks


Following is my Interview experience in Adobe Bangalore for the profile of White Box Test
Engineer.
Written Round
There were two parts technical and aptitude
1. Aptitude questions(MCQ) were fairly easy,simple mathematical,geometrical prob-
lems,profit and loss etc Also Logical questions with paragraph..(R.S. aggarwal is enough)
2. 30 Technical question(MCQ) related to C and C++ , 2 programming questions(String
permutation and Reversing linked list) , one question about two phase commit protocol
and difference between hub and switch
After 30 days of long wait, I got call that I have been shortlisted for the Further rounds.
F-2-F Round 1:
Starts with Brief introduction.
1. Questions related to my previous company work,meaning of Unit testing,Integration
Testing,Which Software Model is used etc.
2. Test Cases of Mobile for rural area for hardware as well as software point of view. Long
discussion on this.
3. Design a clock in which if you want to know about time in any region of this world, you
can know .Hardware given is such that it has already built calculation device inside it. Long
Discussion on various approaches.
4. famous Puzzles a) Measuring 4 liter water from 3 and 5 liter. b) 3 bulbs 3 switches, here
is the link http://www.programmerinterview.com/index.php/puzzles/3-switches-3-bulbs/
After this Next 2 rounds are video conferencing(V.C.) rounds as Hiring was for Noida
campus.
V.C. Round 2:(Hiring Manager Round)
Starts with Brief introduction.
1. Write a C/C++ function for removing extra spaces in given sentence.
2. Write a various test cases for checking the functionality of Adobe reader while saving it

45
Chapter 18. Set 18 (For WBT Profile)

.Long discussion on it.


3. Find a 3 digit Number abc such that abc=a!+b!+c!. Ans is 145.He then ask me the
approach how i got it.
After this he briefly explain the Job profile in which I have to work if I got selected. He also
asked about testing methodology that I have been doing in my current company.

F-2-F Round 3 H.R.:


After Hiring manager round, There was H.R. round. He was a really cool guy. He asked
me about previous interviews how it went. Then he asked me about my long term plans if
i got selected, about my family, My qualifications etc.
He also asked me about C.E.O. of adobe.
V.C. Round 4:
1. Write a C code for converting a string from a2b2c5 to aabbccccc. Then make it generalize.
Various Test cases of it
2. About testing tool that i used in my current company, Various functionality of It.
3. Puzzle : There is a pond in which there is x kg ice on 1st November, it becomes 2x on
2nd November then 4x,8x,16x,32x and so on.Like this whole pond is filled with ice on last
day i.e. 30th November. On which day pond was filled with half the ice ?
4. Puzzle: you have 100 coins on table, 60 heads and 40 tails. With your eyes closed, how
can you separate the coins into 2 groups such that each group has same number of tails.
5. Write a C function to convert array {1,3,5,7,2,4,6,8} to {1,2,3,4,5,6,7,8}.Then make it
generalize. Various Test cases of it.
Many C/C++ concept were discussed on this round like friend function, Inheritance etc.
F-2-F round 5:

Starts with Brief introduction.


1. About some commands in UNIX , use of wild card character etc. Then he asked me how
you open notepad without using mouse.(simple),then he explain the internal logic behind
this like what will happen if you press ctrl+s,ctrl+o etc. After this He gave me array of
strings such that each string must have ‘$’ character, I have to write a C code to find whether
there exist two strings having same character just after $.(also simple).
2. Difference object oriented concept like function overloading. why C does not support
function overloading as there is a concept of variable number of arguments in C? , explain
with example.
3. Different searching methods and its complexity, Hashing. How you search words in
dictionary?
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-18-wbt-profile/

46
Chapter 19

Set 19 (For MTS)

Adobe Interview Experience | Set 19 (For MTS) - GeeksforGeeks


Written round:
Same test every-time.
1st round:
He asked me to write code for hello world in C. Then he asked where this printf is stored
and how compiler knows where to check that thing. If printf declaration is moved to the
program will it get executed. I told him that I am not aware of these things.
https://www.geeksforgeeks.org/connect-nodes-at-same-level/ without using extra space.
Design a transaction system for a bank with many atms across. He asked me if you want to
deal with the bank how will you explain them the model and all the software and hardware
requirements. He wanted a multithreaded client- server interaction model and the database
requirements.
2nd round:
Reverse a string. Reverse a paragraph word-wise.
Inorder and level order traversal and queue operations complexity.
Why inheritance is used. What is virtual memory and thrashing.
3rd round:
Implement a push pop operations in a stack. Implement a queue using stacks. Remember
there is further optimization, he asked me for that.
Explain virtual memory and how mapping is done.
Explain multithreading and how global, static etc variables are stored and accessed by
threads.
Write complete code for the number of ways a frog can reach nth step by jumping 1 or 2
steps.
4th round:
Replace a string with another string in a paragraph. Which data structure you will use.
Complete code.

47
Chapter 19. Set 19 (For MTS)

There are balls of red, blue and green color. How will you sort them.
Implement a generic swap function. I wrote a function which swap the pointers but he
wanted me to swap the complete memory blocks not just the pointers.
Indirectly he was asking me to implement memcpy function.
5th round:
Implement a contiguous 2-d matrix dynamically in C.
Spiral order traversal of a matrix. Complete code and he ran it for a 4×4 matrix.
Calculate Fibonacci for nth term. He was asking to optimize the traditional solution.
6th round: Director round
Write a function which returns 1 when 2 is passed and return 2 when 1 is passed.
1 number is missing from an array(1 to n). find that
He just wanted sum of n terms minus sum of array solution.
Now correlate the above two problems.
He asked me what I do at my home after office.
I told him that I read news, quora and some articles. So he asked if I remain updated with
the news and then asked me questions like J&K election results, CM of some states and
latest android version.
What if I do if I would have everything.
Why not go for further studies.
7th round: HR
Tell me about yourself. Current CTC and notice period.
I would suggest to go through pointers and how the things actually work from scratch like
they would ask you to implement any generic library in-built function. Also read OS and
oops concepts. If you don’t know any topic simply tell them.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-19-mts/

48
Chapter 20

Set 21 for Software Engineer


(Fresher)

Adobe Interview Experience | Set 21 for Software Engineer (Fresher) - GeeksforGeeks


Adobe Interview Experience for Software engineer (Testing profile, Fresher)
Phase 1: shortlisting of resumes on basis of cgpa (7.5 in our case)
1) Online Aptitude Test- link is mailed to email account , consists of 45 questions in 50
minutes, reasoning questions bit tough, but quant part is very easy.
My advice for this test is start from the last question as starting 15 questions are tough,
and after that questions are so easy that they dont even require pen and paper.
2) Online Coding test: 14 MCQ (C output based) and 3 C programs
in my case programs were multiplication of 2 (2X2) matrices and second was a pattern
question(reverse pyramid) and one more i dont remember.
Now there are 2 f2f techincal rounds.
1st F2F:
Interviewer was so friendly that as i was a bit nervous in the starting he took me to the
cafe, and had a cup of tea with me and showed my his previous seat loactions when he
joined Adobe. Then the interview began, asked me in which language i am comfortable(tell
only those you know coz they ask only from them) . i told i can code in C, and clear with
concepts of Java.
Questions:
How java is platform independent?
He told me that if he mails me an excel file and when i try to open it, it doesnt open. asked
me all the possible reason to it.? (gave me lot of time to think, basically he was checking
how much i can think on it)
He then told me that if he makes a new web browser and asks me to test it, what all thinks
i would test. (again gave me a lot of time to think and tell him as many as i can)
Then WAP to convery binary no to Decimal no.
Then WAP, given a file, find the line in the file which has maximum charactes and print it.

49
Chapter 20. Set 21 for Software Engineer (Fresher)

2nd F2F:
Started with my intro, as i had done internship in my final sem so i told this in my intro ,
so he asked me to explain what all i did in the internship.
Asked me given an array , find the element before which all the elements are smaller than
it, and after which all are greater then it. Asked me approach, didnt want the code.
Final Director Round:
Started with my intro.
Discussed my final year project, asked me if it is live as i had made an e-commerce website.
so i told him the link , and then he asked me to prove that the website is made by me only,
it is not someone else website that i am showing so i showed him the admin panel and he
believed it was made my me only.
Then he asked few questions
What is virtual memory?
What is SaaS?
What is Memory Leakage?
What is cloud?
then he also gave me a testing related question. to which i had to think and give all the
possible cases i would test.
Basically think vast, think for all the possible cases, take your time, language is not a barrier,
Hindi is permitted.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-21-for-software-engineer-fresher/

50
Chapter 21

Set 22 (On-Campus)

Adobe Interview Experience | Set 22 (On-Campus) - GeeksforGeeks


Adobe Interview Experience (On-Campus)
Round 1:
========
1) Coding round: 3 questions, 90 mins:
a) Given k,n,m. where k is no. of coconuts you initially have. n is the some no. such that if
you have >=n coconuts, you becomes stressed otherwise you become normal. m is the no.
of shops.You go from 1st shop to m-th shop without skipping any shop. At i-th shop, either
you buy Si coconuts or sell Si coconuts. If you are stressed then you must become normal
at next shop. If you have less than Si coconuts and you want to sell then you must sell all
the coconuts you have. The task is to calculate maximum possible changes of your mood
from stressed to normal or vice-versa.
My solution: Used DP.
b) You have n nodes and m edges with their weights given. If no edge is given from node i
to node j, you should assume there an edge with weight=1. You have to calculate the min
cost of path from node 1 to node n.
My solution: Could be done by Dijkstra, but Floyd Warshall was working for all test-cases
hence saved my time by using Floyd Warshall.
There was one more question.
2) Apti Round: 45 questions, 50 mins.
1st F2F Interview:
======================
-Asked how you solved the coding questions. When I came on Dijkstra, It was a complete
discussion on its algorithm and Time Complexity.
-A brief on my projects.
-OOP-Inheritance, Polymorphism, Abstraction.
-Discussed Hashing
-A problem on Spoj is encrypted using substituting cipher(substitued an english alphabet

51
Chapter 21. Set 22 (On-Campus)

with another english alphabet). All spaces and punctuation marks are deleted. How will
you get the original problem statement.
-Discussed Heap
-Find 2nd largest element in given array using min. no. of comparisons. I told him solution
with 2n comparisions, but he kept insisting me to think more and reduce the comparisons.
2nd F2F Interview:
======================
-1 question on linked list
-https://www.geeksforgeeks.org/check-if-a-given-binary-tree-is-sumtree/
-How to synchronize 2 threads, one which is downloading contents of a site while loading
the website and another UI based thread which is showing the percentage completeness.
Without using Java Synchronization concept.
-Discussed on sync on Dropbox. You are uploading something on Dropbox. Suddenly
network connection is lost. After that you have modified file and then network is connected.
What should you code on Client-side to resume it instead of restarting. It can be the case
that the part of file that was uploaded is modified and you should resend the modified one.
3rd F2F Interview: (With Director)
==================
– An array is given of size m. First n elements (n < m) are filled and rest contains junk.
Write code for linear search to find an element x in first n elements. There would be 2
comparisons per iteration: (i < n) in for loop and (arr[i]==x). You have to reduce the no.
of comparisons to 1 comparison/iteration.
– A two-balls question on trigonometry.
-Two balls with same weight and same diameter are there. One is solid and other is hollow.
Distinguish between them.
-Archimedes principle.
-Why Mirage happens.
-Explain concept of TIR(Total Internal Reflection).
My solution for array question:
arr[n]=x;
for(int i=0;;i++) if(arr[i]==x) break;
if (i < n) return i;
else return -1;
HR Round:
=========
Think of a real-life society problem and think of some innovative technology you can build
to solve that.
All interviewers were very-friendly. Hindi was permitted except HR Round. It was an
enjoyable experience.
Thanks Geeksforgeeks for Trees and Linked List.
All Practice Problems for Adobe !

Source
https://www.geeksforgeeks.org/adobe-interview-experience-set-22-on-campus/

52
Chapter 22

Set 23 (1 Year Experienced)

Adobe Interview Experience | Set 23 (1 Year Experienced) - GeeksforGeeks


I recently interviewed at Adobe, Noida office and got the offer. I had 1 year work experience.
It was a standard process comprising of an aptitude and technical test on hackerrank. Its
the same every time. You can have a look at the test in previous archives.
Screening
————–
-Aptitude Test
-Technical Test having 13 MCQs and 7 standard coding questions.
Interviews at Noida Office
————————–
Round 1.
========
1. The interview started with my general introduction. The interviewer wanted to know if I
had in depth knowledge of what I am working on, so he asked all sorts of questions related
to the technologies and why they were used and not something else.
2. Questions Related to C, C++ – How are .h files loaded and linked with their .c files. I
did not know much about it as I had experience in Java and told him the equivalent answer
in Java.
3. How to find the minimum element in a rotated array? e.g. 4 5 6 1 2 3
Gave the answer using Binary Search
4. How to find a common node between two Linked Lists?

1->2->3->4->NULL
|
5->6

53
Chapter 22. Set 23 (1 Year Experienced)

Gave an answer using difference in length of LLs and wrote the code which handled all the
cases.
5. Then he discussed about Operating System Concepts, Virtual Memory, Paging, etc.
Note. Make sure you write code which handles all the test cases especially the boundary
ones.
Round 2.
========
1. The interview started with my brief introduction. This time the interview was more
interested towards my hobbies and passions. He asked me what do you do to keep yourself
updated with the latest technology trends?
2. After that he asked me only one question related to geometry. The question was given
an isosceles right angled triangle. Find the radius of the smaller circle.

Solved it using basic pythagoras theorem.


It was weird that he asked only one question.
Round 3
========
This round was a tricky one.
1. The interviewer asked me what all had been asked to me till now. I confidently said that
I liked that goemetry was asked. I shouldn’t have said that… �
The question was given a rectangle ABCD with length l and breadth b. Now it is folded
along diagonal BD. i.e. A is joined to C. Find the length of the line segment EF

54
Chapter 22. Set 23 (1 Year Experienced)

Solved the question with his hints. Basically it involved some deductions related to imagi-
nation and pythagoras theorem. Basically AE = EC and EF = EC. After that it is simple
geometry question.
2. How do you heapify an array? What is the time complexity involded. Apparently he was
interested in the exact complexity. I told him that we always start heapifying from the last
parent whose index in the array is (n-1)/2.
He then asked me about how we heapify individual elements, etc. and how heap sort works.
Basically he wanted me to answer that we do not heapify elements from (n-1)/2 till n which
decreaes the time complexity from nlogn which I answered in the end.
3. int a = 8;
char *b = (int *) a;
Where does b point to?
Now this question was related to Big endian and little endian as in he wanted me to ask if
the architechture is little endian or big endian. I told him I did not know about this.
After this question I told him that I am from Mechanical background and I did not know
much about computer architechture. He was a little shocked and skipped the OS questions.
Lucky me!!!
4. How to know if a number is a power of 2 in O(1)? n&(n-1)==0?true:false
5. Given an array of numbers all of which are repeated only one non repeated, find the non
repeated number.
Gave the algorithm using XOR.
6. Then he extended the previous question to find if two numbers are non repeated. He
wanted the XOR approach again.
7. Given two binary trees A and B. Check if B is a subtree of A. Solved using nomal tree
traversal.
8. Find the kth smallest element in an unsorted array of numbers.
First gave the approach using Heap. Put all the elements of an array in a min heap and
extract k times. But he was interested in a better approach.
Answered using quick select algorithm (modified quick sort).
He told me there is a more optimized approach on the selection of pivot elements using
order statistics. I did not knew the order statistics method but he was quite satisfied with
basic quick select algorithm.
Round 4 : Director Round
========================
1. My brief introduction. Why low CGPA, etc. ?
2. Given an array of size m out of which n indexes are allocated. How do you minimize the
number of comparisons when you search an element in this array?
I wrote basic linear search code. Then he asked me how do you minimize number of com-
parisons.

55
Chapter 22. Set 23 (1 Year Experienced)

3. Given n points in a plane which form a polygon. Find if a random point exists inside
that polygon or not?
4. How would you find the volume of a lake. He was interested in my approach. I gave 2-3
methods, one of which was quite funny on which he laughed at me.
In the end he asked me if I had any questions regarding the role and all.
I would like to take a moment and thank geeksforgeeks for helping me in my interview
preparation. Cheers to you guys!!!
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-23-1-year-experienced/

56
Chapter 23

Set 24 (On-Campus for MTS)

Adobe Interview Experience | Set 24 (On-Campus for MTS) - GeeksforGeeks


Adobe came for recruitment in my college. Here is my experience-
First round was an online round-
There were some aptitude questions and 3 coding questions.
I remember only 1 ques out of the three.
You are given the height of n towers and value k. You have to either increase or decrease
the height of every tower by k. You need to minimize the difference between the height of
the longest and the shortest tower and output this difference. I solved this in O(n2 )
First interview:
1. You are given an array of characters which is basically a sentence. However there is no
space between different words and the first letter of every word is in uppercase. You need
to put a single space between these words and convert the uppercase letters to lowercase.
There are some extra spaces available in the array at the end.
Eg. “MyNameIsRam ” , you need to convert this to “my name is ram”
I first told him an O(n2 ) approach but the interviewer asked me to optimise so I came up
with an O(n) time and O(1) space algo.
2. Find the intersection point of two linked lists. This is given on gfg.
3. Then he asked me some question on dynamic memory allocation which I don’t exactly
remember. Also asked about new, delete, malloc, free.

Second interview:
The interviewer asked me to introduce myself. After this there was long discussion on my
internships and the projects I had done. I had done a project on machine learning so a long
discussion went in this. Then some questions related to my CV. In the end he asked me a
few questions on dynamic memory allocation and pointers.

57
Chapter 23. Set 24 (On-Campus for MTS)

Third Interview:
This was a very long interview.
1. He asked me to implement a spell checker- first check if it is the correct word and then
check words which are similar to the given word. Eg how google shows in Did you mean!
2. What happens when you type a url in the browser? After this question there was a long
discussion on how a browser displays a web page(HTML, CSS etc).
3. Convert an array to balanced binary search tree
4. Find duplicates in a string
5. Implement quick sort
6. Also some questions on different sections of memory of a computer(heap,stack,data etc)
Fourth interview- HR

There were some general HR questions like Why adobe, where do I see myself after
x years, how was the entire recruitment process, my strengths and resume related questions.
Thanks geeksforgeeks! J
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-24-on-campus-for-mts/

58
Chapter 24

Set 25 (On-Campus for MTS-1)

Adobe Interview Experience | Set 25 (On-Campus for MTS-1) - GeeksforGeeks


Initial Round:
Aptitude Paper: 45 questions to solve in 50mins. Platform was Hackerrank. No negative
marking. I solved around 35 approx. correctly.
Online Coding: 3 questions to solve in 90mins. Platform was Hackerrank. Two of them I
remember.

1. Given a string with no spaces and random characters, we have to find that a given
word can be form or not if we start removing one character at a time. If one character
is removed then it’s all existences in the string will be removed. Print ‘Yes’ if possible
else ‘No’. E.g. finding “hacker” in “bhbalcdkqegr” will print Yes. We also need to
consider that “hacker” characters should come in order, I missed this case.
2. Given an array of 0’s and 1’s. Need to tell minimum number of swaps required to take
all 1’s to one side. Only adjacent swap is allowed.
3. Don’t remember. Was related to DP.

First Interview (1hr):


Presented himself and what he do. Took resume and asked “Tell me about yourself”.
Started with OS

• Tell me about fragmentation. Internal and External both. How it happens?


• Asked about Paging.
• How space is allocated to processes in memory.
• What is defragmentation? How it works?
• What happens when I execute a process like play a video in my PC?
• +more.

Coding

59
Chapter 24. Set 25 (On-Campus for MTS-1)

Asked to write a code to do defragmentation. Basically I converted this problem to an array


which contains 0’s for free space and Non-Zero value for used space. Wrote a code of O(n)
to shift all non-zero numbers to one side.
Write code to make mirror of a binary tree in-place. I said I already know that but still
asked to code it.
Many memory allocation related problems

• Write a method which will return me an array of size n every time(every time new).
• Questions on static variables, malloc, calloc, pointers and how they work.
• Wrote code on his own laptop and asked to find mistakes (static variables and pointers
related).
• +more

Internship

• What was my role? What I did, learned and experience?

Puzzles

• 5ltr and 3ltr jug problem. I said I know this so he skipped.


• 25 horses problem. First time heard so solved there only.

Do you have any questions?


Second Interview ( 1hr + ):
Saw resume and asked “Tell me about yourself”. Questions on Internship, same above.
Jumped to coding questions then.

• Make a string tokenizer. A string with it’s length and token character will be given,
now return a 2D array which contains sub-strings of that string separated by that
character and stored at different rows of array.
e.g “I am a CSE student” and character is space, so now return-
I
am
a
CSE
student
this should be in a 2D array but ‘NO EXTRA SPACE SHOULD BE USED’. Here
you can’t use a 2D array of 5×8(including ‘\0’). Hint: Use an array of pointers, each
pointer in array will point to variable length string.
• Now write a method which will free the space used by above 2D array.
• Which data structure you will use to store phone directory so that you can access a
person’s number in shortest time?

60
Chapter 24. Set 25 (On-Campus for MTS-1)

• You are given a file which is a phone directory containing Name and phone number
in each line of file. Now give me an efficient algorithm to find a person’s number in
shortest time. You can’t use much space. You can jump to any line by use of seek.
Hint: Do a pre-traversal of file.
I made a 2D array of 26×26 size with a-z and a-z perspective and stored the starting
line number of names starting with these characters in pre-traversal and then did
binary search to search in between. E.g searching “ram” will appear between “ra*”
and “rb*”.
• You are given two files A and B, and each contains a number in each line. Print A-B.
Consider number are sorted.

At last he was very satisfied with my approaches and answers.


Third Interview ( 1hr+):
First “Tell me about yourself” and then long discussion about my Internship. Same above
questions of internship but also many questions on Ruby on Rails and about the product
which I worked on and my experience, what challenges I faced, what I learned etc.
Then coding questions (all coded on paper):

• Write a method which returns hexadecimal representation of a given integer. Easy


but same “No space to waste” so size of returning array was main. Different in case
of 32bit and 64bit systems.
• Questions on memory allocation and pointers.
• Reverse words in a string. I Said I know this.
• What will be the number of unique factors of (p^a)*(q^b) where p&q are different
prime numbers and a,b>0.
• Write a method returning pivot position in quick sort where initially I will be taking
first value as pivot. I Said I know this.

I had not asked any questions in the PPT so he asked why I not asked any questions and I
was present or not.
Next he opened my answers of the online test and asked why my all test cases not passed
in 1st question(10/13 had passed) and why I didn’t attempted 3rd question.
Fourth Interview (20-25mins): HR Round

• Tell me about yourself


• Tell me about your Internship in detail. Explained almost everything.
• When you gets angry?
• What is your dream job?
• You was in the PPT? Why you didn’t asked any questions?
• Tell me about some of the Adobe products.
• Which is your dream company? I said Adobe is my 1st dream company, so she asked-
o So, what is your 2nd dream company?
o What if we don’t hire you?
“I said I will take job in any other company for now and will see you again next year.”
• Gave me an office scenario where my manger is putting pressure on me to complete
the work fast and I understand nothing about the work.

61
Chapter 24. Set 25 (On-Campus for MTS-1)

• What will be my preferred location to work?


• Asked about family background.

*Can be the case that I missed many questions but these are the only one I remember.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-25-on-campus-for-mts-1/

62
Chapter 25

Set 26 (On-Campus for MTS-1)

Adobe Interview Experience | Set 26 (On-Campus for MTS-1) - GeeksforGeeks


Adobe visited our campus for full time Member of Technical Staff-I (MTS-1)
First round consisted of an aptitude test and a coding test.
The aptitude test had 45 minutes and 45 questions.
The test was an average one. A tip start the test from the last question they were really
easy as compared to the starting 15 questions.
The coding test had 3 questions to be completed in 90 minutes.
1) you are given the waste at certain positions with values between 1.01 and 3.00 and you
can carry atmost 3.00kg at one time. You had to tell the minimum number of bags required
to carry the waste.
Input
4
1.30 1.40 1.50 1.60
Output
2
Input
4
1.40 1.70 1.50 1.50
Output
3
Question 2) A CEO of a company wants to keep his employees happy. He can keep them
happy if he has enough cookies in the pantry that are required at any time.
The values at ith position indicates how much candies one person needs.
A value Ci<0 means the employee needs cookies otherwise he keeps those cookies back in
pantry.
Input
-5 4 2 -1 -6 -1 0 5
Output
8 (it should have been 7 but 8 was given so had to print ans+1)
Question 3) you are given the heights of n towers and a value k. You can either decrease the

63
Chapter 25. Set 26 (On-Campus for MTS-1)

value of a tower by k or increase the value by k. You have to tell the minimum difference
between the maximum and minimum height tower.
Input
35
7 -7 4
Output
4

Round 2
24 students were shortlisted out of a potential 200 students.
I was asked 4 questions.
1) tell whether a string of parenthesis is valid or not.
2) you have an the heights of the bars given in an array first you have to tell the amount
of rain water trapped between the bars and then he extended the question to finding the
block with maximum water trapped.
3) print all the permutations of a string with and without repeating characters.
4) implement and tell the complexity of inserting a value in a vector in c++.

Round 3
This round was the toughest round.
First i was asked to design a spell checker. I used tries and implemented most of the
functions.
Then i was asked a few OS questions like difference between process and a thread etc.
Then i was asked what happens when you type a URL in your web browser.
Then he asked me a question on finding an element in a 2D matrix which is sorted column
and row wise.
Finally he asked me to design a web browser and cover every aspect of it.

Round 4:
This round was based completely on my past internships and projects.
A few questions were which project or internship excited you the most.
Finally 8 students were selected for the job.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-26-on-campus-for-mts-1/

64
Chapter 26

Set 27 (On-Campus for


Internship)

Adobe Interview Experience | Set 27 (On-Campus for Internship) - GeeksforGeeks


Round 1: Online Round 60 min.
8-9 Questions where asked.
6 Aptitude Questions: (1 point each)
2 coding questions:( 2 points each) (only pseudo code)
1: Given the ID, starting time and ending time of racers, Output the no. of racers whose
starting time is greater and ending time is less than a racer.
2: Given a BST output the rank of the an element in that tree in less than O(n) time.
Rank of an element is the index of element when all the elements of the tree are in sorted
order. eg 4 5 6 7 8 ; rank of 5 is 1, rank of 4 is 0;
1 Writing Question ( 3 points)
Imagine that self driving technology has been achieved. Describe the ecosystem surrounding
such a world and what technological break-through do you think that would have evolved
by that time.
Around 15 students were shortlisted based on the Cumulative of score in first round and
C.G.P.A

Round 2 (Telephonic Interview) 30 min.


First of all he asked me to Introduce myself.
Then he asked configuration of my laptop.
Interviewer : A recursive function has no termination condition. What will happen when it
runs.
Me: Stack overflow.
Interviewer: Given a simple recursive function which calls itself:

65
Chapter 26. Set 27 (On-Campus for Internship)

eg: void f() {


f();
}

How long will it run in your laptop.


Me: I asked for certain assumptions.
1st: what stack space shall I assume?
Interviewer: Half of RAM.(4 GB)
Me: 2nd: I further assumed 4 bytes are required for addressing.
time = (4 GB/ 4 Byte)/frequency; frequency-> processor speed (2.0 GHz)
This is not accurate solution… accuracy involves lot other parameters.
He was just checking my Approach that how I solve the problem.
He further asked me about my favorite subject. I said Data Structures.
He didn’t ask me even a single question related to data structures.
Interviewer: What other courses have you done,.. Have you done OS?
Me: yes.
Then he asked to differentiate b/w Process and Threads.
Further he asked .. Given an array of 1000 elements.Elements are multiplied in a for loop
from 1 to thousand.
Time of execution is x milliseconds. How will you reduce x?
I thought a few mins .. didn’t make out anything… then he gave a hint: During the time
program was running, CPU performance was 50%.
Then I said use threads or fork to multiply first half in one thread and other half in another
thread. Multiply the results from both the threads.
He further asked: Which one is better, fork of thread?
I answered Threads.
Interviewer: There is box and in that box there are real numbers ranging from 1 to 10.
What is the probability of getting 2 out of that box.
Ans: Firstly I answered 1/10 .. then he repeated the question … then I answered 0.
Interviewer: Does that mean we can’t ever get 2 when I take a number out of that box.
Me: I said no, we can get but its probability is tending to zero.. very low probability.
Interviewer: You have got 1 last minute. How will you explain Internet in 1 minute.
I explained a bit then he asked Is there a central authority which runs Internet?
I sain no.
End of Interview.
All Practice Problems for Adobe !

Source
https://www.geeksforgeeks.org/adobe-interview-experience-set-27-on-campus-for-internship/

66
Chapter 27

Set 28 (For MTS-2)

Adobe Interview Experience | Set 28 (For MTS-2) - GeeksforGeeks


Written round:
3 hours of written test.
First technical and then aptitude.
Few technical questions that I can remember.
1)

int* a = (int*)60;
int* b = (int*)40;
printf("%d", a-b);

Print the output. (Ans: 5)

2) Given a boolean number in string form.


WAP to output the 2’s complement of the number in the same form(string).
3) Convert a prefix expression to postfix.
4) Some assembly program was given, needed to tell what exactly the program was doing.
5) Some basic hash related questions.
Aptitude questions are standard and repeated everytime.
Can be looked up on the net.
Round1: F2F
1) Implement n-ary tree using down-right approach.
Traversal both level-order and in-order.
Asked to code eveything.
2) What data structure would you use to store a composite linked list?
Composite means that the data value in the individual nodes could vary among the primitive
data types.

67
Chapter 27. Set 28 (For MTS-2)

I started with void* and an enum entry to specify the type to help during retrieval.
Then moved to using union. He looked happy with this.
3) Implement malloc and free.
4) Memory layout of a C program.
5) What do I like about Adobe Photoshop from the technical point of view?
How would you load and display a 3 GB data file at runtime.
Round 2: F2F
1) Design and implement garbage collector in C.
Many aspects were discussed here.
When to trigger?
Who is responsible?
Which memory to free?
2) Given an integer number, how would you determine if it is a palindrome.
He wasn’t too impressed with the stack based method.
Wanted in lesser space complexity.
So gave solution like this:
rem = num1%10;
num1 = num1/10;
num2 = num2*10 + rem;
if the new number created in equal to the original, it is a palindrome.
He wanted me to optimize it further.
So started comparing num1 and num2 also, if the number has even-digits, it would return
early.
Also, if the number is a multiple of 10, can outrightly say it is not a palindrome.
3) Given a integer number, find the next higher palindrome number.

Round 3: F2F
1) Code to check if a binary tree follows the below property.
Every node’s data = sum of left subtree + sum of right subtree.
2) Design a model for implementing sync mechanism for Google drive.
(handling only the client side).
Same file can be accessed and modified by different clients.
Take care of power failure, no internet connection scenarios too.
3) Given an infinite stream of boolean digits, need to tell at runtime whether the number
received so far is a multiple of 3.
example, first digit recieved is 1, so number is 1 -> not a multiple of 3.
second digit received is 0, so number is 2 -> not a multiple of 3.
Constraint is that you can only use a 2-bit buffer to store.
Ans: always store the remainder to know if it is a multiple of 3.
in the above example,

68
Chapter 27. Set 28 (For MTS-2)

rem = 1%3 = 1
when 0 comes, new remained = 2*1 + 0 = 2 %3 = 2.
and so on.

Round 4:
1) Code for given a sorted but pivoted array, find the ceiling of a given number.
2) Discussion on projects.
Volatile keyword.
Discussion on use of extern and static.
3) Big endian and little endian architecture.
How to identify if big endian or little endian.
If something has been written on the disk using big endian architecture and then read using
little endian architecture, how would happen?

Round 5:
2 questions asked here, i genuinely didn’t know the answer to.
I just tried attempting in all possible ways and analysing the pros and cons.
1) Given a rectangular sheet of paper, and a set of very irregular shapes.
I was to cut these shapes out of the paper, in such a way
that ‘there is a good mix’ of all the pieces and the wastage of paper is minimal.
When I say irregular, it can also have a hole in the middle.
2) Say now, on a touchscreen display, you have those set of irregular pieces.
You touch at a point and swipe it, the corresponding piece should move in that direction.
This game is interactive and needs good time complexity.
3) Given a fairly large number, need to tell whether the number is part of fibonacci series
or not.
You are not allowed to generate all the number in the fibonacci series.
I was not aware of the direct formula to check this at that point.
So tried the matrix multiplication method to calculate the nth fibonacci number.
I calculated the 1st number, 2nd number, 4th and so on, till the number exceeded the given
number.
And then used binary search to track the answer down.
4) Was asked if I could improved the performance on the hardware.
I said by calculating all fours member of the matrix parallelly on four cores, if available. He
looked satisfied.
Asked to explain the MVC design Pattern.
Thank you geeksforgeeks for the awesome resource you are!
Cheers!
All Practice Problems for Adobe !

69
Chapter 27. Set 28 (For MTS-2)

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-28-for-mts-2/

70
Chapter 28

Set 29 ( Off-Campus)

Adobe Interview Experience | Set 29 ( Off-Campus) - GeeksforGeeks


Written:
1.Online Aptitude test, time = 45 mins questions = 60.
2.Online Coding test, time = 2hrs, questions =7coding,13 technical multiple choice.
7 coding ques. :
1. To check if the parenthesis are balanced.
2. Matrix has rows in the form of 1’s followed by0’s.Find the row with maximum number
of 1’s
3. Reverse a linklist
4. Multiply two numbers using minimum number of additons
5. Find if the number if palindrome or not ?
6. Find the number of pairs which sum upto a particular sum ‘K’.Numbersmay be positive
or negative
7. Every number ending with 3, has at least one multiple of all 1’s.
4 F2F Rounds

Trick:
1. First solve using brute force, then if he asks to optimize, optimize the solution. never
give optimized solution in the first go. think think and think about the question, if still not
able to solve, asks the
interviewer for hint.
2. Be ready with the complexities of all the answers that you give.
Round 1:
1. Method to determine whether a number is a power of two.

71
Chapter 28. Set 29 ( Off-Campus)

2. Find a number in a 2-D matrix sorted horizontally and vertically.


3. Find number of set bits in a number.
4. Find largest and second largest number in an array with minimum number of comparisons.
Round 2:
1. if you cover distance x, then in the next step you cover 2x then 4x.in this way you cover
total distance n. tell me the way in which you are travelling.
My ans: geometric progression, he was like okay.
2. What is inorder, preorder, postorder. write the code and the output for the given binary
tree.
3. how to make a tree from the combination of any two, also write the full function code.
why cant we make binary tree from post and preorder? Explained well.
4. Find the intersection point of two linked lists with full code.
5. how to compile two .cpp codes together.
6. what is makefile? utilities?
7. where is printf stored? all the internal details.
8. explain logical and physical memory.
9. explain paging.
10. what does stdio.h do? difference between #include “” and #include <>.
11. what gets included when we do #include?? does it includes the whole definition of the
function or just the prototype?
12. what is the role of assembler in “gcc a.c” ?
13. what does linker do? hwo does it link? functions of a loader?
14. Explain all the compilation steps in this command “gcc a.c b.c c.c”.
Be familiar with the preprocessinga and compilation in deep and its
internal working details.
Round 3:
1. You are given 4 (x,y) coordinates of a rectangle, 1 (x,y) coordinate of a circle and its
radius. write the code to find if the rectangle and the circle intersect?
Intersection: if a point on or above the figure is also on or above the other figure.
2. A sorted array is rotated around an element. Modify binary search to search for an
element in the array.
3. There are 2 processes, A and B, their working:
A : Makes .jpg files and stores them at some address.
B : Retrieves the .jpg files from the same address.
There is no producer-consumer problem. B retrieves only when A has produced some file.

72
Chapter 28. Set 29 ( Off-Campus)

Now instead of storing the entire file at some other address, the process A makes files and
just pass the address of those files to process B.
Will B be able to access those file?
Correct Ans: No, it wont access because any process just cant enter other process’ block to
retrive something.
My ans:
1.yes, if they were using some shared memory and the files are stored on shared memory.
2. no, if not shared memory because the address given by A is the logical address not the
physical address, so B cant access until it is given
physical address.
Round 4 (Engineering Director):

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-29-off-campus/

73
Chapter 29

Set 30 (Off-Campus For


Member Technical Staff)

Adobe Interview Experience | Set 30 (Off-Campus For Member Technical Staff) - Geeks-
forGeeks
Hi, I was recently interviewed for MTS at Adobe. Here is my interview experience:
1)Online aptitude test
2)Online technical test :
It comprised of C MCQs and coding question(in any language).
Coding questions were:
1. To check if the parenthesis are balanced.
2. Matrix has rows in the form of 1’s followed by0’s.Find the row with maximum number
of 1’s
3. Reverse a linked list
4. Multiply two numbers using minimum number of additons
5. Find if the number if palindrome or not?
6. Find the number of pairs which sum up to a particular sum ‘K’. Numbers may be positive
or negative
7. Every number ending with 3, has at least one multiple of all 1’s.
3)Written test (10 questions, 1hour):
1. Given a boolean number in string form.WAP to output the 2’s complement of the number
in the same form(string).
2. Define a doubly linked list. WAP to reverse the list in place.
3. Find gcd of 2 numbers using recursion.
4. Write a function to find maximum of three numbers using ternary operator only.

74
Chapter 29. Set 30 (Off-Campus For Member Technical Staff)

5. int a = (int *) 60;


int b = (int *) 40;
printf(“%d”,a-b);

Ans. 5.
6. Some variable is declared in a file. It is now used in another file using extern keyword.
What possible problems could arise?
7. 1 output question of recursive function.,1 output question of #define, meaning of 2
pointer declaration were asked, 1 output question of 3d array.
4) Technical Interview 1:
1) Segregate balls of red, blue and black color stored in an array.
https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/
2) Consider a directory Structure. Given a file object of outermost directory, print unique
names of files. You are given a predefined isFolder() method.
3) Consider an alarm system with operations:
addEvent(eventId,time,callback()) – Callback function could be playing a ringtone on the
alarm.
removeEvent(eventId)
updateEvent(eventId,time)
executeEvent(time) – This will call the callback function of the event to be executed at the
given time.
Discussion on possible data structure to be used along with complexities of each so that
executeEvent function is optimized i.e. takes least time.
5) Technical Interview 2
1. Compare C and C++/Java. Discussion on polymorphism, method overloading, method
overriding, Constructor, handling errors, dangling pointer, memory leak. Suppose a class
takes positive Integers only, what will happen if we try to create an object giving negative
value. How to catch the error. How is the memory deallocated for the object. What is full
form of PDF.
2. What is thread? What problems arise with multithreaded applications? How are they
solved? Difference between semaphore and mutex?
3. Given 2 sorted arrays , find kth smallest element among them.
4. Reverse a linked list in place, without returning the head pointer.
https://www.geeksforgeeks.org/write-a-function-to-reverse-the-nodes-of-a-linked-list/
6) Technical Interview 3:
1. https://www.geeksforgeeks.org/search-in-row-wise-and-column-wise-sorted-matrix/
2. https://www.geeksforgeeks.org/reverse-level-order-traversal/
3. https://www.geeksforgeeks.org/a-linked-list-with-next-and-arbit-pointer/
href=”https://www.geeksforgeeks.org/clone-linked-list-next-arbit-pointer-set-2/”>

75
Chapter 29. Set 30 (Off-Campus For Member Technical Staff)

4. Given a binary search tree to be transmitted over a network, WAP to store the BST at
sender side and recreate BST on receiver side.
5. What data structure is used for dictionary. What are limitations of that data structure.
7) HR Round:
1. Tell me something about yourself.
2. Why should we hire you.
3. Why Adobe?
4. What is your dream company?
5. Family background.
6. Adobe CEO, headquarters, when it was established.
8) Director Round:
1) Tell me something about yourself personally as well as professionally.
2) Design a mobile app which tells nearest restaurants to your current location. Discussion
on how restaurants should be stored on database. How should database be searched for
restaurants based on current location. How it can be optimized in case of remote areas and
dense population areas.
3) Given n red balls, m blue balls and 3 containers, how would you distribute balls among
the containers so that the probability of picking up the red ball is maximized.
4) 4)WAP to read through a file and print tokens of length 5 comprising of alphanumeric
characters only.
5) Questions from resume.
6) What is your strongest quality. Give an example of a situation.
I would like to thank GeeksForGeeks which helped me a lot in my interview preparations.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-30-off-campus-for-member-technical-staff/

76
Chapter 30

Set 31

Adobe Interview Experience | Set 31 - GeeksforGeeks


I was interviewed by Adobe at hyderbad following is the experience
F2F Round 1:-
1. What is MVC in angularjs ?(Angularjs was mentioned on my Resume so he asked me)
2. Write programme to find first repeating element in an array
sol :- https://www.geeksforgeeks.org/find-first-repeating-element-array-integers/
3. https://www.geeksforgeeks.org/design-and-implement-special-stack-data-structure/
4. Given a node in directory structure(folder). Print all the sub node of the folder with its
path. Structure of node is

struct Directory
{
// true if given node is directory or ot
bool isDirectory;

List * child;
Sting nameOfNode;
}

F2F round 2:-


1. In UI given a dropdown with name of employee and a entry as “all”
on clicking any entry it should show details about that employee
on selecting all it should show detail of all employee
He asked me to write sql query for it
Ans : select * from emp_table where emp_name=selected_emp or selected_emp=all;
2. He asked me to implement “AND” (if input is bool1 and bool2 return (bool1 && bool2)
) gate and “NOT”( if input is A return !A ) using abstract class GATE.

77
Chapter 30. Set 31

Then he asked me to implement child class “NAND” using “AND” and “NOT” as par-
ent(base) class
3. Asked me to search a word (string) cross word
http://www.careercup.com/question?id=14560771
4. Give an array of integer find all repeated element (non uniq) in it.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-31/

78
Chapter 31

Set 32 (For MTS-1)

Adobe Interview Experience | Set 32 (For MTS-1) - GeeksforGeeks


I was recently interviewed for MTS-1 at Adobe. Here is my interview experience:
1) Online written round
1. Aptitude test, time = 45 min, questions = 60. (Tip: Start from last question.)
2. Coding test, time = 2hrs, questions = 7 coding, 13 technical multiple choice.
Multiple choice questions contained maximum questions related pointers.
7 coding questions:
1. To check if the parenthesis are balanced.
2. Matrix has rows in the form of 1’s followed by 0’s. Find the row with maximum number
of 1’s.
3. Reverse a linked list.
4. Multiply two numbers using minimum number of additions.
5. Find if the number if palindrome or not?
6. Find the number of pairs which sum up to a particular sum ‘K’. Numbers may be positive
or negative
7. Every number ending with 3, has at least one multiple of all 1’s.
2) Telephonic round
Q1: Find the smallest K elements in a continuous stream of integers.
Q2: Find the intersection point of two linked lists.
Follow up – You can’t compare node’s data as well as address.
Q3: Write code for merge sort.
3) F2F

79
Chapter 31. Set 32 (For MTS-1)

Q1: WAP to clone a linked list.


Be sure to cover all the edge cases.
Q2: There are n players in a tournament. Players hold transitive property i.e. if A beats
B and B beats C then A automatically beats C. Find the minimum number of matches
required for finding the winner.
Follow up – Minimum matches for finding the first runner up. Which data structure will
you use for this question?
Q3: In memory layout of a process.
4) F2F
Q1: You developed your own image editor let’s say Picedit. An update of Picedit is delivered
to customers. After updating, the customers report an inconsistent problem of Picedit
crashing but the same cannot be reproduced at your end even by using the same image file.
You are provided the window crash call stack by customer. How will you approach this
problem? What are the probable causes?
How will you use call stack to find out the erroneous line of code?
A lot of discussion on reasons for heap corruption.
Q2: Design a garbage collector in c.
Q3: Suppose you have a repository of a million records of mobile numbers. A lot of
discussion on how will you store these numbers so that you can check whether a given
number already exists in minimum space and time complexity?
Q4: Discussion on stack frames, Printf, signed int and unsigned int memory representation.
5) F2F
Q1: Find output of a program related to pointers. (It was simple although I got it wrong
first � )
Q2: You are given a function let’s say bin() which will generate 0 or 1 with equal probability.
Now you are given a range of contiguous integers say [a,b] (a and b inclusive).
Write a function say rand() using bin() to generate numbers within range [a,b] with equal
probability.
Q3: Consider a regular telephone dial up. It has generally three alphabets for each digit.
For example, ABC for 2 and so on.
Given a number. Print all the possible strings by taking one alphabet corresponding to each
digit in number.
Input: 254
Output: AKH, AJG etc.
Q4: WAP to tokenize a string.
6) F2F

80
Chapter 31. Set 32 (For MTS-1)

Q1: Given a number say N. WAP to print the next greater number by using the same set
of digits of N. For example:
Input: 123
Output: 132
Q2: You have a continuous stream of strings. At any point of time, you have to print the
strings such that those which are permutations of one another are printed together.
WAP for the same.
For example:
Input: {‘act’,’cat’,dog’,’tac’,’abc’,’god’,’bac’}
Output: {‘act’,’cat’ ,’tac’,dog’,’god’,’abc’,’bac’}
7) Director round
Q1: Discussion on a piece of work that you have done in your past and you are proud of.
Q2: Design a mobile application that gives user a set of nearest restaurants available.
Discussion on what will be your approach for densely populated areas and sparsely populated
areas.
How will you identify whether user is in densely populated area or sparsely populated area.
You have (x,y) coordinates of user as well as all the restaurants with you.
8) HR round
Q1: What do you know about Adobe? Its headquarters etc.
Q2: Why Adobe?
Q3: Why should we hire you?
Q4: PDF full form.
Few Tips:

1. Adobe truly evaluates a candidate on the basis of how you approach a problem instead
of bookish answers. You can get through even if your answer is not the best one but
approach is different. Concentrate on that.
2. Be prepared with space and time complexities for all the questions.
3. The programs that you will write should handle all the possible test cases.
4. You will be asked for more than one approach for almost every question.
5. Interviewers were very friendly and will make you feel comfortable.

All Practice Problems for Adobe !

81
Chapter 31. Set 32 (For MTS-1)

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-32-for-mts-1/

82
Chapter 32

Set 33 (On-Campus)

Adobe Interview Experience | Set 33 (On-Campus) - GeeksforGeeks


Adobe came to my campus in April 2016 for Software Engineer(White Box Testing) profile.

ONLINE ASSESSMENT ON HACKERRANK:


First, they took 2 online tests.An aptitude test having 50 questions to be done in 45 min-
utes. It was pretty easy .Mostly questions were on logical reasoning based on seating arrange-
ments,data interpretation,test cases ,find the area of some given figure,inferences based,speed
,simple interest,discount,shares type questions etc.There were no questions which required
much calculation like pipe cisterns,work and time,trains etc
TRICK : Start from last.Do data interpretations questions in end.Most importantly, Be
quick.

Second was online technical assessment.It was of 35 minutes and had 18 questions.14 ques-
tions were C/C++ MCQ.and last 4 questions were subjective coding questions.You can’t
run and test the code there.
Coding questions were:
1) Draw a pattern of starts having inverted triangle.
2) Write code in C to multiply two matrices.
3) Write code in C to find the decimal number if its binary conversion is given as a string.
4) How will you generate a stream of random numbers using rand() function and ensure
that every time it generates unique numbers.
Codes were easy .Basically they wanted to evaluate whether you include all test cases or
not.
13 students were shortlisted on the basis of these 2 online tests and were invited to Adobe
Office at Noida.

ASSESSMENT 2:
It was pen and paper round. 3 coding questions were asked.Out of which ,we had to write
two codes in 20 minutes.

83
Chapter 32. Set 33 (On-Campus)

1) Find the nth node from back of the linked list.


2) Find the maximum sum subarray from a given array.Array can have negative elements
too.We have to print initial and final position of the subarray. Hint: Kadane’s Algorithm
3) Find the factorial of 100. Hint: Use an array to store results.
PS: Hints were not given there.

TECHNICAL ROUND 1:
Interviewer was pretty cool and nice to me. She asked to give my intro to her and brief
description of my projects.She asked me what approach I used in the previous round to
answer the questions and what other method I could have used to improve complexity.She
also asked the technical questions which I did wrong in online test.She asked me what are
binary trees and to write the code to make a binary tree.Given Inorder and Preorder in the
form of arrays.
She asked me a lot of questions from operating systems like Virtual Memory, Context
Switching, Assigning priorities to processes and detailed discussion on it.
She asked me the difference between static and auto in C.
What are dangling pointers and memory leak .How you can avoid them.
She asked me all types of testing.Automation testing,Memory leak testing,Loop test-
ing,Performance testing etc
7/13 were rejected after this round.

TECHNICAL ROUND 2:
Interviewer was very friendly.He first introduced himself and what work he and his Core
Technologies team do at Adobe.Then he asked my introduction.He asked me various well
known puzzles like gold bar puzzle ,socks puzzles.One question was if I have Sunday on 1st
Jan 2000. Then in which year ,we will have Sunday on 1st Jan again.(I used the odd days
trick and answered him quickly). He asked me some questions on virtual memory,priorities
of various processes.How OS assigns the priorities to various processes. What will happen
if 2 processes having same priorities come?LRU ,MRU,techniques etc.
He asked the test cases that I will try if a system is running slow.
He asked me test cases on Like button of facebook,test cases on if someone uploads a picture
on fb, test cases that I will run on login page of a website.
I gave him many and he was impressed.
PS: If an interviewer asks a puzzle and says whether you have done it before or not.Never
say yes in any case.

MANAGERIAL ROUND:
Interviewer was very polite and nice.She asked me about my major project and we had
detailed discussion on it.She asked me 1-2 questions that I was not able
in Tech round 1.I explained her very well this time. She asked me whether I am placed or
not. If yes, then in which company I am placed and what they are offering to me.What is
the location of that company. What profile I have been offered here. Why you want to join
Adobe instead of that company(Azcom Technologies).
Do you use Adobe products.Which one you like most and what feature of that product
fascinates you most?She asked me how I use paid products of Adobe.

84
Chapter 32. Set 33 (On-Campus)

I frankly told her I use cracked versions and she smiled.(I thought I did a blunder but later
I got to know that she was impressed with my truthfulness).She also asked me to write the
code to find a given word in the given string.I wrote the code and included all the test cases
which was important for this role irrespective of time & space complexity.
1 person was rejected.

HR ROUND:
I got a call for this round just after the previous round.HR was coolest lady at Adobe.(Later
she clicked our pics too :P) At first,She offered me tea/coffee.She asked me typical HR
questions .
What are your strengths and weaknesses.
What you want to join Adobe.
What do you see yourself 2 years down the line.
What position you have in your class.
Our college which was part of IPU before has changed to a state university .We discussed
about it also.She asked me what changes I have seen after this conversion to state university.
She asked me how ppl know me at my college apart from my academics performance.How
my previous interview rounds went?
It was very short and nice interaction with her.

Thanks a lot to geeksforgeeks for providing us a great platform to learn and all ppl who
contribute here.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-33-on-campus/

85
Chapter 33

Set 34 (For MTS-1)

Adobe Interview Experience | Set 34 (For MTS-1) - GeeksforGeeks


Recently I appeared in interview for MTS-1 Adobe. Here is my experience.
Written Round: Very easy aptitude Questions on geometry, DI, profit loss etc.
Main are the coding questions which were:
1. Paranthesis matching
2. Row with maximum 0s in a matrix with 0s and 1s where in each row 0s come before 1s
3. Multiply two numbers without using * operator and minimum number of additions
4. Check if a number is palindrome
5. Check if given sum is available in array.
Also there are 3-4 OS questions on memory management and synchronization.
F2F Round 1:
All the interviewers were very sweet. First interviewer asked me about my present role in
the company and the technologies I use. The requirement was for Java, Spring, Hibernate
and jsp. And these are the technologies that I had been working on so I had an edge. He
asked me about Hibernate. Why we use hibernate? What alternatives we have? Why
spring? Dependency injection? I explained with an example. It was a long discussion.
Java Question:

C = "abcd"
try {
c.substring(0);
}

catch(Exception e) {
//

} finally{

86
Chapter 33. Set 34 (For MTS-1)

c.substring(1);

print c; // what will be the output


}

No coding Questions were asked in this round.


F2F Round 2:
Tell me about yourself.
Rate yourself in C,C++ and in java .
How confident are you in java? Then he started asking conceptual Questions in java. Ex-
ceptions in java. Checked and unchecked exception. Little discussion on that.
If exception is thrown in finally block what will happen?
Ans: The exception goes up the call stack.
What are the cases in which finally block wont be executed?
Ans: jvm crash or exit command in try.

class A {
int a = 1;
static class B {
printA() {
System.out.println(“a: “+a);
}
}
}

Output of this question? Ans: static inner class can access only static members of outer
class. So this will give compile time error.
Final Keyword in java. Output Q on that.
Abstract class Vs interface. When to use what. How it works?
He then asked about my project and how client and server communicate. REST APIS
related Questions.
Coding Q: Given inorder and postorder traversal make the actual tree.
Find the longest distance between two nodes in a tree.
He asked me if I had any questions. I asked about the work I was being interviewed for.
What it is and where it is used.
F2F Round 3:
Tell me about yourself and your role in the company. What does your company do? Which
project are you proud of and why? I told about a project that I had done individually. He
asked everything about that project starting from the use case to technologies used.

87
Chapter 33. Set 34 (For MTS-1)

How will you find out in a program that system is 32 bit/64bit. Ans: sizeof(viod*)
Implement your own collection class
Why do you want to join Adobe? And why leaving the current job in less than a year.
Find Local minima in a array
Print right view of a binary tree.
F2F Round 4: (Director Round)
We spoke a great deal about my present work and the work that they do.
Design a DS which does push, pop and min in O(1)
K arrays each of size n is given. Merge them in minimum time complexity. Space is not a
problem. Before the solution he wanted the exact equation and the time complexity. Then
the code.
Note: in all the interviews they asked to write a code in such a way that its going in
production today.
HR round:
He asked how were the interview rounds according to you. He then asked current CTC
and expected CTC. He was very friendly. He asked me to tell about myself. Things that
distinguish me. He told about the awesome Adobe campus and the food and games and
gym. Why you want to join us, etc.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-34-for-mts-1/

88
Chapter 34

Set 35 (Off-Campus Drive)

Adobe Interview Experience | Set 35 (Off-Campus Drive) - GeeksforGeeks


Recently I appeared for adobe interview drive at Hyderabad.
Here is the questions being asked to me.
Round 1: Written test based on online hackerrank.

• MCQ choice questions on aptitude and 5 coding questions.

Round 2: Telephonic discussion.

• Infinite streams of number, find top k numbers.


• OS scheduling policies.
• 9 balls puzzle to detect the faulty ball.

Round 3: F2F

• Print a m*n matrix in spiral form.


• Detect & return the intersection point of 2 linked list.
• Puzzle- Calculate the value of pie given area of circle.

Round 4: F2F

• Multiple 2 numbers using bitwise operator.


• Given a number, find the next highest number formed using the same digits.
Eg: I/P: 25317
O/P: 25371
• Clone a linked list given 2 pointers, next & arbit.

89
Chapter 34. Set 35 (Off-Campus Drive)

• Concept of virtual destructor.


• Delete operator in C++

Round 5: F2F

• Given an empty string of size n & value k. Find permutation of string with the value
at each position ranging from 0 to k-1.
• Given a windows file system structure containing folders & file.Given a method IsFile().
Print all the path from root which ends in a file.

Director Round:

• Discussion about projects done with previous company.


• Design hashtable , write APIs exposed to user & underlying architecture used.

All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-35-off-campus-drive/

90
Chapter 35

Set 36 (Off-Campus Drive)

Adobe Interview Experience | Set 36 (Off-Campus Drive) - GeeksforGeeks


Online Written Test:
Multiple choice questions on aptitude and programming 2 coding questions.
F2F R1
1) Given a string of any length. print all possible combinations of string length k
Hint use recursion
2) Given a matrix, print in spiral order.
3) Verify whether given tree is BST or not.
Had solved as per the method 3 https://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/
Then he himself orally briefed about method 1 from the same link and asked me to write
code for the same and figure out what’s wrong with the approach.
F2F R2
1) Given a Node such that

Node x {
boolean ifFile;
int[] children;
}

had to print all the paths from root to the file. if there is no file don’t print anything.
Note: This is not tree or graph.
The structure is like windows file system and hierarchy can be any long. So recursion will
cause stack overflow. Solve it without recursion
2) Given a sorted array with one number having any number of duplicates
For eg [1,2,3,4,4,4,5,6]
Find the index of the first occur of duplicating element.
So for above example your function should return 3.
Hint: Use Binary search

91
Chapter 35. Set 36 (Off-Campus Drive)

3) Minimum number of jumps to reach end


Given an array of integers where each element represents the max number of steps that can
be made forward from that element.
Write a function to return the minimum number of jumps to reach the end of the array
(starting from the first element).
If an element is 0, then cannot move through that element.
Example:
Input: arr[] = {1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9}
Output: 3 (1-> 3 -> 8 ->9)
F2F R3
Discussed about resume and projects worked upon.
1) Given a binary stream, state if the number is divisible by 3 at any point of time
Discussed 2-3 approaches.
2) Discussed various approached to implement dictionary.
3) Given a set print all possible subsets.
F2F R4 (directorial round, last one)
Discussed about my work projects and college projects as well.
Discussed various approaches and complexities for array rotation problem.
All Practice Problems for Adobe !
Minimum number of jumps

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-36-off-campus-drive/

92
Chapter 36

Set 37 (3.5 Years Experienced)

Adobe Interview Experience | Set 37 (3.5 Years Experienced) - GeeksforGeeks


Online Written Test
20 MCQ + 5 Coding Questions
F2F 1
1. There are two sorted arrays . Find the median of array obtained by Merging these two
arrays.
https://www.geeksforgeeks.org/median-of-two-sorted-arrays/
2. Find Transpose of a Matrix.
3. Tell me about Garbage Collection . I told him about GC process and different types of
GCs available. Then Interviewer asked about Mark and Sweep Algorithm.
4. Fill 4 Lt using 5 Lt and 3 Lt Jars.
F2F 2
1. There are tuples given for each users of a website (Si,Ei) where Si denotes the when the
user entered the website and Ei denotes when the user exits the website .Find the maximum
number of users active of website at any time duration.
2. Given an array that contains both positive and negative integers, find the product of the
maximum product subarray
https://www.geeksforgeeks.org/maximum-product-subarray/
3. Rotate a Matrix clockwise by 90 degree.
4. Puzzle : There are n Prisoners standing in a line with increasing height such that each
prisoner can see the hat color of prisoners standing ahead of him but he cannot see his own
hat color. Hats are of only two color , Red or Blue. Now each prisoner has to say his hat
color. If he is right, he lives otherwise the Jailer will shoot him. Find the strategy to save
maximum number of prisoners.
5.

93
Chapter 36. Set 37 (3.5 Years Experienced)

class
{
int i = 0;
method()
{
// updating the value of i to 10
}
}

We want to execute this class in Multi threaded environment such that each thread should
have same initial value as 0 .
Ans: I told him to use ThreadLocal Variable and store i in it . Then we started discussing
on Thread Local Variable and Java Memory Model.
F2F3
1. There is a binary stream coming . You need to print true or false based on the fact
whether the number formed is divisible by 5 or not.
Hint:I used state machine
2. Print all subset of a Set .
3. Implement Dictionary .
I used Ternary Search Tries.
4. What is Adapter Design Pattern . Give an Example and draw class diagram.
F2F4 (Director Round- Telephonic)
It was very short (15-20 mins). Comprised general discussion of my project , the internal
architecture of framework i am using. Few Scalablity concepts.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-37-3-5-years-experienced/

94
Chapter 37

Set 38 (4.6 Years Experienced)

Adobe Interview Experience | Set 38 (4.6 Years Experienced) - GeeksforGeeks


Round 1:
Q1. Implement memcpy function. How do you make compiler to give warning if user passes
nomberOfBytes less then equal to zero.
Q2. Write code to multiply two matrix.
Q3. What is SIMD?
Q4. What are different IPCs mechanisam.
Q5. Find least common ancestor for N-ary tree, given pointer of two nodes. tree structure
has parent pointer too.
Q6. what are the principles of Dynamic programming.
Round 2:
Q1. Design like/unlike feature of facebook, when some one uploads a photo.
How do u notify to users who have already liked the photo.(Observer pattern)
10 million users like the photo at the same time, how do you handle such scenario.
Solution:(duplicate the photo instance in multiple servers based on load balance and do
parallel reduction technique to do like++(lock like in each server) for each server and then
broadcast the number of l ikes to other servers )
Q2. Write code for inorder traversal of a tree. Recursive and iterative using stack.
Q3. Given a matrix of size nxn, how many ways are there to go from 0,0 to n-1,n-1. Both
recursive and DP based solution.
Q4. Given a matrix of sise nxn and filled with 0s and 1s. you cant step into cell with zero.
what is the shortest path to go from 0,0 to n-1,n-1. Both recursive and DP based solution.
Round 3: (Director Round)
Q1. Why do we need copy constructor?
Q2. Write method signature for copy constructor.
Q3. Write method signature for operator overloading.
Q4. Implement a stack which supports push and pop function. Write production level code.
some question related to work and behavioral questions.
Round 4:
Q1.There are two players A & B.

95
Chapter 37. Set 38 (4.6 Years Experienced)

Pots of gold are arranged in a line, each containing some gold coins (the player can see how
many gold coins are there in each gold pot – perfect information). They get alternating
turns in which the player can pick a pot from one of the ends of the line. The winner is the
player which has highest number of gold coins at the end.
The objective is to maximize the number of gold coins collected by A, assuming B also plays
optimally. A starts the game. You need to tell the final state of both the player.
Q2. Can we do array[i]=i++;
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-38-4-6-years-experienced/

96
Chapter 38

Set 39 (1.5 Years Experienced)

Adobe Interview Experience | Set 39 (1.5 Years Experienced) - GeeksforGeeks


Test Procedure: (Prior to interview date)
1. Online Written test.
Time: 1:30 hrs
Questions: 25(5- coding, 20- MCQ)
MCQs were aptitude, Operating systems and output questions
Coding were simple array manipulation.

2. F2F Interview(1 hrs) (Bangalore)


Q1: Find the diameter of the of binary tree with least complexity(O(n)).
https://www.geeksforgeeks.org/diameter-of-a-binary-tree/
Q2: Convert a binary search tree to balanced binary search tree(with and without rotation)

3. F2F Interview(1:30 hrs) (Bangalore)


Q1: Intro and explain project
Q2: Assume, there are millions of line in a file. Print the last K lines from that file.
Q3: Coin change problem(Normal solution and dynamic programming solution)
https://www.geeksforgeeks.org/dynamic-programming-set-7-coin-change/
Q4: OS concepts- Virtual memory and Paging
Q5: Print Tree in the veritical form https://www.geeksforgeeks.org/print-binary-tree-vertical-order/
Q6: One pointer manipulation question in Linked list (forgot exact question :)).
Q7: Tell me about the design patterns that youhave used for your project. Explain their
application.

4. F2F(video conferencing from Noida) Interview(1 hrs)


Q1: Intro and explain project
Q2: Difference between 32 bit and 64 bit OS
Q3: Explain the scenarios when C++ program might crash.
Q4: Optimize Linear search in an array for least number of comparison.
Q5: One more programming question regarding array. Can’t remember �

97
Chapter 38. Set 39 (1.5 Years Experienced)

5. Director’s interview: (Bangalore)


Q1: Intro and explain project
Q2: What you learned from your last project?
Q3: What will you avoid if you have to do it again.
Q4: How do you manage to succeed in It industry in spite of being from Electronics back-
ground
Q5: You have 4 byte integer. WAP to return the number of set bits in O(1) complexity.
You could use some space if u need
Q6: Current offers and concerns regarding salary and job location.
I’d like to thank GeeksforGeeks for helping me during my interview preparations. Hope this
helps. Please comment if any clarification is needed.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-39/

98
Chapter 39

Set 40 (On-Campus for MTS-1)

Adobe Interview Experience | Set 40 (On-Campus for MTS-1) - GeeksforGeeks


Online test:
Coding : Time : 90 minutes
There were three coding questions as follows:
i > A man starts from his house with a few pan cakes. let they be N. Now he visits K places
before reaching home. At each place he can buy a cake, sell a cake or do nothing. But he
must sell L cakes before reaching home.Find the maximum number of cakes he can have at
any point in his journey.N,K,L are given as input
ex: for 5 3 1 , output: 7
ii > The exact question i don’t remember. You have to find the maximum contiguous
subarray in an array. Basically a question on Kadane’s algorithm
iii > There is a text. There is a pattern. The pattern contains a * symbol and it can be
replaced by 0 or more letters(any letter) . For example if the pattern in aa*b the aaab,
aab,aaccb,etc all are valid patterns.You have to find number of occurrences of the pattern
in the text.
MCQ: 50 minutes
There were 45 questions based on logical reasoning, data interpretation and elementary
mathematics. One advice is that start from the end, they are much easier than those in the
beginning.
About 16 students were selected for interviews.

Round 1
The interviewer looked at my resume. Then directly moved to Data Structures and Algo-
rithm.
1> He asked me about sorting algorithms.Then he asked me what is the difference between
quick sort and merge sort and when to use what?
I told him merge sort is stable and quick sort has a worst case complexity of o(n^2) but in
quick sort we don’t need to merge sorted array. In case of arrays we use Quicksort and for
linked lists we use merge sort

99
Chapter 39. Set 40 (On-Campus for MTS-1)

2 > Write code for merge sort of a linked list containing floats
3> He then told me about bubble sort in linked lists by swapping of data in nodes and asked
what is the problem here apart from complexity?
I told that looked lists generally contain chunks of data so swapping data can cause consid-
erable overheads and degrade performance. He seemed happy with the answer.
4 > How is a float like 5.7 represented internally in the CPU?
I had to tell about IEEE notations. I didn’t remember those so could not answer it.
5 > Few questions on Operating Systems , Threads, Process, their difference , paging, etc
6 > You have to write a generic Compare function for sorting. For example, suppose there
is a Student class containing marks of Subjects X,Y,Z. you have to write a compare function
for sorting based on any field that the user wishes.
Hint:Use Function pointer
7 > Two numbers are given you have to multiply them without using * operator and also
tell the minimum number of additions required to do so.
i gave an also but could not tell the minimum number of additions required.

Round 2
Again the interviewer looked at my resume and told i have done a good number of projects.
But again no questions on my projects.
1 > Design a Cache for storing any kind of data.
As we do not know what data is to be stored , so we must return void pointers. Now
first i implemented with an array. Then for page replacement i used LRU. For keeping
track of least recently used element, i used a heap. I was told to further optimise it . So
First represented the cache a heap then finally went ahead with a Doubly Linked List with
addresses of nodes stored in a HashMap.Wrote codes for set and get functions for the cache
and replacement also.
The interviewer helped a lot and pushed me towards correct solution
2 > A C code was given and i was asked to find the error. It was a tough one involving
pointers and character alignment within the memory space and segmentation faults.
3 > A few questions on function overloading
4 > The arrival time and departure times of trains are given, you have to find the minimum
number of platforms required for the trains.

Round 3
In this round, my internship project was discussed in details. Then the following questions
were asked:
1 > What happens when we often allocate and deallocate memory?
There was a long discussion on how the OS allocates memory, fragmentations , how to avoid
it (compaction).
2 > how compaction works? he was asking for algo
Told him that memory blocks can be represented by 0(free) and 1(occupied). Compaction

100
Chapter 39. Set 40 (On-Campus for MTS-1)

would then mean moving all the 0s in the end. I told him the respective algo for array and
linkedlist.
3 > how deallocation occurs and what things should be taken care of during deallocation?
I told him that instead of frequently allocating and deallocating memory, we can reuse it
using realloc(). There were a few questions on realloc().
4 > Why row major traversal of a very big array is faster than column major traversal?
Told him the benefits it can have from internal caching
5 >You have to cover a distance N. You can take 1,2 or 3 steps. Find number of ways of
doing s0.
Gave both the recursive and dp solution.

Round 4(Final HR round)


This was basically an HR round and questions like Why adobe? If you get another job, how
will you decide which one to accept ? What is your location preference ? etc were asked.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-40-on-campus/

101
Chapter 40

Set 41 (For Software Engineer)

Adobe Interview Experience | Set 41 (For Software Engineer) - GeeksforGeeks


First Technical Round
1: Given NXN matrix filled with 1,0,2,3.
1(Source)
2(Destination)
3(Blank cell)
0(wall)
Write a code to identify whether there is a path possible from source to destination, travers-
ing through blank cells only. You can traverse up, down, right and left.
2: In above question calculate the minimum number of moves needed to move from source
to destination.
3: Given a binary tree , print all the nodes in a same horizontal distance from root in a
zig-zag manner.
suppose the data in same horizontal distance is
1 5 6 (horizontal distance 0)
3 11 13 14 (horizontal distance +1)
2 9 10 12 (horizontal distance -1)
4 (horizontal distance 2)
7 (horizontal distance -2)
8 (horizontal distance 3)
15 (horizontal distance -3)
op will be 8 4 12 10 9 21 5 614 13 11 3 7 4 15 8.
4: Test cases on fb login page.
5: To detect and remove Loop in a link list.

Technical Round 2
1: There is a Queen placed in 8X8 chess board, a x,y coordinate is given, u have to find out
is it possible to put other queen and so on for 8 queens.

102
Chapter 40. Set 41 (For Software Engineer)

2: Test cases on a smart phone going to be launched tomorrow.(Discussion of about 40


minutes)
3: Is testing your smartphone under refrigerator and microwave oven is valid test scenario?

Technical Round 3
1: You have given 3 rows 5 column matrix. Rows will be filled with platforms
like ios,windows,android and columns would be features like camera,music sys-
tem,Internet,voice,Locking system.
i have to filled the matrix by yes or no for the combinations of rows and columns for my
smartform going to launch tomorrow on this different platforms and having updates on this
feature.what would be my stratergy of testing as i have onl one day.And i have to launch
the smartphone tomorow any how.
2: SDLC life cycle phases. He is a customer and i am a road contractor. He will be stating
me that he will need a road from this city to some list of cities.I have to fill the details on
different phases.
3: Mis-labelled jar puzzle.
4: Mis-labelled jar puzzle for 4 jars.
Technical Round 4
1: Difference between severity and priority.
2: Given scenerios i have to mark with appropriate level of severiety and prioity.
3: 2 ropes and 45 min puzzle.
4: 25 horses puzzle.
5: Discussion on some OS concepts.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-41-software-engineer/

103
Chapter 41

Set 42 (Off-Campus)

Adobe Interview Experience | Set 42 (Off-Campus) - GeeksforGeeks


Recently i was interviewed at Adobe(off-campus) Software-Engineer position and got placed.
I would like to thank the whole GeeksforGeeks team for providing such a great platform for
preparing interviews. Below is a detailed description of all the rounds.
1st Round(Online) : Aptitude Test:45 minutes(Objective Only). Technology
Test:C/C++ or Java(only one)(Objective+Subjective) 45 minutes.The questions were
easy in both aptitude and technology test.Platform was hackerrank. Coding questions
included :binary to decimal,generating a unique set of numbers in a given range every time
etc.The output questions were of medium difficulty.Just manage your time for this round.It
is easy to clear. �

Face To Face :
Well after around 15-20 days,I got a mail that i have been selected for the face to face
rounds.
1st: Started with introduction.The interviewer was very cool.After sometime,he started with
questions.
i). Given a string,print all the sub-strings that are palindrome.
ii). OS: Explain Deadlock and Virtual memory.
iii). Implement Virtual Memory(by code).
iv). A scenario::Suppose you have: browser–>cache–>database model.Now,suppose a bug
fix has been done on this model.After bug fixing, it has been found that a request–.>response
that earlier took 1ms now takes 25 ms.How will you identify what is wrong with the model
and in which part?

2nd: Again started with a bit of intro…Then onto questions..


i). Binary To Hexadecimal.(Directly).
ii).

Input N=4

104
Chapter 41. Set 42 (Off-Campus)

Output :
4444444
4333334
4322234
4321234
4322234
4333334
4444444

Input N=3
output :
33333
32223
32123
32223
33333
Generalize and write code.

iii). Asked about Adobe products.Discussed for some time about Adobe CC.
Well i was a bit nervous after this round.I had to wait more than 2 hours.after that my 3rd
round began
3rd: Directly went to questions.
i). http://quiz.geeksforgeeks.org/puzzle-11-1000-coins-and-10-bags/. (Was asked the opti-
mal solution).
ii). Zig Zag Level Order Traversal: https://www.geeksforgeeks.org/level-order-traversal-in-spiral-form/
iii). http://quiz.geeksforgeeks.org/puzzle-gold-or-silver/ (Replaced gold and silver with ap-
ples and oranges).
iv). Loop Linked-List: https://www.geeksforgeeks.org/detect-and-remove-loop-in-a-linked-
list/
v). What is host file in windows?
vi). What is loopback address and its significance?
vii). What is windows registry?
viii). Difference between 32-bit and 64-bit windows.
Well after this round i was told to go home for that day.I feared being rejected but all was
well as i was again called the next day for the 4th and final round.?
4th: The interviewer was the senior most of all.
He started off with my intro.Then moved onto my projects.He told me to describe one of
my project and was pleased.He then asked me about what practical usage of my project is
and some other questions from my other projects.Then he gave lots of scenarios:
i). Wireless keyboard not working.Give possible reasons..
ii). Adobe Photoshop Blurring Effect:Tell what type of image you will take to ascertain that
Blur Effect happens actually or not..

105
Chapter 41. Set 42 (Off-Campus)

iii). Improve Uber/Ola by adding one missing feature.(at least)


iv). Improve Whatsapp by adding one missing feature again..
Asked about why i want to leave my current organization.What my plan for future?And
last of all–> Any questions?
After 1 week i got a confirmation call that i have selected for Adobe.I am really overjoyed
and i would like to give credit to my friend(with whom i do coding) and geeksforgeeks for
my achievement. �
Those who are preparing for interviews, I would like to advise them.
a). Be focused,try to grasp in one go any question.
b). Don’t hurry and give wrong answers.Instead take time(not too much) and give correct
answer.
And last of all prepare from geeksforgeeks. It is such a platform that will help you in coding
and other topics. Apart from that for coding, do interviewbit, hackerrank..
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-42-off-campus/

106
Chapter 42

Set 43 (For MTS Role)

Adobe Interview Experience | Set 43 (For MTS Role) - GeeksforGeeks


Round 1st
1. Questions about my projects, past experience
2. Design an Elevator system
Round 2nd
1. Given two nodes and root of the binary search tree. Find the LCA of the two nodes.
2. Extend the solution to binary tree.
Discussion went for the following corner case.
When one of the two nodes belong to the subtree of the other and LCA, in that case, is the
parent of the node whose subtree the other node belongs to. How would you handle this
case.
Round 3rd.
1. Given a number in decimal. Print it’s binary representation.
2. Given two huge files (can’t fit in memory) having strings, print the common strings in
them.
Round 4th
1. Asked about the projects.
2. Given a number N, print the triangle of asterisks.

Ex: N = 4
*
* * *
* * * * *
* * * * * * *

3. Question on processes and threads.


4. Given a binary tree. Print the level order traversal but from the lower side.

107
Chapter 42. Set 43 (For MTS Role)

1
/ \
3 4
/ \ \
6 7 8
Print 6 7 8 3 4 1.

All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-43-for-mts-role/

108
Chapter 43

Set 44 (For MTS-1)

Adobe Interview Experience | Set 44 (For MTS-1) - GeeksforGeeks


First round was online for 75 minutes on hackerrank.
3 sections: Aptitude,Output and 2 coding questions. Coding questions:
1. Given a string find alphabetically first and last substrings which start with vowel and
end with constant
2. Given a set of votes.Find the candidate with maximum number of votes.
There were 3 F2F rounds at Adobe Campus for candidates who cleared the online round
1.F2F Interview:
Asked about projects.
a.Write a function to generate a string randomly
b.OS Concepts in Page Tables and Virtual Memory
c.In a continuous stream of words check if a duplicate word exists or not
The interviewer was very friendly and was giving good directions of help.
It was easy to clear this round �
2.F2F Interview:
a.Difference between process and threads
b.Write a function to calculate x^n with least complexity
c.Given a stream of words. Write a function to return K maximum frequently occurring
words
d.Check if one string is a rotation of other
e.What is architecture of AngularJs. I had mentioned angularJs in my resume
f.Given an array of pairs (Z,A),(A,F),(G,H),(F,G)
Construct a chained string out the given pairs. Z-A-F-G-H
The interviewer was expecting answers to the point.
I had cleared the 2nd round too.
3.F2F Interview:
a.In a DBMS table in Gender Column M and F are exchanged.
Write a query to correct the column values.
b.Implement queue using two stacks

109
Chapter 43. Set 44 (For MTS-1)

c.This question appears tough to solve but has very easy logic
https://www.geeksforgeeks.org/print-all-combinations-of-balanced-parentheses/
I tried my best but could not answer this question.
All the questions can be answered with simple logic and presence of mind.
Complicated solutions leave a negative opinion on the interviewer.
Thank you GeeksForGeeks for providing an amazing platform :). A one stop solution for
Geeks!!!!
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-44-for-mts-1/

110
Chapter 44

Set 45 (For 2.5Years


Experienced)

Adobe Interview Experience | Set 45 (For 2.5Years Experienced) - GeeksforGeeks


Adobe visited Hyderabad for a recruitment drive. Interviews were held in Novotel convention
center.
F2f 1(1.5 hours)
The interviewer started with the discussion about current company and project. Then he
asked me some basic DS and algo questions:
1) Given an array, find all sets of 3 numbers whose sum equals to 0
2) He asked me to write merge sort code and then quick sort
3) Shuffle a sorted array
4) Write indexOf function for substring search in a given string
5) Which sorting algorithm does .sort() method use in java?
6) Print all leaf nodes for a given BST
F2f 2(1.5 hours)
1) Given a stream of numbers which contains n numbers, each number is positioned at max
k positions away from its actual position. Sort the array in the most optimized way.
2) Design a data structure which would insert, delete, search and random in O(1)
3) Given a number, find immediate larger number using same digits
4) In Java, should you store a password in a String variable? If not, then why?
5) You have 50 red balls and 50 blue balls, you have to place these balls in two containers in
such a way that probability of a person picking up a red ball from any container is maximum.
6) Some questions about GC, classloader, etc
There were few other questions related to DS algo asked in this round for which he asked
me only the logic and did not ask me to code, I don’t remember all.
F2f 3(1.5 hours)
1) You are given an API which returns text for a given pdf. Now design a service which
would use the API to report managers/administrators if given bill as a PDF has same bill
amount as been reported by the employee. In the report, you have to return name, date

111
Chapter 44. Set 45 (For 2.5Years Experienced)

and total amount in the bill.


– Firstly he asked me to write code to extract name, date and bill amount from the pdf
assuming that all bills follow same format, i.e,
(Name:<Name> Date:<Date>…#@#$@#$@#……. Total:<Total>)
– Then he asked me how would you report it to multiple managers/admins. He wanted to
know which design pattern would I use.
2) There is an app like Acrobat Reader for android. It maintains a list of all available pdf
files in file system. How would you update the list when a new file is added and location of
this file is unknown. You are given root directory and for each directory, you can check the
timestamp when it was last updated.
3) Given an array of size n and a number k<=n, find local maxima for each window of size
k. 4) 10 prisoners and hats puzzle 5) Max coin sum game - There are n coins with some
value placed in a straight line, you can pick any one coin from any one end of the line. You
are playing this game with your friend, now you have to maximize your sum assuming that
other player also plays it optimally. Assume you are first to pick up the coin.
Director(30 mins)
The interview was held in a large conference hall with the table & chair been placed exactly
in the center of the hall. He asked me the following questions:
1) Introduction, college, company and project details. Why do you want to switch your
company?
2) Then he asked me what is my strength in CS? I didn’t know what to answer at that
moment and then out of nowhere I said ‘Problem-solving’. I was regretting a second later
and thinking that I should have said ‘Data Structures’. Then he gave me a problem-solving
question which I was not able to solve optimally. I told him brute force approach.
There are some professors, some courses, and some students.
Each professor can teach only a single course.
Each course has a fixed duration(Eg. 10 weeks).
For each professor, you are given time availability schedule(assume week wise).
Each student has a list of courses he wants to learn.
There can be only 1:1 classes, i.e., 1 professor can teach only a single student.
A student can attend only one course at a time.
A professor has to finish teaching a course in a one go.
Your aim is to prepare a schedule so that all courses are taught in the least time. I will
appreciate if readers can answer their approaches in comments.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-45-2-5years-experienced/

112
Chapter 45

Set 46 (For Internship)

Adobe Interview Experience | Set 46 (For Internship) - GeeksforGeeks


The interviewer first asked me to tell sumthing about myself. Then he asked my favorite
subjects
Ques 1 : what are virtual functions in C++? how are calls to virtual functions resolved at
runtime?
Ques 2: what is the need for virtual destructors?
Ques 3: if there are virtual destructors then why there are no virtual constructors?
Ques 4: there are n mountains. you are given a 1d array A where A[i] represent the height
of mountain i+1. how will you find a valley in that array.( A valley is a value in array which
is smaller than both its left and right neighbors ).
Ans 4 this question is similar to finding peak element in an array, given on geeks for geeks
Ques 5 : he asked me the famous puzzle in which there are 1000 identical bottles. one of
them contains poison. A person after drinking the poison dies after 24 hours. You have to
identify the poisonous bottle in 1 day. minimum no of prisoners needed to find the poisonous
bottle.
ans 10( 1000 can be represented in binary using 10 bits .)
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-46-internship/

113
Chapter 46

Set 47

Adobe Interview Experience | Set 47 - GeeksforGeeks


Round 1(Telephonic)
1. Dynamic memory allocation for 2d array
2. How polymorphism works in C++(Vptr and Vtable implementation)
3. Rope burning puzzle (Measure 45 mins)
Round 2(Skype)
1. Find maximum repeating element in array. Elements will be always <= k where k is 0
<= k <= n 2. There is online catalogue of songs (Like Saavn or Gaana). How you will show
favorite songs every day to users. Efficient algorithm required. (K max solution/ Min heap
solution) Round 3 (F2F)
1. Again, how polymorphism works. Draw vtable and vptr
2. Producer consumer problem with synchronization (Full code)
3. Difference between mutex, semaphore and condition_variable.
4. Design parking lot system
5. Zigzag traversal of binary tree
Round 4 (F2F)
1. He asked producer consumer problem but I told that same question is asked in previous
round.
Then interviewer went asking lots of question related to producer and consumer. Lots of
discussions like what is writer is not there and only reader is there and you need to find out
how many readers are currently reading from buffer.
2. Discussions about C++11 features. How thread and aysnc is different
3. Design your own shared_ptr(How you will handle ownership)
4. Check If binary tree is symmetrical.
5. Find element in rotated sorted array and then optimize it.
Round 5(Hiring Manager)
1. You are given a rotate function which basically will take any object like (2d image, 3d
image, audio, video) and will rotate it by 180 degrees. You need to design the functionally.
You only know what type of object is there. (Factory design pattern).
2. Expression evaluation (Only constraint was that each operand will have different units).

114
Chapter 46. Set 47

For ex-40 inches + 2*2cm +11/2mm + 12*2/6cm. You will have final unit which you need
to convert.
3. 1 Puzzle
Round 6 (Director round)
1. Why you want to leave current company and other behavioral questions.
2. Design restaurant finder app. You just have User’s location and you need to find out all
the nearby restaurants. You don’t have any external geolocation API. Lots of discussions
about how you will divide the area and how you will store the data.
Level order traversal in spiral form
Finding Number
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-47/

115
Chapter 47

Set 48 (On-Campus)

Adobe Interview Experience | Set 48 (On-Campus) - GeeksforGeeks


Coding Round:
1. A variation of Knapsack
2. Easy string manipulation problem
3. A brute-force based string matching problem
Technical Round 1:
Finding the length of a Linked-List with a cycle.
Difference between a stack and a heap with respect to Virtual Memory
Given a cube in 3D space with integer dimensions, print all the lattice points on the surface
of the cube.
Technical Round 2:
Print Pyramid of 1’s with given height.
Allocate 2D arrays in C with both dimensions accepted as input.
Can C programs without main() function exist? (Object Files, Shared and Static Libraries,
and how to create them using GCC)
What is a graph traversal?
Print all nodes with shortest distance k from a given root node in a graph.
How does Breadth-first Search work?
Technical Round 3:
Create a queue from a 2 stacks
Print Fibonacci sequence in order using only recursion and no extra space.
Create a function to match a simple regex.
HR Round:
Why want to join Adobe?
What is the team preference?
What are your shortcomings?
Given a table of data, where each row determines a metric, convert it to a single column
of data where the new data item indicates the metric with reasonable accuracy (Principal
Component Analysis)

116
Chapter 47. Set 48 (On-Campus)

Having a research background, why want to join a software company?


Details about college events
If you don’t like the team you are assigned to, how will you tackle this?

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-48-campus/

117
Chapter 48

Set 49 (For Member of


Technical Staff)

Adobe Interview Experience | Set 49 (For Member of Technical Staff) - GeeksforGeeks


The complete process for Adobe – Member of Technical Staff consisted of 5 rounds.
1. Online Round
2. Round 1
3. Round 2
4. Round 3
5. Round 4 (HR round)
2 Separate online rounds were hosted on Hackerrank .

Online Aptitude Round

Online Aptitude Round consisted of 30 questions.

Online Coding Round

Online Coding Round consisted of 3 questions.


1. You have to classify a string as “GOOD”, “BAD” or “MIXED”. A string is composed
of lowercase alphabets and ‘?’. A ‘?’ is to be replaced by any of the lowercase alphabets.
Now you have to classify the string on the basis of some rules. If there are more than 3
consonants together, the string is considered to be “BAD”. If there are more than 5 vowels
together, the also string is considered to be “BAD”. A string is “GOOD” if its not “BAD”.
Now when question marks are involved, they can be replaced with consonants or vowels to
make new strings. If all the choices lead to “GOOD” strings then the input is considered
as “GOOD”, and if all the choices lead to “BAD” strings then the input is “BAD”, else the
string is “MIXED”.
2. We are given a count of songs to be played – n, highest volume allowed – h, initial volume
– i, and list of allowed volume change A[] of size n. The singer can either increase/decrease

118
Chapter 48. Set 49 (For Member of Technical Staff)

the volume of sound system for the next song by the allowed volume change A[j] for jth
song from the volume of the j-1th song. The aim is to maximize the volume of last sound.
Find the maximum volume that can be attained, or return -1 if there is no possibility of
changing volume due to the given constrains. (Volume cannot be in negative.)
3. We are given an array with n elements from {1,2,3,4}. Find the number of minimum
changes required to be performed so that no two adjacent numbers are same.
The interviewer asked about my internship project that I had done at Expedia. I had done
some deep learning projects so he discussed the aim of the project and work flow.
He asked me questions on following topics :
1. Difference between Threads and Process, explain threads with example
2. Semaphores, what is the need of semaphores
3. Virtual class, virtual functions in C++, what is the need to use them.
4. Runtime polymorphism in C++, give a real life example where you will use it
5. Check if values in given singly linked list represent a palindrome.
6. Implement a min stack
The interviewer asked about my GSoC project – the idea of the project, the challenges I
faced etc. She also asked some OS concepts like CPU scheduling, multi-queue scheduling
etc.
I was given some design questions which eventually got reduced to :
1. Implement Hash Map / Unorder Map
2. Implement Least Recently Used Cache
Various approaches and corresponding space & time complexities for above implementations
were discussed in this round.
In third interview round, interviewer deep dived in my Machine and Deep Learning projects.
He asked me about types of Machine learning algorithms. Asked me to explain supervised
and unsupervised algorithms. Also asked me which one I had used in my projects. He also
went on to understand the work flow of my projects. I also told about my other projects
which were not on resume as the discussion went towards unsupervised learning.
Then I was asked following puzzles and questions.
1. 21 matchstick puzzle and varients
2. Tickets movie hall probability puzzle and then he introduced some variation in the
original puzzle.
3. Count number of ways for “Rat in a maze” problem.
4. Find a pair with given sum in a Balanced BST
Questions like why do you want to join Adobe were asked. I showed interests in ML and
AI, so the interviewer discussed some recent advances and news. I was also asked that how
would I develop an application for Blood Donation Management within a week.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-49-member-technical-staff/

119
Chapter 49

Set 50 (On-Campus)

Adobe Interview Experience | Set 50 (On-Campus) - GeeksforGeeks


Online Round (50 + 90 mins)
2 Separate online rounds were hosted on Hackerrank .
Online Aptitude Round
Online Aptitude Round consisted of 30 questions.
Online Coding Round
Online Coding Round consisted of 3 questions.
1. You have to classify a string as “GOOD”, “BAD” or “MIXED”. A string is composed
of lowercase alphabets and ‘?’. A ‘?’ is to be replaced by any of the lowercase alphabets.
Now you have to classify the string on the basis of some rules. If there are more than 3
consonants together, the string is considered to be “BAD”. If there are more than 5 vowels
together, the also string is considered to be “BAD”. A string is “GOOD” if its not “BAD”.
Now when question marks are involved, they can be replaced with consonants or vowels to
make new strings. If all the choices lead to “GOOD” strings then the input is considered
as “GOOD”, and if all the choices lead to “BAD” strings then the input is “BAD”, else the
string is “MIXED”.
2. We are given a count of songs to be played – n, highest volume allowed – h, initial volume
– i, and list of allowed volume change A[] of size n. The singer can either increase/decrease
the volume of sound system for the next song by the allowed volume change A[j] for jth
song from the volume of the j-1th song. The aim is to maximize the volume of last sound.
Find the maximum volume that can be attained, or return -1 if there is no possibility of
changing volume due to the given constrains. (Volume cannot be in negative.)
3. We are given an array with n elements from {1,2,3,4}. Find the number of minimum
changes required to be performed so that no two adjacent numbers are same.
Around 15 students were shortlisted for the PI
Round 1 (60mins)
The interview started of with questions about The online test, general questions on “tell

120
Chapter 49. Set 50 (On-Campus)

me about yourself”. Then he asked me a relative velocity problem from physics section to
warm things up.

Round 2 (45mins)
The interviewer asked about my GSoC project – the idea of the project, the challenges I
faced etc. She also asked some OS concepts like CPU scheduling, multi-queue scheduling
etc.
I was given some design questions which eventually got reduced to :
1. Implement Hash Map / Unorder Map
2. Implement Least Recently Used Cache
Various approaches and corresponding space & time complexities for above implementations
were discussed in this round.

Round 3 (60mins)
In third interview round, interviewer deep dived in my Machine and Deep Learning projects.
He asked me about types of Machine learning algorithms. Asked me to explain supervised
and unsupervised algorithms. Also asked me which one I had used in my projects. He also
went on to understand the work flow of my projects. I also told about my other projects
which were not on resume as the discussion went towards unsupervised learning.
Then I was asked following puzzles and questions.
1. 21 matchstick puzzle and varients
2. Tickets movie hall probability puzzle and then he introduced some variation in the
original puzzle.
3. Count number of ways for “Rat in a maze” problem.
4. Find a pair with given sum in a Balanced BST.

Round 4 (20mins)
Questions like why do you want to join Adobe were asked. I showed interests in ML and
AI, so the interviewer discussed some recent advances and news. I was also asked that how
would I develop an application for Blood Donation Management within a week.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-50-on-campus/

121
Chapter 50

Set 51 (For MTS Fresher)

Adobe Interview Experience | Set 51 (For MTS Fresher) - GeeksforGeeks


Online Aptitude Round
Online Aptitude Round consisted of 60 questions. I did about 40 questions with 90%
accuracy.
Online Coding Round
Online Coding Round consisted of 2 questions related to arrays and strings (very easy).
One question was related to total number of palindromic strings.
For both questions, coding platform was CoCubes.
Those who did both the questions were called for the interview.
The interview day started with a written round.
WRITTEN ROUND
It consisted of 5 questions.

1. Something related to microprocessor (load, add etc)


2. https://www.geeksforgeeks.org/dynamically-allocate-2d-array-c/
3. Given n number of computers and connectivity between them (if computer a is con-
nected to computer b or not). Write a program to find whether each computer in the
network is connected to every other computer or not.

–It can be done by bfs or dfs.

4. Given a hexadecimal number in the form of a string. Convert it into decimal string.
5. Given an array. WAP to find the starting index of the subset whose sum is closest to
zero.

122
Chapter 50. Set 51 (For MTS Fresher)

TECHNICAL
Round 1

• https://www.geeksforgeeks.org/counting-inversions/
• https://www.geeksforgeeks.org/kth-largest-element-in-bst-when-modification-to-bst-
is-not-allowed/

• Rain water trapping problem https://www.geeksforgeeks.org/trapping-rain-water/


• https://www.geeksforgeeks.org/find-a-repeating-and-a-missing-number/
• https://www.geeksforgeeks.org/find-two-missing-numbers-set-1-an-interesting-linear-
time-solution/ Here the interviewer was more intereseted in xor based solution

• Product array puzzle


• The celebrity problem
• Best way to implement a dictionary ( detailed discussion about hashing, tries, and
ternary search trees)

• https://www.geeksforgeeks.org/design-a-data-structure-that-supports-insert-delete-
search-and-getrandom-in-constant-time/
• https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-
o1-extra-space/
• About bfs and dfs

• https://www.geeksforgeeks.org/count-possible-ways-to-construct-buildings/

Round 2

• Discussion on processes & threads and their workings


• About deadlock -conditions,prevention, and avoidance
• Given a Binary Tree, check if all leaves are at same level or not
• Implement your own sizeof()

• How does printf work with variable number of arguments (in compiler)
• https://www.geeksforgeeks.org/find-next-greater-number-set-digits/
• DBMS locks
• Arrange the digits 1 to 8 in a 2×4 matrix so that no two consecutive integers touch
each other at a side or corner.
• Some more questions on trees

123
Chapter 50. Set 51 (For MTS Fresher)

Round 3

• Implement Tower of Hanoi


• 1=3, 2=3, 3=5, 4=4, 5=4, 6=?
• Memory management in C
• DBMS locks
• Difference between http and https
• Critical section problem and synchronisation.
• File system in OS
• Difference between mutex and semaphore.
• Indexing
• Difference between macro and constant; and how they work in compiler.
• You are given 9 boxes, each contains 3 sacks. Each sack contains 100 coins where one
of the coins is either heavier or lighter than the rest of the coins. Given a balance, how
many weighings are required to deduce which sack contains the heavier/lighter coin?
• How does free() work in deallocating memory?

HR Round

• Why Adobe?
• What are your hobbies, strengths, and weaknesses?
• How do u react in stressful situations? and some other usual questions.

After this, I got waitlisted and after 4 months I got a call for one more interview.
Technical Round

• Reversing linked list (both iterative and recursive solutions)


• Detailed discussion about all of my projects
• Some puzzles
• Oops concepts
• I was asked to write a code explaining overloading and overriding.
• I was asked to write a python code for searching a particular string in each line of a
given file.
• I was asked, how many lines of code have I written in java, python and c++.

124
Chapter 50. Set 51 (For MTS Fresher)

• In how much time after 11 am, will both the minute and hour hand form an angle of
180 degree.
• Some more questions on linked list.

Then the last round was HR Discussion.


After about 5 days, I got the email stating that I’d been selected.
SOME SUGGESTIONS FOR ADOBE
Prepare from geeksforgeeks thoroughly, especially c concepts and data structures.
They focus more towards your approach and the confidence with which you speak.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-51-mts-fresher/

125
Chapter 51

Set 52 (On-campus for MTS-1)

Adobe Interview Experience | Set 52 (On-campus for MTS-1) - GeeksforGeeks


The complete process for Adobe – Member of Technical Staff consisted of 6 rounds.
1. Online Round
2. Round 1 (Tech Round)
3. Round 2 (Tech Round)
4. Round 3 (Tech Round)
5. Round 4 (HR round)
6. Round 5 (Rapid Fire Round)
Online Round (50 + 90 mins)
2 Separate online rounds were hosted on Hackerrank .
Online Aptitude Round
Online Aptitude Round consisted of 45 questions.
Online Coding Round
Online Coding Round consisted of 3 questions.
1. You have to classify a string as “GOOD”, “BAD” or “MIXED”. A string is composed
of lowercase alphabets and ‘?’. A ‘?’ is to be replaced by any of the lowercase alphabets.
Now you have to classify the string on the basis of some rules. If there are more than 3
consonants together, the string is considered to be “BAD”. If there are more than 5 vowels
together, the also string is considered to be “BAD”. A string is “GOOD” if its not “BAD”.
Now when question marks are involved, they can be replaced with consonants or vowels to
make new strings. If all the choices lead to “GOOD” strings then the input is considered
as “GOOD”, and if all the choices lead to “BAD” strings then the input is “BAD”, else the
string is “MIXED”.
2. We are given a count of songs to be played – n, highest volume allowed – h, initial volume
– i, and list of allowed volume change A[] of size n. The singer can either increase/decrease
the volume of sound system for the next song by the allowed volume change A[j] for jth
song from the volume of the j-1th song. The aim is to maximize the volume of last sound.

126
Chapter 51. Set 52 (On-campus for MTS-1)

Find the maximum volume that can be attained, or return -1 if there is no possibility of
changing volume due to the given constrains. (Volume cannot be in negative.)
3. We are given an array with n elements from {1,2,3,4}. Find the number of minimum
changes required to be performed so that no two adjacent numbers are same.
Around 15 students were shortlisted for the PI
Round 1 (40mins)
The interview started of with questions about The online test, general questions on “tell me
about yourself”
Then he asked me a relative velocity problem from physics section to warm things up.
It was Followed by discussion on topics taught in college, Questions on OS and DBMS.
Followed by coding Problems.

• Basic recusion problem. Count ways to reach the n’th stair


• Level Order Traversal of Binary Tree

• Left, Right and Top view of Binary tree. Approach And code was Discussed.
• Basic Binary search related Problem.
• Design a system where i can store incoming stream of chars in sorted manner and to
answer a querry wether a char is present or not.

She then Asked me Various Mutex related puzzles like “IF you have adobe acrobat and you
want to allow only 1 instance of it to run at a time, how will you achieve this wrt to OS
involved.”
i answered that we can do it using mutex and discuss various problems related to mutex.
She then asked me “Can we make sure that dynamic Allocation of a class object can be
done on stack only or can we stop user from dynamically allocating the class object.”
I answered that we can do it by overloading the new operator and declaring it as private.
She was very satisfied with the answers.
Round 3 (90mins)
In third interview round, interviewer deep dived in my projects. She asked me about types of
Machine learning algorithms. Asked me to explain supervised and unsupervised algorithms.
She asked what is my favorite Subject and also dicussed all of the projects i have mentioned
in my resume.
It was followed by system design Problems On some Android App and Web App, how will
you make it, technologies and data structures to be used.
She then asked me about various cache, advantages and implementations. Then I was
asked about LRU cache and it was a very long discussion on the implementation part, Data
structures part. I was asked to code LRU, Hash map and double linked list.
The interview was very long and Interviewer was very frank. At the end some general
questions about Why Adobe? etc and we talked about the culture and oppurtunites one
can get at adobe.
Round 4 (20mins) HR ROUND
Questions like why do you want to join Adobe were asked.
“Will you take bribe for a million dollar project”
“What if you were the MD of Adobe for one day”

127
Chapter 51. Set 52 (On-campus for MTS-1)

Basic HR questions and discussion about college life and etc.


Round 5(25 min) Rapid Fire Round
Surprisingly, 4 candidates for shortlisted for HR round and only I was called for the rapid
fire round.
He asked me quick coding questions and function implementations. The questions were very
easy and he wanted to have user oriented result so that user can call the functions according
to his need.
Followed by simple OS theory questions.
He then asked me ” Explain In Detail what OS does when you compile a program with a
line ‘fopen(….)”’
I answered it and explained in detail about user and kernal mode the OS operates and detail
working.
Unfortunately, out of 4, 3 were selected and i was rejected .
Tip: Make sure To get OS concepts clear and maintain a good Aggregate in college.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-52-campus-mts-1/

128
Chapter 52

Set 53 (For MTS-2)

Adobe Interview Experience | Set 53 (For MTS-2) - GeeksforGeeks


Online Written Test on HackerRank – 75 mins (15 Apti, 5 C++ ,2 Coding)
Round 1

1. WAP to Check if there is an intersecting node in 2 linked lists


2. What is .dll ?how it is loaded? Why dynamic linking not static linking
3. Difference between semaphore and mutex?
4. Why is cache needed? What happens when we watch the video? Who allocates
memory to process?
5. Virtual functions, function overloading
6. Write a macro for swapping two variables
7. WAP for chocolate and wrapper puzzle
https://www.geeksforgeeks.org/program-chocolate-wrapper-puzzle

8. Why is Virtual destructor needed?Can there be a static virtual function?


9. Difference between typedef and macro?
10. Internal implementation of priority queue.

Round 2

1. How to find k frequent words in a file


2. WAP to Delete a string in trie, various use cases?
3. WAP to Find lca of a tree?
4. Wap to Make the largest number out of array elements given.
5. Design book my show.

Round 3 (managerial)

129
Chapter 52. Set 53 (For MTS-2)

1. Find a loop in linked list, only approach


2. Sort an array larger than RAM
3. WAP Merge Sort
4. WAP BFS based question(don’t remember)
5. Diff. between TCP and UDP
6. How lan works
7. How socket works
8. Diff. between process and threads

Round 4 (director)

1. Why didn’t sit for Adobe in college placements?


2. How the earlier interviews went?
3. What have you learned in these 3 yrs professionally?
4. Why you left the job? What was the hurry?
5. What are your aspirations?
6. Explain your college project.
7. What kind of work should be given?
8. Any particular preference for any language
9. What is Dynamic programming? Examples where DP is used?
10. Given a length l , find the angle or dimensions of the 4 sided quad. formed having
max area, this quad is not a square.

Round 5 (managerial)

1. Brief Introduction
2. Asked to explain 1 company project. What would you do differently?
3. Difference between monolithic and microservices. How to convert monolithic architec-
ture into microservice

4. Program to Rearrange characters such that no two characters are same


https://www.geeksforgeeks.org/rearrange-characters-string-no-two-adjacent/

All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-53-mts-2/

130
Chapter 53

Set 54 (For Internship)

Adobe Interview Experience | Set 54 (For Internship) - GeeksforGeeks


Round 1:
The contest was held at hackerrank. Top 20 girls were selected for intern/fte interview
through Adobe Codiva.
Round 2:
This was a telephonic round. The interviewer asked about my projects in detail.
Then he gave me a puzzle- In an nxm matrix, if one starts from (0,0) then how many ways
are there to reach (n-1,m-1). I was able to tell the correct solution.
Next, he gave me a coding problem to print all possible permutations of a string in my
preferred language. I coded in c++.
Another was to check whether a binary tree is balanced or not.
Final coding question was to print a matrix in spiral form. Towards the end of interview,
he asked me OOPs concepts – polymorphism , OS concepts (Threads).
After a week I got a mail that I was selected �

Please Improve this article if you find anything incorrect by clicking on the ”Improve Article”
button below.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-54-internship/

131
Chapter 54

Set 55 (On-Campus Full Time


for MTS profile)

Adobe Interview Experience | Set 55 (On-Campus Full Time for MTS profile) - Geeks-
forGeeks
Adobe came in our college for MTS (Member of Technical Staff profile).
Round 1:
This was an online round conducted on Hackerrank platform.It had 3 coding questions.:-

1. You need to buy cupcakes as you visit from one shop to another.You can either buy a
cupcake, sell a cupcake or do nothing.You will be visiting Y shops.And initially you
have X cupcakes.At the end of the journey you should have Z cupcakes.Input is three
numbers X, Y, Z.You need to output the maximum number of cupcakes that one can
have in the journey.
2. It was maximum contiguous sum sub-array problem.But it was not directly stated.A
story was formed around it.If you observe the question correctly you will get that it
maps to the maximum contiguous sum sub-array problem.
3. You are given two strings S1 and S2. S2 contains a ‘*’ in middle not at start or
end.Now the ‘*’ can be replaced by a NULL character or any other substring from
s1.You need to return the number of strings from s2 that are substrigs of s1. Ex-

s1 “aaabbaaabb”
s2 “aa*b”
Ans – 12(Count every occurrence of “aa” matching with a following “b” and sum them all
you will get 12)
Round 2:
Results were out after 3 days or so.20 students were selected after this round.My first
question ran partial and second full.Last I attempted using find() and substr() but due to

132
Chapter 54. Set 55 (On-Campus Full Time for MTS profile)

a stupid mistake, it didn’t pass.But I got shortlisted though they were also students whose
q1 and q2 ran fully. Lucky me ;)!
Round 2 started with him asking me “Tell me about yourself”.He didn’t even took my
resume.Then he asked me about what all projects I had done.So he took one of my project
related to Naive text classification.And asked what if the search bar you have created need
to have suggestions coming up once the user enters a word. Like if my db has “data Analysis”
and “data mining” and “data classification”, if user types in data, he should get Analysis,
mining and classification as suggestion.I gave a Trie based approach.Wrote the class for
Trie. Explained the node structure, working and all. Next he asked what if your text is
huge and you have lack if storage how would you store.I told him sir like we do in our
computers we zip it, similarly we will encrypt our data and when needed we ll decrypt it.He
asked how? I suggested Huffman Coding and explained it.Next he asked SQL, I said sir
not one of my strong points.So he moved on to next.Then he asked about dynamic memory
allocation, where it’s done and all, some thread related questions.Like multiple threads are
running and some are not even used but user forgets de-allocate them? what to do? I
said we will deallocate them gave a timestamp based approach where current time could be
compared with timestamp of the thread to decide on deallocating it.He asked about problem
of finding mutual friends in a facebook kind of network. what ds to use? I said graph based
and would do bfs traversal and take a boolean marker to mark the friend as mutual.Also
marking visited notes.
Round 3:
In second round, 7 students were rejected.
Round two started with my project.It was much deep into how you did it, tell your complete
implementation process frontend, backend etc.The machine learning project was again up
for discussion.Sir asked about how will you handle access to the disk when data is so large.I
provided a cache based approach.Further discussion went around how will you decide what
to store or remove from cache.He asked about designing a game- chess firstly but I don’t play
chess which I told him.So then it was discussion on designing Snakes and ladder game.He
asked about what problems will you face at every level – front end, persistent memory and
in rendering if data is huge and how will you solve them.I answered as huge results may
be shown through pagination.Ranking of the results based on relevance metrics(popularity
of the result) can also be done.For the backend I suggested if single node can’t handle
computation, we can distribute it to multiple nodes.Suggested Master- Slave Architecture.He
asked what if the master fails.I said chose the best slave to be the master.Discussion went
on how you ll chose it what will you do for time when there’s no master.Back-up data could
be used.This round was very different as they were not asking direct question but instead
checking your approach in solving a problem and once you will give one, they will add one
more problem to it to make it more complex and see how you handle that again.

Round 4:
3 students were selected for this round.It started with Sir asking about using Naive bayes
for text classification.So he asked about Naive bayes theorem, conditional probabilities.If
say Indian parents keep on having a child till they get a son, what is the ratio of probability
girls to boys.Interrupting him in between I said, Sir poor Indian mentality.To which he
laughed and said that would be a long discussion so let’ not go that side.If not naive

133
Chapter 54. Set 55 (On-Campus Full Time for MTS profile)

bayes classification what other algorithm you would use and why?Then he asked my Fav
subjects.I said OOPS, OS, DS. Then He asked if two C++ programs are running should
they be allowed to access a common txt file.I answered if both reading ok, if one is trying
to write then we need a synchronization tool.I gave him mutex based approach.He then
asked about stack data structure what is the use if it? real life examples.For queues provide
the same.I gave processing of requests in server side, data communication serial wise.Then
moved on to binary tree.Real world example, I said Decision tree Algorithms.Then he asked
about priority queues and their implementation.He then asked about designing a BMS kind
of system.Then he asked reversing a linked list question code it.Iterative, recursive both.In
recursive he was most interested.He asked about how you would optimize it and save your
loop.Then he asked about adding two numbers without using add operator. I gave a bit
level approach.Then he asked given a linked List, Remove the last K nodes and return the
reverse of remaining. Optimized approach expected.Ended with you have any questions for
me…
Round 5
2 people were selected for this round.HR started with you have any questions for me.He
explained about the new campus graduates program.Then most frequent one “Why us?
Why Adobe ?”, He asked certain situation based questions like what if 1 year down the line
a company offers you double the package, would you/not leave adobe? explain reasons.Why
do you think girls are under- represented in coding sphere?Asking about my opinion on
that.The discussion went towards feminism and all.He then asked about Noida or Bangalore
option.My heart was pounding so hard by this time.Results were announced soon.
2 were selected and I was one of them, So happy that Adobe happened.Tip- They test your
basics very well so keep that strong, be relaxed in the interview if you are stuck, they will
throw in hints, so listen to them carefully. Thank you geeksforgeeks!Your platform is doing
a great job in helping out students.So big thank you!

Please Improve this article if you find anything incorrect by clicking on the ”Improve Article”
button below.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-55-campus-full-time-mts-profile/

134
Chapter 55

Set 56 (Off-Campus Full Time


for MTS profile)

Adobe Interview Experience | Set 56 (Off-Campus Full Time for MTS profile) - Geeks-
forGeeks
Round 1: Online Hackerrank Test
Round 2: Technical Round

1. Asked about past project & challenges faced.


2. Opening an application as multiple processes but use them such as if one application is
opened, another instance, process of same application cannot be opened till previous
is closed. Solve with Semaphore.
3. Puzzle : 100 balls are there, 50 are red & 50 are blue, put them in 2 jars in such a
way that probability of picking a ball is always a red ball.
4. 2 strings implies application with different versions, e.g ApplicationName.a.b.c.d..,
where a, b, c, d.. are the numbers, check which version is the latest. Check all the
corner cases.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-set-56-off-campus-full-time-mts-profile/

135
Chapter 56

Adobe (Product development)


Internship Interview On
Campus

Adobe (Product development) Internship Interview On Campus - GeeksforGeeks


Company willingness criteria: students enrolled in B.Tech/IDD of cse eee ece mat with CPI
> 7.50
Round 1:
Online Test Experience:
Platform: HackerRank, All languages that are available on hackerrank normally were avail-
able.
-> There were 12 MCQs based on probability, Eigen Values, properties of a matrix (taught
in 12th), Debugging, Oops and etc [No Negative Marking]. The test also had the following
question that we were asked to code-
-> You have an infinite supply of n kinds of umbrellas the ith umbrella can save s(i) people
from rain, using a minimum number of umbrellas you have to save k people(exactly). Print
the minimum number of umbrellas or “-1” if its impossible. 0<n, k<=1000
-> We also had to write Pseudo code of printing a matrix spirally.
-> We also had to write an essay on “What are IoT devices and what will be their impact
on the future?”
21/134 People were shortlisted for the interview.
Round 2:
Interview Experience: I got a call on my phone @ 5:30 in the evening and the interview
started. Some of the questions that I remember are listed:
Q: Time complexity of finding the nth Fibonacci number without dynamic programming
and with dynamic programming
Q: Time complexity of changing base, first decimal to binary and then to any general base

136
Chapter 56. Adobe (Product development) Internship Interview On Campus

Q: Searching for an element in an infinite size sorted array


Q: find the meeting point of a Y shaped linked list[two heads and same ending points]
? required complexity O(n) n is the size of the whole thing.
Q: Given two identical array one element is deleted from one of the arrays find the index of
the deleted element in the other arrays? required complexity O(log(n)) where n is the size
of the array.
Puzzles
Q: 3 Candles burn in 60, 80, 100 min. Exactly 1 burn at a time for 40 minutes, 3 of them
burn together for exactly 30 minutes. For how long do exactly 2 candles burn together?
Q: Find a number that is between [51, 60] if it is divisible by 3, is between [61, 70] if it is
not divisible by 4 or is between [71, 80] if it is not divisible by 6.
Q: A 5 digit number with digits a, b, c, d, e i.e. abcde when multiplied by 4 becomes edcba.
find a, b, c, d, e?
I told all the question correctly except for the last one. Due to the shortage of time, I was
only able to find a & e.
Finally, 7/21 students were selected for the internship.
There were ~15 interviewers interviewing 15 candidates simultaneously so naturally most
of the interviews were completely different from mine. Some interviewers were asking OS,
some were asking about projects but my interview, as the questions above show, was focused
on Data structures, simple coding problems, time complexity analysis and a few puzzles.
Practicing Competitive programming problems and studying form GFG, in my opinion,
would be the best strategy to score this internship.

Please Improve this article if you find anything incorrect by clicking on the ”Improve Article”
button below.

Source

https://www.geeksforgeeks.org/adobe-product-development-internship-interview-on-campus/

137
Chapter 57

Adobe Interview Experience (2


years experienced)

Adobe Interview Experience (2 years experienced) - GeeksforGeeks


I interviewed with adobe for MTS profile. There were total of 4 rounds
Round 1: Online coding round
comprised of aptitude, output based questions and 2 coding questions. One was simple
hash-map based and other was based on suffix tree.
Round 2: F2F interview
Interviewer asked me about my projects. I told him that i didn’t had deep c++ knowledge
as I have worked on android only, but he still asked me questions. Interviewer was very
helping and cool, but he was smiling a lot on my answers which affected my morale a lot in
bad way.
1)
int a = 10;
void * b = &a;
printf("%d", *b);
ans: you cannot print void pointer without typecasting. Sadly i didn’t know that.
2. Where are functions stored in memory? how parameters are resolved at Runtime.
ans: read about symbol table.
3. Struct and Union. difference between them. how they are stored in memory. Then
conversation went to little endia / big endian.
4. Virtual Inheritance, diamond problem in multiple inheritance.
5. How to make class final in C
https://www.geeksforgeeks.org/simulating-final-class-in-c/

138
Chapter 57. Adobe Interview Experience (2 years experienced)

6. lets say you have a structure with root directory with sub folders and files inside. Print
all files in the structure.
I gave normal recursive DFS solution. He asked me about problems that could arise. I told
him if file structure is too large than StackOverflow could occur. He gave me hint that max
file path is limited in windows. I took a hint from it and designed the solution which used
single stack to make traversal.
He further asked me that I could store some data in each node of this structure. How will
I train my algorithm to make smart decisions based on past failure and success.I suggested
maybe number of file and sub folders under a folder could be used in some way. He was not
satisfied. I couldn’t think of anything. He dropped the question after this.
7.
void fun(int x)
void fun(int x, int y=10)
fun(5);
which function will be called?
https://www.geeksforgeeks.org/default-arguments-c/
8. asked me about vTables and vPtr.
Round 3(Managerial Round):
Introduction and he asked me about project.
1- Explain about Inter Process Communication
https://www.geeksforgeeks.org/inter-process-communication/
2- Explain how synchronization is acheived in thread.
Read mutex and semaphores. I explained everything with underlying implementation as
well. He was impressed.
3- Generate a mirror Image of tree.
https://www.geeksforgeeks.org/write-an-efficient-c-function-to-convert-a-tree-into-its-mirror-tree/
4- Implement dictionary
I used Trie data structure to implement it. I was ready with ternary search tree but he
didn’t ask further.
5- Explain how a process at client interacts with a process with server.
I took example of web project i implemented in college and explained him, how REST API’s
are used along with GET/POST method to send data and how it is received and processed
at server end.
Interviewer was very friendly and he was constantly motivating me. Once I started with
explanation, he kept listening without cross questions. This raised my confidence a lot.
Round 4(DS round):
Again Interviewer was very friendly.
1- Explain difference between Greedy and Dynamic programming algorithm paradigms.

139
Chapter 57. Adobe Interview Experience (2 years experienced)

I explained him about paradigms with one algorithm of both. Fibonacci for DP and Splitwise
algorithm for Greedy.
2- Convert a tree to doubly linked list.
I said I have various solutions in mind to which he replied, ” start with lowest one. you
know the drill :p”. We discussed on 2-3 solutions. In one of those solutions, I used a static
variable.
3- Where are static variables stored. What is there life cycle in a program.
4- Largest increasing Sub sequence. and explain it with dynamic programming.
https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/
he didn’t ask the nlogn solutions further. but for people who don’t know about nlogn
solution.
https://www.geeksforgeeks.org/longest-monotonically-increasing-subsequence-size-n-log-n/
He was done after this question and it was awesome round to say at least.
Round 5(Director round):
I was very nervous and he saw that. He asked me to relax and brought a cup of coffee for
me. He insisted me to have it. He asked me about college days, not the studying part but
masti part.
Then he asked me why i want to switch and other question based on my CV. He asked me
one design based question.
Suppose we have are on a trip and we have clicked lot of photos. now photos are categorized
based on date in different folder. what if I want them to be categorized on basis of events.
I suggested that we can use various parameters based on social media data, location, Image
processing of background etc. He then modified the question and said that I will only be
provided with timestamp. I suggested that based on frequency(gap) between 2 photos we
can categorized. He asked me to think this problem in terms of algorithm and present a
solution. He said he will not ask further question if I answer this correctly and left the
office as he had a small meeting with someone. This move put immense pressure on me,
maybe he was checking that only. He returned after 5 min. I was ready with a solution. I
told him that based on time stamp, i will assign an ID to each photo which will be strictly
increasing in nature and the gap between ID’s of subsequent photos will be based on gap
between their timestamp, I will also provide a slider which will help user to group photos, if
it is in extreme left then each photo will be placed in different group and if it is in extreme
left than all photos will be included. He seemed satisfied. He further asked me what will be
default value of slider, On this thing we had a long discussion. We discussed pros and cons.
He was satisfied and told me he was done.
I got call from HR after 2 days.
Tips:
1) Adobe doesn’t want to hear GFG answers in particular. they will definitely ask you about
internal details or alternative solutions to evaluate your thinking. be prepared.
2) Do read OS and basic C++ in depth.
3) Interviewers are very friendly and they will push you towards solution by giving you hints.

140
Chapter 57. Adobe Interview Experience (2 years experienced)

DO NOT give up and keep thinking. Also keep sharing what you are thinking, it is critically
important.
Thank you geeksforgeeks for providing awesome platform.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-2-years-experienced/

141
Chapter 58

Adobe Interview Experience


(For MTS-1)

Adobe Interview Experience (For MTS-1) - GeeksforGeeks


Round 1: First round was coding round on HackerRank. It had 5 questions based on
Regular Expressions and Inheritance.
Round 2: Second Round was technical round ( 45 min – 1 hr ).

1. Which data structure should be used to implement back and forward feature in the
web browser, and how to implement it?
2. A number N is given. Find the power of 4 which is greater than the number N.
3. What is Multithreading?
4. What are mutex and semaphore?

Round 3: Third Round was technical round ( 1:15hr – 1:30 hr )

1. You have N coins, which can be replaced either by N Rs. or can be exchanged for
(N/2)+(N/3)+(N/4) coins. Find the maximum number of Rs. that can be made,
using Dynamic Programming.
2. Implement Snake and Ladder game and find the minimum number of moves required
to reach from 1 to 100 in a given game, using Dynamic Programming.

Round 4: Fourth Round was technical round ( 1hr – 1:15 hr )

1. Replace every occurrence of “is” by “are” in a given string, using minimum write
operations.
Eg. This is my pen. Output: Thare are my pen.
2. Discuss logic and write code for the following problem.
You are given two words and a number N. Find the two words in a limit of N words
and if found print the indexes of two words. Eg. Word 1: is Word 2: pen N:

142
Chapter 58. Adobe Interview Experience (For MTS-1)

3 String: This is my pen. Output: 2 and 4.


In the limit of N words, Word 1 and Word 2 can occur in any order.
Eg. Word 1: pen Word 2: is N: 3 String: This is my pen. Output: 4 and 2.
3. Write a program to find all the probable elements that can be inserted in any given
box in a Sudoku game.
4. New features introduced in latest Java Version.
5. Questions from Collections in Java.

Round 5: Director Round ( 1:15hr – 1:30 hr)

1. Design lift, following the constraints that should be followed by the lift.
2. Discussion on my projects and paper published.

After these rounds, I had one round of general interaction with the Manager.

Please Improve this article if you find anything incorrect by clicking on the ”Improve Article”
button below.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-for-mts-1/

143
Chapter 59

Adobe Interview Experience for


C++ Developer

Adobe Interview Experience for C++ Developer - GeeksforGeeks


I interviewed at Adobe for c++ developer position
Round 1: Online coding round
Round 2: Stock buy sell to maximise profit, garbage collector mechanism, explain virtual
memory
Round 3: Linked list question, virtual memory
Round 4: Addition of two octal numbers. The interviewer was looking for a bug free code.
another question asked was print all k-sum paths in binary tree
Round 5 : Director round. He asked basic questions regarding why do you want to join,
most challenging project and asked me to how would I go about designing an app which
would tell the user all the restaurants around him at any place.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-for-c-developer/

144
Chapter 60

Adobe Interview Experience for


MTS-1 (1.5 Years Experience)

Adobe Interview Experience for MTS-1 (1.5 Years Experience) - GeeksforGeeks


2 Rounds of online test, one related to aptitude and other is related to c++. Aptitude one
had around 39 questions and 2hours was given. C++ one had 19 questions and 2 hours was
given. 7 coding questions and others basic c++ questions.
Round 1(Technical):-
1) There are N nuts and N bolts, u have to find all the pairs of nuts and bolts in minimum
no. of iteration (comparision). All the nuts/bolts might have different diameter.
2) There is a paragraph having million characters. You have to find out the first non
–repeating character in the complete paragraph. For example:- aab cld jb then answer
should be :- c
3) Any base to any base conversion i.e base 11 to base 7
4) Questions related to Multi-Threading i.e synchronization or usage of Volatile (Basic
questions)
5) Questions related to projects from my resume
Round 2(Technical):-
1) Questions related to Multi-Threading i.e synchronization or usage of Volatile (Basic
questions)
2) Questions related to projects from my resume
3) Garbage collection algorithms
4) As I had Java background, so he asked me New features in JAVA 8
5) There are chocolates each worth x. You have total amount y with you. And you can
exchange z wrappers for 1 chocolate. So in this way how many chocolates he can eat.
Round 3(Technical):-
1) Declare a 2D array using pointer notation.

145
Chapter 60. Adobe Interview Experience for MTS-1 (1.5 Years Experience)

2) A brief discussion about my work.


3) Suppose there are packages having volume m and there are n packets having volume
a,b,c…. each having volume less than m. So you need to find out the minimum no. of
packets required to wrap up the products.
4) There are N cities spread in the form of circle. There is road connectivity b/w city 1 and
2, then city 2 and 3 and so on till city n and 1. Each ith city has a petrol pump where you
can pick pith petrol and distance between ith and i+1 th city is di . Assume you car has a
mileage of 1km/litre. You have to find out if there exist any city, if you start from that city
then you can visit all the cities either in the clockwise or anticlockwise fashion.
Round 4(HR Round):-
Normal HR questions
Round 5 (Director Round):-
1) Questions a bit related about my personal life i.e schooling activites or hobbies.
2) Questions pertaining to the best work(projects) that I did
3) Things that every software programmer should know and he asked me to convince him.
4) What do you do to keep urself updated on the technology.
5) Asked me about any open source projects which I had and put in GIT…… told him about
all of my projects.
6) Few more questions related to technology.
All Practice Problems for Adobe !

Source

https://www.geeksforgeeks.org/adobe-interview-experience-mts-1-1-5-years-experience/

146
Chapter 61

Adobe Interview Experience

Adobe Interview Experience - GeeksforGeeks


Qualification round (Online round held on Hackerrank) :
This round had 2 parts – coding and aptitude. There were three questions in the coding
part:-

1. There are n cities in a circle and distance between every adjacent pair of cities was
given. We were asked to determine a pair of cities such that the minimum distance to
travel between them is maximum.
2. There are n (n was even) people sitting on a circular table. We had to find the
number of ways such that each person shook exactly one other person’s hand such
that there is no crossing of handshakes. Link – https://practice.geeksforgeeks.org/
problems/handshakes/0
3. A directed weighted graph consisting of N nodes was given where at each node there
was a hostage. A source and destination node were also provided. N soldiers started
from the source node and each soldier had the job to save exactly one hostage. The
cost of saving one hostage was the sum of the weights in the path from source node to
the node where the hostage is held and then to the destination node which the soldier
took. We had to minimize the total cost of saving all the hostages. I used Dijkstra’s
algorithm to solve it but made some mistake and it ran partially.

Round 1:

1. The interviewer gave me an arithmetic expression (infix) and told me to convert it


into postfix and then asked me to write an algorithm for it on a blank paper. Same
for converting postfix to infix.
2. I had written a project on analysis of sorting algorithms, she asked me about all the
best case and worst case examples of all the sorting algorithms that I had written.
3. Then she asked me about some basic concepts of OOP.
4. Then she gave me a problem related to the Longest Common Subsequence problem.
5. She also asked me about my project on machine learning.

147
Chapter 61. Adobe Interview Experience

Round 2:

1. Find the nth element in k-Fibonacci series (an element is the sum of previous k el-
ements). First I gave a O(n) time complexity and O(n) space complexity approach
and after some time gave O(n) time complexity and O(k) space complexity approach
using a queue.
2. Petrol pump problem – Link – https://www.geeksforgeeks.org/find-a-tour-that-visits-all-stations/
3. Explain the problem of critical section with the help of a water bottle. What is a
deadlock and explain its four characteristics.
4. What is thrashing and when does it occur.

Round 3:

1. Lowest common ancestor in a BST. Link – https://www.geeksforgeeks.org/


lowest-common-ancestor-in-a-binary-search-tree/
2. Print a given matrix in a spiral form. Link – https://www.geeksforgeeks.org/
print-a-given-matrix-in-spiral-form/
3. Puzzle 1 – https://www.programmerinterview.com/index.php/puzzles/8-pennies-find-
lightest-7-equal/
4. Puzzle 2 – https://www.mathsisfun.com/puzzles/weighing-10-bags-solution.html

Round 4:
In this round, the interviewer asked me each and every small thing about my machine
learning project and at the end gave me one question.

1. Link – https://www.geeksforgeeks.org/median-of-stream-of-integers-running-integers/

Round 5 was HR round and after that, they told me I was selected. GeeksforGeeks helped
me a lot in preparing for Adobe, Thank you GeeksforGeeks !!!

Please Improve this article if you find anything incorrect by clicking on the ”Improve Article”
button below.

Source

https://www.geeksforgeeks.org/adobe-interview-experience-2/

148
Chapter 62

Adobe Recruitment Process

Adobe Recruitment Process - GeeksforGeeks


About Company:
Adobe is an American multinational computer software company. The company is head-
quartered in San Jose, California, United States. Adobe has historically focused upon the
creation of multimedia and creativity software products, with a more recent foray towards
rich Internet application software development. It is best known for Photoshop, an im-
age editing software, Acrobat Reader, the Portable Document Format (PDF), and Adobe
Creative Suite, as well as its successor, Adobe Creative Cloud.
Adobe was rated the 5th best U.S. company to work for in 2003, 6th in 2004, 31st in 2007,
40th in 2008, 11th in 2009, 42nd in 2010, 65th in 2011, 41st in 2012, and 83rd in 2013. In
October 2008, Adobe Systems Canada Inc. was named one of “Canada’s Top 100 Employers”
by Mediacorp Canada Inc., and was featured in Maclean’s newsmagazine.
Know more about Adobe >>

149
Chapter 62. Adobe Recruitment Process

Recruitment Process:
Adobe conducts 5-6 rounds to select freshers as MTS (Member of techincal staff, equivalent
to SDE) in their organization. The following rounds are conducted:

• Online Coding + Aptitude Round


• Multiple Technical Rounds
• HR Round

Online Round:
The online round is hosted on Hackerrank and the candidates are presented with 2-3 cod-
ing questions + General Aptitude + Output related problems. The coding problems are
generally from Arrays and Strings. The whole round is around 60-75 minutes long.
Selected candidates sit for further personal interviews.
Technical Round 1:
Technical rounds are face-to-face rounds in which candidates are presented with a mix of
questions from DS/Algo, OS and memory management related topics. A strong understand-
ing of theoretical concepts as well as implementation is needed to clear this round.
Technical Round 2:
More algorithmic problems, including recursion, graphs and DP questions, along with puz-
zles are asked. Project related questions are also sometimes asked in this round, and the
technologies associated with it. One should know the everything about his project as the
questions can dive deep into technological aspects.
Technical Round 3:
This round generally consists of System design problems, conceptual and implementation
questions from OS and DBMS. Algorithmic and coding questions of medium-hard difficulty
are also asked, including conceptual questions from c/c++.

150
Chapter 62. Adobe Recruitment Process

HR Round:
You can expect HR questions like :
1. Why Adobe?
2. Tell about yourself.
3. Your shortcomings and strengths.
4. Details about the technical stuff done in college.
Questions asked in Adobe:

1. Subset sum problem


2. Equilibrium Point
3. Search in rotated array
4. Find median in a Stream
5. Inversion of array
6. Next greater number set digits
7. Find whether path exists
8. Binary to decimal number
9. Pair with difference k

Interview Experiences:
Read all Adobe Interview experiences
Where to apply?
Adobe Careers

Please Improve this article if you find anything incorrect by clicking on the ”Improve Article”
button below.

Source

https://www.geeksforgeeks.org/adobe-recruitment-process/

151

Вам также может понравиться