Adobe Product Intern Interview Questions & Experience Guide

Company Name: Adobe

Position: Product Intern

Location: Noida

Application Process: Applied through campus placement.

Interview Rounds:

  • Round 1 - Coding Test:

    • Questions Asked:
      1. Colourful Knapsack Problem: You are given ‘N’ stones labeled from 1 to ‘N’. The ‘i-th’ stone has the weight W[i]. There are ‘M’ colors labeled by integers from 1 to ‘M’. The ‘i-th’ stone has the color C[i] which is an integer between 1 to ‘M’, both inclusive. You have to fill a Knapsack with these stones, selecting exactly ‘M’ stones (one of each color), and the sum of weights must not exceed ‘X’. The goal is to minimize the unused capacity.
    • Your Approach: I tried to quickly solve the coding question first in around 20 mins and then focused on the MCQs. The MCQs were of medium level, and I practiced similar questions from Codezen.
    • Outcome: Cleared this round.
  • Round 2 - Telephonic Call:

    • Questions Asked:
      1. There are two singly linked lists in a system. By some programming error, the end node of one of the linked list got linked to the second list, forming an inverted Y-shaped list.
      2. Concepts like Segmentation, Swapping using Virtual Memory, Kernel.
      3. Egg dropping puzzle (discussed briefly at the end).
    • Your Approach: The interviewer was interactive and helpful. For the linked list problem, I asked about constraints and cases to extract hints. For OS concepts, I explained them clearly with examples.
    • Outcome: Cleared this round and got selected.

Preparation Tips:

  • Topics to Prepare: Data Structures (Arrays, Strings, Stacks, Queues, Recursion, Hashmaps, Trees, Pointers, Dynamic Programming), Operating Systems (OS Kernel, Deadlock, Virtual Memory, Memory Management, Paging, Segmentation), Object-Oriented Programming, Puzzles.
  • Time Required: 2 months.
  • Tips:
    1. Confidence is key. Practice more questions to build confidence.
    2. Understand the concepts behind each algorithm and solve 20-25 questions for each data structure. Use Codezen for practice.
    3. If stuck during the interview, ask about constraints and cases to get hints.

Conclusion:
Overall, the interview experience was positive. The interviewer was supportive, and the questions were manageable with thorough preparation. I would advise future candidates to focus on understanding core concepts and practicing problem-solving under time constraints.

Company Name: Adobe

Position: Product Intern

Location: Noida

Application Process: Applied through campus placement with eligibility criteria of 70% in UG and 60% in 10th and 12th.

Interview Rounds:

  • Round 1 - Coding Test:

    • Questions Asked:
      1. Maximum sum of non-adjacent elements: Given an array, return the maximum sum of a subsequence where no two elements are adjacent.
    • Your Approach: Used dynamic programming to solve the problem by iterating through the array and keeping track of the maximum sum up to each point, considering whether to include the current element or not.
    • Outcome: Passed the round.
  • Round 2 - Video Call (Technical Interview):

    • Questions Asked:
      1. Find the power of a number (x^n).
      2. Puzzle: There are 100 doors in a row, all initially closed. A person walks through all doors multiple times and toggles them. Determine the state of the doors after all passes.
    • Your Approach:
      • For the power problem, implemented a recursive solution with optimizations for negative exponents.
      • For the puzzle, reasoned through the pattern of door toggling and derived the solution logically.
    • Outcome: The interviewer was friendly and provided hints when needed. Passed the round.

Preparation Tips:

  • Focus on improving problem-solving skills by practicing puzzles and coding problems.
  • Strengthen knowledge of basic data structures and algorithms.
  • Include 1-2 major projects in your resume to increase chances of shortlisting.
  • Ensure your resume is ATS-friendly.

Conclusion:
Overall, the interview experience was positive. The questions were manageable with thorough preparation, and the interviewer was supportive. For future candidates, I recommend practicing dynamic programming problems and puzzles to build confidence and problem-solving speed.

Company Name: Adobe

Position: Product Intern

Application Process: I was interviewed before September 2020. The process included two rounds: a coding test and a video call interview.

Interview Rounds:

  • Round 1 - Coding Test:

    • Questions Asked:
      1. Sort an array according to the count of set bits: Given an array, sort it in decreasing order based on the number of set bits (1s) in the binary representation of each integer. If two numbers have the same count of set bits, maintain their original order.
      2. Minimum number of lamps needed to be installed: A problem involving dots (.) and asterisks (*) where dots represent free spaces and asterisks represent obstacles. The task was to determine the minimum number of lamps required to light all free spaces.
      3. MCQs: Questions on matrices, determinants, and polynomial equations at an engineering mathematics level.
      4. Technical Article: A situation was given, and I had to write a technical article of around 300-500 words.
    • Your Approach: For the coding questions, I focused on optimizing the solutions for time and space complexity. For the MCQs, I relied on my engineering mathematics knowledge. The technical article required clear and concise writing.
    • Outcome: I successfully passed this round.
  • Round 2 - Video Call Interview:

    • Questions Asked:
      1. Validate BST: Given a binary tree, check if it is a valid Binary Search Tree (BST).
      2. Reverse Linked List: Reverse a singly linked list and return the head of the reversed list.
      3. Writing classes for data structures: I was asked to write classes for data structures like a linked list.
      4. Sort infinite numbers: Given an infinite stream of 0s and 1s, sort them efficiently.
    • Your Approach: I shared my VS Code screen and coded the solutions in real-time. For the BST validation, I used an in-order traversal approach. For the linked list reversal, I iterated through the list and reversed the pointers. The sorting problem required a counting-based approach due to the binary nature of the input.
    • Outcome: The interviewer was satisfied with my solutions, and I was selected for the role.

Preparation Tips:

  • Topics to Prepare: Data Structures, Algorithms, Object-Oriented Programming (OOP), Dynamic Programming, Operating Systems.
  • Time Required: I dedicated around 6 months to prepare thoroughly.
  • Resources:
    • Practice questions on each data structure.
    • Complete Interview Bit and solve previously asked questions.
    • Watch YouTube videos for curated DSA sheets and solve important questions. Aim for at least 500 questions to be fully prepared.
    • Maintain a notebook for approaches and code snippets for revision.
  • Resume Tips:
    • Include good projects.
    • Internships are a plus, but competitive programming ranks can also strengthen your profile.

Conclusion:
The interview process was challenging but rewarding. The key was consistent practice and understanding core concepts deeply. For future candidates, I recommend focusing on problem-solving skills and maintaining a structured preparation plan. Good luck!

Company Name: Adobe

Position: Product Intern

Application Process: I was interviewed before September 2020. The process included an online coding test followed by a video call interview round.

Interview Rounds:

  • Round 1 - Coding Test:

    • Questions Asked:
      1. Sort an array according to count of set bits: Given an array, sort it in decreasing order of the count of set bits (1s in binary representation). If two numbers have the same count of set bits, maintain their original order.
      2. Minimum number of lamps needed to be installed: Given a string of dots (.) and asterisks (*), determine the minimum number of lamps required to light all free spaces (dots).
      3. MCQs: Questions on matrices, determinants, and polynomial equations at an engineering mathematics level.
      4. Technical Article: Write a technical article (300-500 words) on a given situation.
    • Your Approach: For the coding questions, I focused on optimizing the solutions for time and space complexity. I used bit manipulation for the first question and greedy algorithms for the second. For the MCQs, I relied on my engineering mathematics knowledge. The technical article required clear and concise writing.
    • Outcome: Cleared the round successfully.
  • Round 2 - Video Call Interview:

    • Questions Asked:
      1. Validate BST: Check if a given binary tree is a Binary Search Tree (BST).
      2. Reverse Linked List: Reverse a singly linked list.
      3. Writing classes for data structures: Implement classes for linked lists.
      4. Sort infinite 0s and 1s: Sort an infinite stream of 0s and 1s.
    • Your Approach: I shared my VS Code screen and coded the solutions in real-time. For the BST question, I used recursion to validate the tree. For the linked list reversal, I iterated through the list and reversed the pointers. The sorting problem was tackled using a two-pointer approach.
    • Outcome: Selected for the role.

Preparation Tips:

  • Topics to Prepare: Data Structures, Algorithms, OOPS, Dynamic Programming, Operating Systems.
  • Time Required: 6 months of dedicated preparation.
  • Resources: Interview Bit, YouTube videos for DSA sheets, and solving at least 500 coding questions.
  • Additional Tips: Maintain a notebook for approaches and codes of solved problems for revision.

Conclusion:
The interview process was challenging but rewarding. The key to success was consistent practice and thorough preparation. For future candidates, I recommend focusing on problem-solving skills and having a strong grasp of core CS concepts. Good projects and competitive programming ranks can also enhance your resume.

Final Outcome: Selected for the Product Intern role at Adobe.

Company Name: Adobe

Position: Product Intern

Application Process: I was interviewed before September 2020. The process included an online coding test followed by a video call interview round.

Interview Rounds:

  • Round 1 - Coding Test:

    • Questions Asked:
      1. Sort an array according to the count of set bits: Given an array, sort it in decreasing order based on the number of set bits (1s) in the binary representation of each integer.
      2. Minimum number of lamps needed to be installed: A problem involving string manipulation with dots and asterisks.
      3. MCQs: Questions on matrices, determinants, and polynomial equations (engineering mathematics level).
      4. Technical Article: Write a technical article (300-500 words) on a given situation.
    • Your Approach: For the coding questions, I focused on optimizing the solutions for efficiency. For the MCQs, I relied on my engineering mathematics knowledge. The technical article required clear and concise writing.
    • Outcome: Cleared this round and moved to the next stage.
  • Round 2 - Video Call Interview:

    • Questions Asked:
      1. Validate BST: Check if a given binary tree is a Binary Search Tree (BST).
      2. Reverse Linked List: Reverse a singly linked list.
      3. Writing classes for data structures: Implement classes for linked lists.
      4. Sort infinite numbers: Sort an infinite stream of 0s and 1s.
    • Your Approach: I shared my VS Code screen and coded the solutions live. For the BST validation, I used recursion. The linked list reversal was done iteratively. For the infinite numbers, I discussed a counting-based approach.
    • Outcome: The interviewer was satisfied with my solutions, and I was selected for the role.

Preparation Tips:

  • Topics to Prepare: Data Structures, Algorithms, OOPS, Dynamic Programming, Operating Systems.
  • Time Required: 6 months of dedicated preparation.
  • Resources:
    • Practice questions on each data structure.
    • Complete Interview Bit and solve previously asked questions.
    • Solve at least 500 questions to be fully prepared for coding rounds.
    • Maintain a notebook for approaches and code snippets for revision.

Application Resume Tips:

  • Include good projects in your resume.
  • Internships are a plus, but competitive programming ranks can also strengthen your profile.

Conclusion:
The interview process was challenging but fair. The coding test had a mix of problems, while the video call round tested my problem-solving and coding skills in real-time. Practicing a variety of questions and maintaining notes helped me stay organized. For future candidates, I recommend focusing on core concepts and practicing extensively.

Company Name: Adobe

Position: Product Intern

Location: Not specified

Application Process: Interviewed before September 2020. The process included two rounds: a coding test and a video call interview.

Interview Rounds:

  • Round 1 - Coding Test:

    • Questions Asked:
      1. Sort an array according to the count of set bits in the binary representation of integers.
      2. Determine the minimum number of lamps needed to be installed in a given string of dots and asterisks.
      3. MCQs on matrices, determinants, and polynomial equations (engineering mathematics level).
      4. Write a technical article (300-500 words) based on a given situation.
    • Your Approach:
      • For the sorting problem, I focused on counting set bits for each number and then sorting the array based on these counts while preserving the original order for ties.
      • The lamp problem required a greedy approach to ensure all areas are covered with minimal lamps.
      • The MCQs were straightforward, testing fundamental mathematical concepts.
      • The technical article involved explaining a scenario clearly and concisely.
    • Outcome: Cleared this round.
  • Round 2 - Video Call Interview:

    • Questions Asked:
      1. Validate if a given binary tree is a BST.
      2. Reverse a singly linked list.
      3. Write classes for data structures like linked lists.
      4. Sort an infinite stream of 0s and 1s.
    • Your Approach:
      • For the BST validation, I used an in-order traversal approach to check the BST property.
      • The linked list reversal was done iteratively to avoid stack overflow issues.
      • The data structure classes were implemented with basic functionalities.
      • The infinite stream problem was tackled using a two-pointer approach to segregate 0s and 1s.
    • Outcome: Selected for the role.

Preparation Tips:

  • Topics to Focus On: Data Structures, Algorithms, OOPS, Dynamic Programming, Operating Systems.
  • Time Required: 6 months of dedicated preparation.
  • Resources:
    • Practice questions on each data structure.
    • Complete Interview Bit and solve previously asked questions.
    • Follow YouTube videos for DSA sheets and solve important questions (aim for 500+ questions).
    • Maintain a notebook for approaches and codes for revision.

Conclusion:
The interview process was challenging but fair. The coding test required a strong grasp of algorithms, while the video call round tested problem-solving skills and coding efficiency. Having good projects and competitive programming ranks on my resume helped. For future candidates, focus on consistent practice and thorough revision of core concepts.