Adobe | MTS 2 | India | December 2021 | Rejected
Anonymous User
2353

Work experience: 2.5 years at a semiconductor product based MNC as developer.
Got a referral from a coworker who had just joined Adobe. Interviews were scheduled in a week.

Round 1 (DS Algo): 2 question -> 03/12/21 (60 mins)
Interview started with basic intro and questions on work experience.

1st Question: Given an array Ar where we can only remove elements from front and back and a variable K, find the maximum sum of k removed elements.
Ex:

Ar: [1,2,3,4,5,6]
K: 3
Ans: 15 (6+5+4)

Ar: [1,20,3,4,5,6]
K: 3
Ans: 27 (1+20+6)

Started with a greedy approach. It was failing on some test cases where a max element was present on the other side, which greedy was not picking up. Then proceeded for a memoized recursive solution. Interviewer gave hints about a linear time solution by generating a base case answer. Thought for some time then gave a 2 pointer approach where I was picking up first k elements then subtracting the edge element from left and adding the edge element from right. Interviewer was happy with the solution. Coded the solution

Time: O(min(n,k)) where n is size of array and k is no of elements to be picked.
Space: O(1)

2nd Question: Populating Next Right Pointers in Each Node in a binary tree

Gave a standard BFS solution. Interviewer was happy with the logic and then proceded for coding it.

15 minutes after the interview, got a call from recruiter that I had cleared the round and next round can be scheduled 30 minutes later.

Round 2 (System Design): 1 question -> 03/12/21 (60 mins)
Again interview started with basic intro and questions on work experience.

Question: Design a cloud server system which is connected to only applications clients.

Discussed what were requirements of such a system, both from server side and application side and then wrote a basic LLD.
Interviewer was impassive so wasn't sure about how he thought I was doing.

Round 3 (System Design + DS Algo): 2 question -> 06/12/21 (60 mins)
Interview started with basic intro ,project in hackathons (mentioned in resume) and then questions on work experience. He then asked diamond problem in inheritence. Told him then he suddenly jumped to a system design question.

1st Question: Design a notification system which will notifiy users about various events and messages.

Discussed what were requirements of such a system, both from notification server side and user side and then wrote a basic LLD. Interviewer was happy and didn't asked much further.
System design part ended in 30 mins. Then he asked 1 Ds Algo question.

2nd Question: Give a logic for finding out top k frequent strings from a running stream. He said to give logic for 2 api's. 1 for reading from stream and other for finding top k frequent string.

Started with discussing the api's hit count. Gave 2 solution one of hashmap if read operation was more and other one of heap if searching top k operation is more. Then he said both api are having equal hit count. Gave a solution of two hashmap with read of O(1) and avg search of O(k) but then he pointed out in worst case it can go to O(n). Then finally combined hashmap and heap approach to get a read of O(logn) and search of O(k). Interviewer seems satisfied. Didn't asked to code it.

Update: Got a rejection mail 4 days later

Comments (4)