Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App

Related Articles

Adobe Interview Experience (Off Campus)

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

I applied using LinkedIn.

Round 1: Technical

  1. He asked me to explain my projects in detail first.
  2. It started with a puzzle.
  4. a
  5. Given a set of paths. Find the maximum common path among all of them.
    1. Eg. /a/b/c and /a/c are the paths. Then, output has to be /a.
    2. It was expected to handle all the corner cases and solve the problem efficiently (eg. returning if after processing some string the path becomes empty and stuffs like that).

Round 2: Technical

  1. He asked me to explain my projects in detail first.
  2. Again started with a puzzle:
  3. Suppose there is a new number system where 5 is not present. Convert the number given in this number system to the decimal number system.
    1. Example. Input: 6  Output: 5  Explanation: 5 is absent in the new decimal system
    2. I suggested a DP approach similar to this:
    3. But the interviewer was expecting a more optimized answer. It can be solved using base notation. Approach will be similar to this:
  4. Find the closest square of a given number without using sqrt function.
    1. Can be solved by finding the sqrt using a binary search approach and then looking for +1 and -1 number’s square.

Round 3: Technical

This was more of a language which focussed more on language-specific details.

For me, it was C++.  First, he asked me to rate myself in C and C++. I rated 9 in C++ but 8 in C. He asked me the reason and I said pointers are my nightmare. Then, he told I am going to ask lot of pointer questions today. :p

Questions asked were:

  1. Define a function pointer
  2. Create a 2D array dynamically using pointers
  3. A lot of discussions went around virtual functions
  4. Can virtual functions be inline? Ans: No . Give Reason as well.
  5. Generalized stack using a template. Create a class and write all the functions.
  6. A little bit of discussion on process and thread.
  7. Shared memory and message passing. How does it work? Advantage of one over other.
  8. Mirror a BST. initially I swapped the data but later he asked me to do using pointer swapping.
  9. Puzzle on probability
  10. Many other questions which I don’t remember 😀

After one day, I got a call from HR that there will be one more round called director round.

Round 4: Technical (Director round)

Brief introduction of the work that I am doing in the company and my role in it.

  1. WAP to convert decimal number to binary number After this, he asked me to review my code and consider optimizations, corner cases if any and what comments will you give if you are reviewing this code. In the end, I used some bit operations to make things faster. Like instead of n/2, n>>1 and stuffs like that.
  2. He asked me my favorite subject. I said operating systems. The discussion went on around shared library, static library, virtual memory, paging, copy-sharing, message passing, etc os concepts.
  3. In the end, he asked me to provide the approach to compare two files which has 10^9 lines in an efficient way and return the lines that are common in both. The discussion went for around 40 to 45 minutes. This is one of the best discussion I had.
    1. Approaches discussed were mostly on hashing and sorting.
    2. Constraints: Single processor machine

Verdict: Selected 😀

After a couple of days, I got call for HR informing me the same.


  1. I think the interviewers were not looking for the perfect answer every time. They were looking for the approach and thought process.
  2. Be confident and explain things clearly.
  3. Say no to whatever you don’t know.
  4. All the very best.
My Personal Notes arrow_drop_up
Last Updated : 20 Aug, 2021
Like Article
Save Article
Similar Reads