Adobe Interview Questions
About the company: Adobe
Adobe Systems Incorporated, also known as Adobe, is an American multinational company of Computer software. Adobe is headquartered in San Jose, California, United State with total 17000 employees across the world (in 2017). Adobe was established by John Warnock and Charles Geschke in December 1982. It was founded primarily to develop and sell the PostScript page description language. The Company provides various creative software products and services which are used by professional, application developers, enterprises and consumers. Adobe is famous for Photoshop, Acrobat Reader, Portable Document Format (PDF), Adobe Creative Suite, and Adobe Creative Cloud. Adobe mainly focused on three Segments, which are Digital media, Digital marketing, and print and publishing. Adobe is one of the best company to work for, and also Ranked as 5th best U.S. Company in 2003. Adobe is given ranked as 51th for Best Global Brands by Interbrand in year 2018.
Key people of Adobe:
CEO and Chairman: Shantanu Narayen
CFO: John F Murphy
CTO: Abhay Parasnis
Adobe Recruitment process:
Adobe recruitment process is one of the difficult recruitment processes. Adobe selects the candidates very carefully, with lots of screening to choose the best talent of all the candidates. The recruitment process of Adobe is also different from other companies as it takes 5- 6 rounds for an Interview. Following are the main rounds of the recruitment process.
First Round: Online Written Round
This first round will be the Online Test, which consists of two sections mainly. The first section will be based on basic aptitude and reasoning. The second section will contain the MCQ questions based on C/C++/JAVA output based questions, and coding question, which will be subjective. This round is organized on Hackerrank Platform, in which candidate can code in any of preferred language(C, C++ or Java). The first section of this round will be the most comfortable round of complete recruitment process but needs a good speed to clear it.
Test Pattern for the first round:
A. Quantitative and Reasoning Section
Sample aptitude questions with the answer to prepare for the first round:
Aptitude Interview Questions
1) If a bulb in a room flashes on every 9 seconds, how many times will it flash in ¾ of an hour?
2) The present age of Arjun, Ram, and Vivek is in the proportion of 4:7:9. If 9 years ago, the sum of their age was 53, then what will be their present age?
The present age of Arjun, Ram, and Vivek is in the ratio of 4:7:9
3) If the average age of employees in an office is 40 years and 120 new employees joined the company whose average age is 32 years. Hence the average age of all employees decreased by 4 years. So what is the total number of employees in the company now?
4) Find the largest 4 digit number, which will be exactly divisible by 88?
5) Compute the sum of the first five prime numbers?
6) 'A' alone can complete 1/4th of the work in 2 days. 'B' alone can complete 2/3th of the work in 4 days. If all the three workers work together, they can complete the work in 3 days so what part of the work will be completed by 'C' alone in 2 days?
7) One day Ravi started moving 30 minutes late from home and reached his office late by 50 minutes while driving 25% slower than his usual speed. How much time does Ravi usually take to reach his office from home?
8) A shopkeeper sells one table for Rs. 840 at a gain of 20% and another table for Rs. 960 at a loss of 4%. What will be his total gain or loss?
9) If in a conical tent, there is a space for accommodation of 10 persons. Each person must have 6 sq. Meter space to stand and 30 cubic meters of air to breathe. What will be the height of the cone?
10) A can do a piece of work in 10 days, B can do the same work in 12 days and Ravi in 15 days. They all start the work together, but A leaves after 2 days and B leaves 3 days before the completion of work. Find the days in which work will be completed.
1) If MADRAS can be coded as NBESBT, then how can we code BOMBAY?
2) Which will be the next term in the series: 3, 4, 6, 9, 13,_______
3) If w, x, y z are integers. There is the condition, that expression x-y-z is even, and the expression y-z-w is odd. If x is even what must be true?
4) What will be the next term in the series of BXF, DVI, FTL, HRO,_____
5) If in some code language,
i. Guda buka means Clear water
6) If Win is related to Competition, then Invention is related to.
7) Rahul said to Akash, "That boy playing with the football is the younger of the two brothers of the daughter of my father's wife." How is the boy playing football related to Rahul?
8) By introducing Riya, Sam says, "She is the wife of the only nephew of only brother of my mother." How is Riya related to Sam?
9) Engineer: Map::Bricklayer:? Find the word.
10) Find out the odd word form the following options:
B: Sample Technical MCQ
The second section of the first round is technical MCQ and coding section. This section is little tough to crack. It requires a thoroughly study of concepts for data structure, C, Bit manipulation, and algorithms. There are some sample questions for Adobe interview with the answers.
1) What will be the output for the following:
2) In C language, parameters are always_______
3) Find the output for the following code:
4) What is a use of the following statement?
scanf ("%3s", str);
5) Find the output for the following code.
6) What will be the maximum number of binary trees that can be formed using three unlabelled nodes?
7) What will be the total number of structurally different possible binary trees with 3 nodes?
8) Which sorting algorithm can be used to sort a random linked list with minimum time complexity?
9) Compute the output for the following code:
10) Compute the output for the following code:
This section is a coding round in which a candidate needs to write code for the given questions in any preferred language(C/C++/Java). Some of the coding questions are given below for practice.
1) Write code to reverse the linked list?
Input linked list 68 30 14 20 Reversed Linked list 20 14 30 68
2) Write a code which multiplies two numbers using the minimum number of additions.
The product of 10 and 20: 200
3) Write a program which swaps two integer pointers?
Before swap 20 30 After swap 30 20
4) Write a program to calculate the nth term of the Fibonacci series?
The series is 0 1 1 2 3 5 8 13 The nth term is 13
5) Write a program to count the total Set Bits in a number?
Total bits are=4 Total zero bits are=0 Total one's bits are= 4
6) Write an algorithm to compute the output for X^N, having complexity log n.
The output for x^n, where x=6, n=3, 216
7) Write code to check a binary tree is BST tree or not?
Input Tree is 1 3 4 7 8 9 10 Tree is BST or not: true Tree is BST or not: true Input Tree is 1 3 4 20 7 8 9 10 Tree is BST or not: false Tree is BST or not: false
8) Write a code to find the nth element from the end in a list?
18 20 30 15 10 16 4th node from end is: 30
Technical Round interview questions:
This is the third main round of the Adobe interview process. It contains various rounds. In this round, candidates are checked on their technical skills. If candidate clears one round, then he/she can proceed for the next round.
Technical First round
1) Differentiate between typedef and #define?
The primary difference between typedef and #define is given below:
10 Andhra Pradesh
2) Why we use sprint() function?
sprint() is a C library function which is termed as "string print." sprintf function is used to hold the formatted data output as String.
multiplication of 10 and 5 is 2
3) How to differentiate between char a= ?String and char*a =?String.
The difference between the above two statements is that the first statement will create an array of 9 elements will automatically add the null pointer and the size of array 'a' will be 9.
But the second statement will create a pointer variable. We cannot perform any array operation on this pointer variable as it will be stored in read-only mode.
4) Explain Data breakpoints? Where can we use this?
Data Breakpoint is a strong feature available for C++, which allow us to stop the execution when the value stored at a particular memory location changes. Data breakpoints can be used to solve the memory corruption issue.
5) Differentiate between new and malloc()?
The new and malloc() both are used for dynamic memory allocation. But there are various differences between new and malloc, which are given below,
6) Differentiate between process and thread?
Following are the basic differences between the process and the thread:
7) What is C++ Shorthand property? What is its role?
C++ provides shorthand property, which enables a programmer to use the assignment operator in a shorter way.
x=x+5; can be written as x+=5 using shorthand
x=x-10; can be written as x-=10;
8) What do you understand by function prototype declaration and definition?
Function prototype declaration: function prototype declaration statement gives the following information about the function:
Where add is the name of a function, and a, b and c are the passed arguments.
Function definition: The function definition is the actual source code of the function. Function definition gives information that what that function actually does.
9) What do you understand by Conditional Operators?
10) What is volatile Keyword in C?
The volatile keyword is a qualifier which is used with the variables at the time of declaration.
It gives the information to the compiler that variable's value can be changed at any instance of time even it does not appear to be modified.
Volatile keyword is used to declare a variable as a volatile variable. It can be used before the datatype or after the data type.
11) What do you understand by OS? Explain in Easiest way.
12) Why we use pointers in C and C++?
Pointers are the variables which stores address of another variable in C and C++.
Following are the main reasons that why we use pointers in C and C++:
13) Differentiate between call by pointer and call by reference?
In C++ language, we can pass an argument to a function by reference or by pointer, both are the correct approaches and precisely same, but the basic differences between both are:
14) What do you understand by calloc() and malloc()?
In C, calloc() and malloc() are the library functions, and both are used for dynamic memory allocation. Which means it allocates the memory at run-time as per requirement from the heap section.
malloc(): malloc() function is a library function which allocates a single block of requested memory and return a pointer void to it, which can be cast to any return type. It returns the null value if sufficient memory is not available.
calloc(): calloc() function is also a library function which allocates the multiple blocks of memory of requested size. It initially initializes the memory to zero and returns NULL if memory is not sufficient.
15) Explain the term, "virtual machine"?
The Virtual machine is a software program which behaves like a separate computer. It works same as the main computer and also capable of running applications and other programs. A virtual machine, called as a guest is created within the main machine called as host. There are two types of virtual machines depending upon their uses.
16) What do you understand by Synchronization?
Synchronization is a process of performing two things simultaneously at the same time.
Synchronization is of two types:
Process synchronization: Process/thread synchronization is a mechanism which controls the access of shared resources between two concurrent threads. It ensures that two concurrent thread do not share the same resource at the same time. Synchronization deals with problems such as deadlock, starvation, busy waiting, etc.
Data Synchronization: Data synchronization is a technique which ensure the integrity of data between two devices. With the help of data synchronization, it keeps multiple copies of single data in different location. It includes file synchronization, journaling, Raid, etc.
17) Explain the term Mutex? What is Reader-writer problem?
In OS, a situation is called as Reader-writer problem for a particular shared data area which involves:
This problem mostly occurs in Concurrency or multithreading.
18) Why we use void keyword?
We can use void keyword for two purposes:
Function parameter: When we use void as function parameter, it means function does not accept any value.
Function Return type: When we use void as function return type, it means it will not return anything.
void keyword can also be used with the pointers which makes it more powerful as, when void is used with pointer it termed as generic type, which can hold address of any type.
19) Explain the exit controlled loop?
An Exit controlled loop is a type of loop which first execute the instruction and then checks the condition. When we use exit controlled loop, then at least one time execution occurs even if the condition is false. The do-while loop is an example of exit controlled loop.
20) What is a DNS server?
DNS server is a main part of DNS (Domain Name System) infrastructure. It is a computer server which stores and manages the database of IP addresses and their respective Hosts name.
DNS server is also called as name server, which is used to map the domain name to the corresponding IP address.
A single domain name can have multiple IP's that means IP addresses can vary with time.
Technical Second Round
1) What are the different layers in TCP/IP models? Explain the protocols at each layer?
TCP/IP model is termed as Transmission Control Protocol/Internet Protocol. TCP/IP model is a practical and concise version of the OSI model. Current network architecture depends on the TCP/IP model. It consists of mainly four layers:
1. Link Layer:
is responsible for the physical flow of data through the network. It consists of hardware devices such as optical fibre, coaxial cable, or twisted pair, etc. In this layer, data travels in the form of bits and frames.
The protocol used at this level is Ethernet, token ring, etc.
2. Internet Layer:
Internet layer is the Upper layer of the Link layer. This layer converts the data into data-packets, called as IP datagrams and send these datagrams across the host through the network. These datagrams consist of host and destination address, by which they are forwarded through the network.
The primary protocols used at this level are:
3. Transport Layer: This is the third layer of the TCP/IP model, which is responsible for the communication between the source host and destination host and error-free data transmission.
This layer consists of mainly two protocols:
TCP (Transmission Control Protocol): TCP is a reliable protocol for error-free communication between the source and destination host. It's a connection-oriented protocol.
UDP (User Datagram Protocol): This protocol is not reliable as compare to TCP protocol, we can use this protocol which does not require reliable communication. It is a connectionless protocol.
4. Application layer: This is the top layer of the TCP/IP model. It describes the application protocol and provides node-to-node communication.
This layer contains various higher level protocols which are:
2) Explain the working of the stack while calling a function? When stack overflow occurred?
The Stack is a particular area of RAM, just like as Heap. But stack is used to store local variables, parameters and return values used inside a function and stack stores and deallocates memory automatically.
When we call a function, stack performs following steps:
When we call a function, stack adds a stack frame which consists space for actual parameters, local variables, return address, etc. This stack frame lives in active frame till the time function is being called, and once execution finishes then stack remove that stack frame from the stack.
Stack Overflow: As we know that stack deallocated the memory and free up space after execution but still there is a condition when complete stack space used, and there is no more space to save the variables, so this is called stack overflow. It occurs because the space size of the stack is also limited in size, and at the time of execution if we allocate more memory than available memory than overflow occurred and the program got crashed. Some example for stack overflow are:
3) Explain the meaning for the declaration: int*const p & const int* const p?
int * const p: By declaring a pointer in such a way that means we are declaring point variable p as constant, which cannot be changed. We cannot change the address its holding, or it cannot point to other variables. If we try to change the address of p, then it will give a compile time error.
const int * const p: By declaring a pointer in such a way means, we cannot change the address of the pointer as we as we cannot change the address at that address. If we try to do it, then it will generate a compile time error.
4) What are default functions in C++
C++ provides the six default member functions which are given below:
5) Which data structure is used for the dictionary?
To implement a dictionary, which type of data structure should be used depends on what we required, there are some following data structure which can be used for implementation of the dictionary.
Hash-table: If we want a simple dictionary with no option for the prefix, or nearest neighbour search then we can use Hashing or Hashtable for the dictionary.
Trie: It can be a good option if we want to add prefix and fast lookup. But, it takes more space than other data structures.
Ternary Search Tree: If we want all the qualities like trie but do not want to give the more space then we can use ternary search tree.
BK-tree: BK-tree is one of the best data structure if we want specifications like spell checker, find the similar word, etc.
6) How can you find a unique word from a String which also has duplicate words?
We can find the unique word from a string by using HashMap, Set and Regex.
Candidate can also be asked for questions like:
Technical third round or director Round
This round is a challenging round as in this round the manager ask the questions based on your projects, so candidate must have in-depth knowledge about their project which they have done and some problematic puzzles which candidates needs to solve.
1) Write an algorithm for the tower of Hanoi?
Tower of Hanoi is a very popular mathematics puzzle. In this puzzle, we are given three disk and three rods. Disks are arranged in the first rod like a stack, in ascending order. We need to transfer the disk from the first rod to third in the same order.
There are some rules as well:
Let's suppose there are thee towers Beg, Aux, and Dest, and there are two disks where n disk is larger disk and n-1 is smaller one.
Step 1: shift n-1 disk from tower Beg to Aux
Step 2: shift n disk from Beg to End
Step 3: shift disk n-1 form tower Aux to C.
2) Write a code to find the loop in a Linked list? How will you remove this loop?
Loop is occurred Linked List after removing loop 40 15 12 10 4
3) How will you design a data structure for excel spreadsheets?
We can design an excel spreadsheets by using:
4) Explain memory protection in OS.
Memory protection is a mechanism which controls the unauthorized access of memory in the computer. Memory protection prevents the unallocated memory access by a process. Memory address is first checked before used by a process, to see whether it is allocated address or not.
There are two registers LBR and UBR are used to implement memory protection.
5) What is Virtual Memory in OS?
Virtual Memory is memory management technique of Operating System. Virtual memory is an extra space provided to a program when a main memory does not have the sufficient space to execute a code. It temporarily transfers data from RAM to disk storage, which uses inactive memory of hard disk, which is termed as Virtual Memory.
6) Write an algorithm to insert an element into a sorted linked list?
Suppose the linked list is sorted in ascending order then following is the algorithm for the same. Let the input node is 13 and let assign as n
Suppose Input linked list is:
1) If given linked list is empty then assign the node as head and return it.
2) If value of the node n is less than value of head node, then insert the node at start and assign it as head.
3) In a loop, search the appropriate node after which the input node is to be inserted. To search the appropriate node start from head, keep moving until you reach a node x(Let?s suppose 15)whose value is greater than the input node. The node before the x will be the appropriate node(11).
4) Insert the node(13) after the appropriate node(11) found in step 3.
7) Find pair of elements whose sum equal to a given number?
Pair element found at position 0 and 4 Pair element found at position 1 and 7 Pair element found at position 2 and 5
Candidates can also be asked for following questions:
HR round will be the last round for the complete recruitment process. This will be an easy round as compare to all above rounds as in this round, interviewer just wants to interact with the candidate. In this round, interviewer will judge the candidate on the basis of communication skills and soft skills.
1) Brief about yourself?
This question is a very common question and asked mostly in most of the interviews. Answer of this question should be in the following way.
2) Why do you want to join Adobe?
The interviewer asks this question to check if you are really interested to join or what is your motivation to join this company. You should answer this question in the following way:
3) What skills do you have, so that we should hire you?
By this question, interviewer wants to check, that how deep you know about your skills and how see yourself differently from others. Answer for this should be given as:
4) Which is your dream company?
By this question, the interviewer wants to check your passion. Is this company is your dream company, or you want to join this company as you don't have any other options. So candidate should answer this question carefully.
To answer this question candidate should never use any other company's name while they can choose the characteristics of the company.
My dream job is one, which works on innovation and which provides product to the world which can change the one's lifestyle. And I was excited about this job. As per my knowledge, Adobe is a company which beliefs on the innovation and creativity.
5) Tell something about your family background?
This is a general and relaxing question as you don't need to think so much to answer this. To answer this question, you need to tell how many members do you have, and what they do.
6) Where do you want to see yourself after ten years?
7) What is your unique and different quality, which makes you the most suitable employee for this company?
This is the same question as "why should I hire you," Answer should be given as question number 3.
8) Do you think that you are a goal oriented person?
9) What are your greatest strength and Weakness?
My greatest strength is my self-motivated nature. With the help of this, I can face any challenge.
My greatest weakness is my emotional nature. I get susceptible when I see someone in any adverse condition.