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

SDE - Intern

Adobe
upvote
share-icon
2 rounds | 5 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 4 months
Topics: Data Structures, Algorithms, OOPs, Operating System, DBMS, Computer Networks
Tip
Tip

Tip 1 : For DSA questions in interviews, start explaining from the brute force approach and then move to the optimal one. Convey your thought process to the interviewers, so that they can help you out if you get stuck. Communication skills matter a lot, and I think that is what makes the difference!
Tip 2 : Do some research about the company you are interviewing for and prepare the answers to the questions like Why should we hire you? (frame your answer in such a way that shows that your career goals align with the goals of the company), Why XYZ company?, Competitors of XYZ, etc. beforehand. Read about some latest news related to the company so that you can ask questions based upon that when the interviewer allows you to ask any question. This shows that you are genuinely interested to work for the company. 
Tip 3 : Spend proper time making your resume and get it reviewed by seniors. Do not write anything that you are not confident of. Even if you write something that you don’t know, just be prepared that how you will defend it. The interviewers are much much experienced than you and they’ll catch you easily if you lie. So don’t take risk here.

Application process
Where: Campus
Eligibility: Female Candidates can only apply.
Resume Tip
Resume tip

Tip 1 : Try to include at least one development project in your resume.
Tip 2 : Do not write anything on the resume that you are not confident of. Even if you write something that you don’t know, just be prepared that how you will defend it. The interviewers are much much experienced than you and they’ll catch you easily if you lie.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration123 minutes
Interview date30 Oct 2020
Coding problem2

This was an online assessment round that consisted of 4 sections:

1) Cognitive Assessment (20 questions- 20 minutes): It had 2 sections.

English: (10 questions), which composed of comprehension-based and basic grammar questions,
Numerical Ability: (10 questions), which composed of questions on geometry, trigonometry, quadratic equations, probability, statistics, etc.

2) Technical Assessment (20 questions-20 minutes): It consisted of MCQs on Data Structures & Algorithms, DBMS, OOPs, OS, and Computer Networks.

3) Coding Assessment (2 questions- 60 minutes) The 2 questions were:

Similar to this https://www.geeksforgeeks.org/find-the-occurrences-of-y-in-the-range-of-x/
Similar to this https://www.geeksforgeeks.org/wildcard-pattern-matching/

4) Gamified Assessment (3 tasks- 23 minutes): This section composed of mind game-based questions that had to be done according to the given instructions.

1. Digit Count In Range

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

You are given an integer ‘K’, and two numbers ‘A’ and ‘B’. You need to count the occurrences of the given digit ‘K’, in the range [A, B].

Note:
 You need to count occurrences at every place of the number. You also need to include the lower and higher limits of the given range
For example :
Given K = 3, A = 1, B = 15, then 3 occurs 2 times(3, 13) in the range [1, 15], so you need to print 2.
Problem approach

I solved this question using the brute force approach.

Try solving now

2. Wildcard Pattern Matching

Hard
50m average time
30% success
0/120
Asked in companies
SalesforceFreshworksWalmart

Given a text and a wildcard pattern of size N and M respectively, implement a wildcard pattern matching algorithm that finds if the wildcard pattern is matched with the text. The matching should cover the entire text not partial text.

The wildcard pattern can include the characters ‘?’ and ‘*’

 ‘?’ – matches any single character 
 ‘*’ – Matches any sequence of characters(sequence can be of length 0 or more)
Problem approach

I solved this question using the dynamic programming approach.

Try solving now
02
Round
Medium
Video Call
Duration60 minutes
Interview date9 Jan 2021
Coding problem3

The interview was scheduled for 9 Jan 21 from 6:00 pm. The interviewer started with “Tell me about yourself”. Then he asked some CS fundamental questions. I was asked about the singleton class and then about the memory layout in C++, then he moved on to the next question. He pasted a code snippet in the chatbox and asked me to tell the output. I copied the code to my local editor and explained my approach to finding the output. The code was related to the concept of virtual function and destructor in C++. After that, he asked me how much memory will be used by a struct that is storing 2 char variables and 1 int variable.

After that, he started with questions on data structures and algorithms and I was asked three questions.

Moderate
30m average time
70% success
0/80
Asked in companies
UberAdobeSamsung

Given a binary tree of integers, you need to print the binary tree in a 2-D array of string such that -

1. There should be ‘H’ number of rows in the matrix where ‘H’ is the binary tree’s height.

2. The column number should always be an odd value.

The unfilled cells should contain an empty string “ “.

If the parent node is placed at matrix[ row ][ column ], this cell will divide the rest space into two parts, i.e., left part and right part. You should print the left subtree of this parent node in the left part and the right subtree in the right part.

Note
If one of the left and right subtree is empty while the other is not, then for the empty part, you don’t have to print anything but have to leave the space as that of the nonempty size subtree.
For Example
For the given binary tree

Matrix will look like as

[ “ “,  “ “,  “ “,  “2”,  “ “,  “ “,  “ “ ] 
[ “ “,  “6 “,  “ “,  “ “,  “ “,  “4 “,  “ “ ] 
[ “ “,  “ “,  “8 “,  “ “,  “ “,  “ “,  “ “ ] 
Problem approach

Step 1 : The first approach that I gave was to find the height of the binary tree and then traverse the binary tree in level order and print the nodes at half the height of the tree. This approach required 2 traversals, but the interviewer wanted an approach with just one traversal.
Step 2 : The second approach that I gave was to traverse the binary tree in level order and store the nodes level-wise in a vector. Store these vectors in another vector (2D vector). After the traversal, let 's' be the size of the 2D vector, so print the nodes present in the vector (1D vector) at 's/2' index. This approach uses an extra space, but the interviewer was interested an approach with no extra space.
The interviewer provided me hints, but I wasn't able to come up with the optimized approach.

Try solving now

2. Unbounded Knapsack

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

You are given ‘n’ items with certain ‘profit’ and ‘weight’ and a knapsack with weight capacity ‘w’.


You need to fill the knapsack with the items in such a way that you get the maximum profit. You are allowed to take one item multiple times.


Example:
Input: 
'n' = 3, 'w' = 10, 
'profit' = [5, 11, 13]
'weight' = [2, 4, 6]

Output: 27

Explanation:
We can fill the knapsack as:

1 item of weight 6 and 1 item of weight 4.
1 item of weight 6 and 2 items of weight 2.
2 items of weight 4 and 1 item of weight 2.
5 items of weight 2.

The maximum profit will be from case 3 = 11 + 11 + 5 = 27. Therefore maximum profit = 27.


Problem approach

Step 1 : I gave the most optimized approach using Dynamic Programming. 
I shouldn't have done that. You should always start with the brute force approach and then optimize that.

Try solving now

3. Minimum Cost To Make String Valid

Moderate
20m average time
80% success
0/80
Asked in companies
MicrosoftAdobeAmazon

Ninja has been given a string ‘STR’ containing either ‘{’ or ‘}’. 'STR’ is called valid if all the brackets are balanced. Formally for each opening bracket, there must be a closing bracket right to it.

For Example:
“{}{}”, “{{}}”, “{{}{}}” are valid strings while “}{}”, “{}}{{}”, “{{}}}{“ are not valid strings.

Ninja wants to make ‘STR’ valid by performing some operations on it. In one operation, he can convert ‘{’ into ‘}’ or vice versa, and the cost of one such operation is 1.

Your task is to help Ninja determine the minimum cost to make ‘STR’ valid.

For Example:
Minimum operations to make ‘STR’ =  “{{“ valid is 1.

In one operation, we can convert ‘{’ at index ‘1’ (0-based indexing) to ‘}’. The ‘STR’ now becomes "{}" which is a valid string.

Note:
Return -1 if it is impossible to make ‘STR’ valid.
Problem approach

Step 1 : I gave the most optimized approach with O(n) time complexity. 
I shouldn't have done that. You should always start with the brute force approach and then optimize that.

Try solving now

Here's your problem of the day

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

Skill covered: Programming

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

Choose another skill to practice
Similar interview experiences
company logo
SDE - Intern
1 rounds | 7 problems
Interviewed by Adobe
1601 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Adobe
967 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 2 problems
Interviewed by Adobe
1084 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Adobe
860 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - Intern
3 rounds | 6 problems
Interviewed by Amazon
15606 views
4 comments
0 upvotes
company logo
SDE - Intern
4 rounds | 7 problems
Interviewed by Microsoft
15500 views
1 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Amazon
10216 views
2 comments
0 upvotes