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

Product Intern

Adobe
upvote
share-icon
2 rounds | 7 Coding problems

Interview preparation journey

expand-icon
Journey
Securing an internship at Adobe was the culmination of a transformative journey fueled by determination, adaptability, and the wisdom shared by those who guided me along the way. My fascination with technology began during college, where I first encountered the intricacies of C and C++. To be honest, I had no prior knowledge of computer fundamentals or programming languages, as I didn’t even have Computer Science (CS) as a subject during my schooling (11th and 12th grades). Initially, it felt like decoding an unfamiliar language. However, as I gained confidence, I began to appreciate the elegance and problem-solving potential of programming. It wasn’t long before I realized the importance of Data Structures and Algorithms (DSA), a revelation that reshaped my approach to coding and prepared me for the challenges ahead. Eager to broaden my horizons, I ventured into web development (MERN Stack) and machine learning (ML)—fields where creativity meets functionality. Building dynamic applications that others could interact with provided a sense of fulfillment that textbooks alone couldn’t offer. These projects bridged the gap between theoretical learning and practical application, deepening my understanding of technology’s real-world impact. As I started applying for internships, the road was far from smooth—there were missteps and missed opportunities. However, every failed interview became a lesson in resilience, sharpening my analytical thinking and teaching me how to present my ideas more effectively. Stay curious, embrace setbacks as part of the process, and seek out communities, mentors, and seniors who can guide you along the way.
Application story
The opportunity to apply for an internship at Adobe came through an on-campus placement drive organized by my college. The application process began with an online test that assessed both programming skills and technical fundamentals. The test consisted of two coding problems of easy to medium difficulty and around 20–30 multiple-choice questions (MCQs) covering core computer science concepts such as operating systems, databases, networking, and data structures. The coding problems required logical thinking and efficient solutions, while the MCQs tested a strong grasp of fundamental concepts. I found the test to be well-balanced, ensuring that candidates were evaluated on both practical problem-solving skills and theoretical knowledge. Successfully clearing the test advanced me to the next stage of the interview process, marking the beginning of an exciting and challenging journey toward securing the internship.
Why selected/rejected for the role?
I believe I was selected for the role because of my strong grasp of computer science fundamentals and my ability to communicate and present ideas effectively. While coding skills are crucial, I ensured that I demonstrated a deep understanding of core concepts during the technical discussions, which likely set me apart. My ability to clearly explain my thought process and approach problems methodically also contributed to creating a positive impression. This combination of technical knowledge and effective communication played a key role in aligning me with the expectations for the role at Adobe.
Preparation
Duration: 5 months
Topics: Data Structures and Algorithms, OS, DBMS, OOPS, Puzzles and Aptitude (only needed as per product-based interviews/OA standards).
Tip
Tip

Tip 1: Prepare a roadmap once and stick to it; avoid frequently changing your study approach. (It only takes one day to make.)
Tip 2: Consult seniors (preferably those working in the same company) or reach out via LinkedIn connections to get curated guidance.
Tip 3: Practice 2–3 questions daily, focusing on medium and hard levels. Even if you can only solve one hard question in a day, take the time to understand it thoroughly.
Tip 4: The quantity of questions doesn’t matter—quality does. (250 well-chosen questions are far better than 1,000+ random ones.)
Tip 5: Focus on analyzing patterns rather than memorizing questions.
Tip 6: Don’t skip computer fundamentals. At the very least, study OS, DBMS, and OOP (for internship-level roles). For full-time roles, consider adding CN as well.
Tip 7: Projects should highlight practical aspects or be motivated by real-life applications; this adds significant value.

Application process
Where: Campus
Eligibility: 7 CGPA (CS, ECE, EE, EP, MCE, SE, IT), (Salary Package: 12 LPA)
Resume Tip
Resume tip

Tip 1: Devote considerable time to creating and tailoring your resume according to the company’s requirements and job description (JD), without including any false information.
Tip 2: Make sure to highlight your achievements.
Tip 3: Stick to a one-page resume.
Tip 4: Check your resume’s ATS (Applicant Tracking System) score online and regularly seek feedback from your seniors.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration90 minutes
Interview date8 Aug 2023
Coding problem2

The online assessment for the Adobe interview was designed to evaluate a comprehensive range of skills, including problem-solving, core computer science knowledge, and programming proficiency. 
The assessment consisted of multiple sections, starting with general aptitude questions to test logical reasoning and analytical abilities. This was followed by questions on computer science fundamentals, covering topics such as operating systems (OS), database management systems (DBMS), computer networks (CN), and object-oriented programming (OOP). 
These included conceptual queries, output-based problems, and code snippets primarily in Java, requiring a strong grasp of theoretical concepts and their practical applications. 
Additionally, the assessment featured two medium-level coding problems that focused on implementing data structures and algorithms efficiently. This combination of aptitude, computer science fundamentals, and coding tasks ensured a well-rounded evaluation of technical and problem-solving capabilities.

1. Minimum Sum of Absolute Differences

Easy
10m average time
90% success
0/40
Asked in companies
PharmEasyAdobeOla

You have been given two arrays/lists 'ARR1' and 'ARR2' of length 'N'. Your task is to pair each element of 'ARR1' to an element of 'ARR2' such that the sum of the absolute difference of all pairs is minimum.

Example:
If 'ARR1' = [0, 2, 1], and 'ARR2' = [8, 10, 4] then the most optimal pairing will be (0, 4) , (1, 8) and (2, 10). The sum of absolute difference will be 4 + 7 + 8 = 19.
Note:
An element from one array can make a pair only with at most one element of another array.
Problem approach

Step 1: On may thing around doing binary search over a range of numbers.
Step 2 : but due to high constraints, it cannot be done
Step 3 : Thing statistically around what to choose as the required number and its median
Step 4: find the median of all the numbers in an array, and it is the required answer.

Try solving now

2. Search In A 2D Matrix

Easy
10m average time
90% success
0/40
Asked in companies
HSBCAdobeCIS - Cyber Infrastructure

You have been given a 2-D array 'mat' of size 'M x N' where 'M' and 'N' denote the number of rows and columns, respectively. The elements of each row are sorted in non-decreasing order.


Moreover, the first element of a row is greater than the last element of the previous row (if it exists).


You are given an integer ‘target’, and your task is to find if it exists in the given 'mat' or not.


Example:
Input: ‘M’ = 3, 'N' = 4, ‘mat’ = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], ‘target’ = 8

Output: true

Explanation: The output should be true as '8' exists in the matrix.
Problem approach

Step 1: Initialize variables to track the total sum, minimum absolute value, and count of negative numbers.
Step 2: Iterate through the matrix and calculate the absolute sum of all elements.
Step 3: Count the total number of negative elements in the matrix.
Step 4: Track the smallest absolute value of any element for later adjustment.
Step 5: Check if the count of negative numbers is even; if true, return the absolute sum as is.
Step 6: If the count of negatives is odd, subtract twice the smallest absolute value from the sum to balance the parity.

Try solving now
02
Round
Medium
Video Call
Duration60 minutes
Interview date10 Aug 2023
Coding problem5

The round focused on evaluating my problem-solving skills, core computer science knowledge, and design aptitude. It began with two Data Structures and Algorithms (DSA) problems that required efficient solutions and logical thinking. This was followed by questions on computer science fundamentals, primarily covering Operating Systems (OS) and Database Management Systems (DBMS).

The final segment of the round tested my understanding of system design using Object-Oriented Programming (OOP) principles and database concepts. This part involved conceptualizing and structuring solutions that demonstrated my ability to design scalable and efficient systems. Overall, the round assessed a balanced mix of analytical, technical, and design skills.

1. Spiral Matrix

Easy
15m average time
80% success
0/40
Asked in companies
WalmartOracleApple

You are given a 2-D array 'MATRIX' of dimensions N x M, of integers. You need to return the spiral path of the matrix.

Example Of Spiral Path:

Spiral path of a matrix

Problem approach

Step 1: I initially applied a simple approach by using multiple nested loops to solve the question. However, this made the solution messy and less intuitive.
Step 2: The interviewer then asked me to optimize the solution and think about it more intuitively.
Step 3: I subsequently provided a solution using multiple pointers (four) with minimal looping, resulting in clear and concise code.

Try solving now

2. Save Ninja Land

Hard
0/120
Asked in companies
AdobeD.E.Shaw

Unfortunately, Ninja Land is facing an epidemic. There are ‘N’ unique virus variants spread across Ninja Land. The Ninja Land is an infinite 2D grid. You are in charge of creating a vaccine to stop the spread of the epidemic. Your research team provides you with a 2D array ‘POINTS’, where POINTS[i] = [Xi, Yi] represent a virus originating at point (Xi, Yi) and an integer ‘K’.

Every day, each cell infected with a virus variant will spread the virus to all neighboring points in the four cardinal directions (i.e., up, down, left, and right). If a cell has multiple variants, all the variants will spread without interfering with each other.

To create the vaccine, you must find the minimum number of days for any point to contain at least k of the unique virus variants. Can you save the Ninja Land?

For example:
You are given ‘POINTS’ = [[1, 1], [3, 1]] and ‘K’ = 2. The answer will be 1. 

On day 2, the point (2, 1) will have K = 2 variants(V1, V2).
Problem approach

Step 1: I initially tried applying simple traversal and mathematical logic to compute the required results.
Step 2: The interviewer then asked me to optimize the solution.
Step 3: I proposed a solution using the line sweep algorithm, which efficiently tracks the required information during line traversal. This approach impressed the interviewer.

Try solving now

3. DBMS

What is normalization? (Learn)

Problem approach

Tip 1: Explain the different normal forms (1NF, 2NF, 3NF, BCNF) with examples.

4. Virtual Concepts

What are virtualization and virtual memory?

Problem approach

Tip 1: Study virtualization basics, including types (hardware, software) and benefits (resource optimization).
Tip 2: Practice examples of how virtual memory works, focusing on translation lookaside buffer (TLB) and demand paging.

5. System Design

Suppose you have a system like Aadhaar with multiple entries of data. How would you design it, and what relationships would you establish between the various tables?

Now, suppose the entries have increased to over 1 million, and you need to run a query for a particular user. What techniques and optimizations would you consider to reduce search time?

Problem approach

Tip 1: Design tables and form relations as per DBMS concepts.
Tip 2: For efficient querying, try using concepts like CQRS, indexing, sharding, etc.

Here's your problem of the day

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

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
Product Intern
2 rounds | 8 problems
Interviewed by Adobe
2072 views
0 comments
0 upvotes
company logo
Product Intern
2 rounds | 4 problems
Interviewed by Adobe
1803 views
0 comments
0 upvotes
company logo
Product Intern
2 rounds | 3 problems
Interviewed by Adobe
1596 views
0 comments
0 upvotes
company logo
Product Intern
2 rounds | 6 problems
Interviewed by Adobe
752 views
0 comments
0 upvotes