Adobe Systems (MTS-2) [Aug 2019] [Offered]

adobe logo
adobe
· MTS-2· Noida Sector 132, India· Offer
December 15, 2019 · 61 reads

Summary

I interviewed for the MTS-2 role at Adobe Systems in Noida, India, in August 2019, after being referred by a friend. The process involved five comprehensive rounds focusing on projects and diverse problem-solving, and I ultimately received an offer.

Full Experience

My interview experience for the MTS-2 role at Adobe Systems in Noida, India, was quite positive, with very friendly interviewers throughout. I was referred by a friend for this position.

Round 1 (40-50 min)

  • The round started with a discussion about my projects.
  • I was given a problem: Given an mn matrix and q queries (a b c d, where (a,b) are top-left and (c,d) are bottom-right coordinates), find the sum of elements in the rectangle for each query.
  • Another problem involved a factory with 10 machines, all producing 100g balls except one defective machine producing 90g balls. I had to find the minimum weighings required to identify the defective machine using a weighing machine.

Round 2 (40-50 min)

  • Again, the round began with a discussion about my projects.
  • I was asked to find the next largest N-bit binary number with the same number of set bits as the original (e.g., 101 -> 110).
  • A problem involved rearranging an array of 2n numbers (a1...an, b1...bn) into a1,b1,a2,b2,...an,bn without using extra space.
  • There were conceptual questions: What is a constructor? What is a destructor? Follow-up: How to keep track of live objects of a class without using global variables.
  • Another array manipulation problem: Given an array a1...an and an index i (1 <= i <= n), reverse the array around that index in-place (e.g., a1..a6, i=3 -> a4,a5,a6,a1,a2,a3).

Round 3 (40-50 min)

  • This round also started with a discussion about my projects.
  • I was tasked with a problem: Given a binary search tree, multiply all elements by -1, and then arrange the elements to again form a binary search tree.
  • I was asked to list all sorting algorithm names and their time complexities. The follow-up question was: Given N sorted elements and M elements being added (M << N), which sorting algorithm would I prefer and why?

Round 4 (40-50 min)

  • The first part of this round was a discussion about my projects.
  • I was given a binary tree problem: Remove all nodes whose subtree has a sum less than K.
  • Another problem involved finding the maximum number of gems I could collect from 'n' hills, where the i-th hill has 'ai' gems, and I couldn't collect from adjacent hills.
  • A classic brain teaser: 100 ants are sprinkled on a rod, moving at 1 m/s and reversing direction on collision. Find the total time after which all ants will fall from the rod.

Round 5 (10-15 min)

  • The final round was short and focused on a single problem: Write a mathematical expression to find the average of 4 integer numbers, avoiding integer overflow and only returning the integer part of the average (e.g., 3,3,4,3 -> 3).

Interview Questions (12)

1.

Matrix Rectangle Sum Queries

Data Structures & Algorithms·Medium

Given an m*n matrix and q queries. Each query is of the format 'a b c d', where (a,b) are top-left coordinates and (c,d) are bottom-right coordinates. For each query, find the sum of elements within the rectangle bounded by these coordinates.

2.

Find Defective Machine with Lighter Balls

Other·Medium

A factory has 10 machines, each producing balls weighing 100g. One machine is defective and produces balls weighing 90g. Given a weighing machine, what is the minimum number of weighings required to find the defective machine?

3.

Next Largest Binary Number with Same Set Bits

Data Structures & Algorithms·Medium

Given an N-bit binary number, find the next largest binary number that has the same number of set bits as the original number. For example: 101 --> 110.

4.

Interleave Two Halves of an Array In-place

Data Structures & Algorithms·Hard

Given an array of 2*n numbers in the format a1,a2,....an,b1,b2,....bn. Rearrange the elements of the array to be a1,b1,a2,b2,a3,b3,.....an,bn, without using extra space.

5.

Constructors, Destructors, and Live Object Tracking

Other·Medium

Explain what a constructor is and what a destructor is. As a follow-up, how would you keep track of live objects of a class without using global variables?

6.

Rotate Array Around Index In-place

Data Structures & Algorithms·Medium

Given an array a1,a2,......an and an index 1 <= i <= n. Reverse (or rotate) the array around that index. For example, if the array is a1, a2, a3, a4, a5, a6 and i = 3, the output should be a4, a5, a6, a1, a2, a3. The operation must be done without using extra space.

7.

Transform BST by Multiplying Elements and Reforming BST

Data Structures & Algorithms·Medium

Given a binary search tree, multiply all its elements by -1. Then, rearrange the elements to form a new binary search tree.

8.

Sorting Algorithms and Efficient Insertion into Sorted Array

Data Structures & Algorithms·Medium

List all common sorting algorithms and their time complexities. As a follow-up, if you have N sorted elements and M new elements are added (where M is much smaller than N), which sorting algorithm would you prefer to re-sort the array, and why?

9.

Remove Nodes with Subtree Sum Less Than K

Data Structures & Algorithms·Medium

Given a binary tree. Remove all nodes whose subtree has sum less than K.

10.

Max Gems from Non-Adjacent Hills

Data Structures & Algorithms·Medium

There are 'n' hills on a mountain, and the i-th hill contains 'ai' gems. You can collect all gems from a hill, but you cannot collect gems from adjacent hills. Find the maximum number of gems you can collect.

11.

Ants on a Rod

Other·Hard

100 ants are sprinkled on a rod. Ants can move at a speed of 1 m/s. Ants have a peculiar property: they reverse their direction upon collision. Find the total time after which all ants will fall from the rod.

12.

Average of Four Integers Avoiding Overflow

Other·Easy

Write a mathematical expression to find the average of four integer numbers, ensuring integer overflow is avoided. Only the integer part of the average is required. For example, for 3, 3, 4, 3, the average is 3.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!