Skip to content
Related Articles
Adobe Interview Experience for Computer Scientist-1
• Last Updated : 12 May, 2021

Adobe interview Experience for CS-1, Bangalore location. I’ll share my experience in this post . I have around 5 years of experience working as a Java Developer(Backend). The interview was conducted as part of their hiring drive and all the interview rounds were online . The interviewers were very helpful.

Round 1:

1. Given a sorted array having all the unique elements. and a target Sum. Find whether there exists a pair of elements in the array with the sum as the targetSum.
```eg:
Arr={4, 5, 8, 10, 12, 15, 20}  targetSum = 23
Op: Yes. (8, 15)```

## Java

 `/*package whatever //do not write package name here */`` ` `public` `int``[] findPair(``int``[] arr, ``int` `sum)`` ` `{``    ``int``[] res = ``new` `int``[``2``];``    ``int` `l = ``0``;``    ``int` `r = arr.length - ``1``;``    ``while` `(l < r) {``        ``int` `temp = arr[l] + arr[r];``        ``if` `(temp > sum)``            ``r--;``        ``else` `if` `(temp < sum)``            ``l++;``        ``else` `{``            ``res[``0``] = arr[l];``            ``res[``1``] = arr[r];``            ``break``;``        ``}``    ``}``    ``return` `res;``}`
2. Given an Unbalanced Binary Search Tree. Find the Second highest element in the tree.

## Java

 `/*package whatever //do not write package name here */`` ` `Node getSecondMax(Node root) { ``return` `util(root, ``null``); }`` ` `Node util(Node root, Node prev)``{``    ``if` `(root == ``null``)``        ``return` `root;`` ` `    ``if` `(root.right != ``null``) {``        ``prev = root;``        ``return` `util(root.right, prev);``    ``}``    ``else` `{``        ``if` `(root.left == ``null``)``            ``return` `prev;``        ``else``            ``return` `getRight(root.left);``    ``}``}`` ` `Node getRight(Node root)``{``    ``if` `(root == ``null``)``        ``return` `root;`` ` `    ``if` `(root.right == ``null``)``        ``return` `root;`` ` `    ``if` `(root.right != ``null``)``        ``return` `getRight(root.right);``}`

Round 2: System Design

1. Design an Online Playlist having the following functionalities exposed to the end user.
• search by artist name/song name/genre/year of release/album name
• sort by year of release/no. of hits(likes)
• recommend similar playlist
• resumePlaylist from lastsaved point

Round 3: Manager Round

1. Given an array of Unsorted integers and a value k. Find the k smallest elements from the array.
```eg: arr={6,3,6,2,2,4,7}  k=4
op: 2,2,3,4```

## Java

 `/*package whatever //do not write package name here */`` ` `public` `void` `kSmallestElements(``int``[] arr, ``int` `k)`` ` `{``    ``// Max heap``    ``PriorityQueue pq = ``new` `PriorityQueue(``        ``Collections.reverseOrder());``    ``if` `(k >= arr.length) {``        ``for` `(``int` `i : arr)``            ``System.out.print(i + ``" "``);``        ``return``;``    ``}`` ` `    ``for` `(``int` `i = ``0``; i < k; i++) {``        ``pq.add(arr[i]);``    ``}`` ` `    ``for` `(``int` `i = k; i < arr.length; i++) {``        ``int` `max = pq.peek();``        ``if` `(arr[i] < max) {``            ``pq.poll();``            ``pq.add(arr[i]);``        ``}``    ``}`` ` `    ``for` `(``int` `i = ``0``; i < k; i++) {``        ``System.out.print(pq.poll() + ``" "``);``    ``}``}`
2. System Design: Design an online Flight reservation system having the features:
• Searching for flights between destinations on a given date
• book the flight
• retrieve the bookings of a user

Round 4:

• The final round was taken by a senior person, maybe the director of engineering, and he asked me to design the system where multiple users are booking for a same seat in apps such as BookMyShow. How to handle the concurrency when multiple users want to book the same resource simultaneously.

Result: I got a call from HR after 2 days saying that I was selected.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.

My Personal Notes arrow_drop_up