Sei sulla pagina 1di 25

Adobe Interview | Set 1

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.
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.
Source: Adobe Interview Questions 2013 Batch

Adobe Interview | Set 2

I have recently been through the recruitment process of ADOBE. I didnt 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 didnt
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, 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 wasnt selected).
Please post if someone has answers to them.
Best of luck.
Source: http://www.geeksforgeeks.org/forum/topic/adobe-interview-8th-september-28thseptember-2012

Adobe Interview | Set 3

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:
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.

Adobe Interview | Set 4

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
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!! :D

Adobe Interview | Set 5

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 .
Adobes Interview Process was very good since in this month, I had given interviews of Amazon,
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.
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 noteditable. 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 wouldnt have even sat for Adobe :P

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

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 Rounds1st 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)
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.
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!!!

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

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 Rounds1st 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.
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 nave 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 :D I pointed out the overlapping subproblems 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 nave 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 coordinates, 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, its 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, its
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 :P 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, 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 ironman suit :D Needless to say, I really enjoyed this round for multiple reasons :D
Finally, the results were declared and 5 students including me were hired :D

Adobe Interview | Set 8 (Off-Campus)

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 couldnt make it beyond this round.However, this was my interview experience.

Experience: 8 months

Adobe Interview | Set 9

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 nontechnical)
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
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:
Didnt happen because HR was in urgent critical meeting.
After 2 days got a call from HR that I was selected for Adobe :D :)

Adobe Interview | Set 10 (Software Engineer)

Written:
Aptitude: Objective 50 min 45 questions
LR- 2 passages-5 each
DI- 1 paragraph- 5 each
Mathematical
Exactly same paper at this link
http://www.gohired.in/2014/03/adobe-aptitude-c-language-written-test.html

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 threads 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 OutputStream
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));
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.
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 attitude1) 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 options1) Yes and then redirected to payment and all
2) Remind me after 2 weeks.
3) No
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. Couldnt 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)

Adobe Interview | Set 11 (On-Campus)

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 are1) 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 1s in the
array are present before the 0s.You have to return the row number of the row with max. no of
1s.You just have to implement the function whose prototype looks likeInt 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 its unit place has a multiple which has all 1s 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).
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- Kings 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 concepts,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 cachekeep 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 dont have any idea about something or heard the
term for the first time,its better to simply tell that u dont 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 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.

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

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
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 increasing
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 10milliseconds 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.

Adobe Interview | Set 13 (On Campus for Internship)

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 MCQs were on heap, and probability. Finding the expectations and the running time
complexities for heaps were the main focus of the MCQs.
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.
(http://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
0
1
2
3

Start Time
100
80
120
110

End time
170
150
165
145

Output
Index
Rank
2
0
3
0
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).

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

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 (Dont 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
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 entities, 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 youre 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 implementation 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.

Potrebbero piacerti anche