My Placement Experience: Adobe Systems
This article was written by Sarvesh Raj from the EEE Department of IIT Guwahati as a part of the InPlace Series by CEPSTRUM IIT Guwahati.
Company: Adobe Systems
Slot: 1.2 (Day 1, 8 am to 2 pm)
CTC: 22 lpa
No. of rounds: 5
I had three interviews lined up for this slot. I was in the shortlist for MakeMyTrip Product Manager role and the waitlist of JLR and Walmart Labs. I was neither in the shortlist nor in the waitlist of Adobe. The extended waitlist was announced around 9:15 am. I was first in the extended waitlist of the company. The selection was surprising because Adobe puts a lot of weight to CPI and I did not have a lot. The placement days are very strenuous and handling the pressure becomes more vital a skill than possessing technical knowledge. As the announcement was unexpected I was completely unprepared for the interview mentally. I rushed to the interview area and even before the turn of events could sink in I was called for the first round.
Duration: 60–70 mins
I was called inside and asked to take a seat. I wasn’t visibly nervous but the interviewer could see that I wasn’t entirely confident either. He asked me to introduce myself while he had a look through my CV. He then asked me to rate myself in coding on a scale of 1–10. I said 7. He said that he would rate himself at 7 after 20 years of experience. I could see that he was trying to shake me. I replied that this meant our definition of the pointers in the scale differed. He was satisfied and proceeded by asking me to write the code for swapping two numbers. I wrote the code using pass by reference. He then asked me whether I am confident with pointers to which I replied yes. He then asked me to swap two pointers. This is where I got confused. I did not understand the question and wrote the incorrect answer. He attempted to explain the question but ended up confusing me more. We then shifted to a discussion on the utility of pass by reference and pointers. He then asked me to implement linked list in a fictional programming language which did not have pointers or dynamic memory allocation! This was an interesting question and I thoroughly enjoyed attempting the question. In the end, I was only able to give a partial solution. He decided to move on and told me the complete solution. He then asked me a question on semaphores which I answered. He then asked me a probability question which he had framed last night. We had a nice discussion on it and he was satisfied with my approach. He then asked me the difference between C and C++. I replied OOPS. He asked me the definition of data abstraction. Answered. He asked me the definition of polymorphism. I didn’t remember and replied with some mashed up definition of inheritance and polymorphism. He was unhappy and I could see he was going to ask me to leave. I realised this and in a bid to save the interview I told him an example of function overloading. He then went on a rapid spree and asked me questions on function overloading, multiple inheritance, and virtual binding. After this he asked me if I had any questions for him, I asked him about his work in Adobe and what products he enjoyed most working on.
Overall I was unsatisfied with my interview and was not expecting a call so I went to the MMT interview area. Moments after I left the interview I understood the swapping two pointers question. I cursed myself and tried to forget the interview. 15 mins later I get a call from a few friends that I was being called for the next round.
I rushed to the other corner of the hostel again.
Duration: 65–75 mins
My second interviewer was a friendly lady who started by asking how I was doing. She asked to write the code for counting the number of digits in a number. I wrote the iterative solution, then she asked me to write the recursive solution. Then we proceeded to have a discussion on the efficiency of the two solutions. We then had a discussion on stack and heap memory. She then asked what I would like her to quiz me on. I said DS. She asked me my favorite DS, I replied linked list. She then smiled and said now she won’t ask me about LL. We shared a laugh and then she asked me a question on stacks, prefix to infix conversation. She asked me to discuss the approach with her then write the pseudo code. We discussed the solution then I proceeded to write the pseudo code. She cut me in the middle and asked me to write the full code and only show her when it is bug-free. I started writing the code and she stopped me midway again. She then asked me a question which she said no one had solved yet. The question was an analytical mathematics question. I loved solving the question and discussing my approach with her. She was helpful and was guiding me towards the solution. I finally solved the question after a half hour discussion. She was really happy and asked me why my grades were low! I told her in all honesty that I didn’t study the first two years of my college but I realised the importance of grades soon. I also pointed out to her that the same reflects in my grade card. She asked me if I had any questions for her and then asked me to leave.
I had a feeling that my interview went well and decided to use this fact to my advantage as the round was a spot offer round.
As soon as I left my interview I asked the HR permission to leave stating that I had two interviews lined up. He immediately pushed me to the third interview.
Duration: 30–35 mins
This was a standard coding round where he asked me questions and I was expected to write the full code. We shook hands, and he asked for my resume and transcript. He then asked me if I was comfortable with queues. I said yes and he asked me a simple BFS question.
Question 2: Find subarray with a given sum.
Question 3: Find an intersection point of two linked list.
I gave three approaches to solve this question but unfortunately, I came out as a know-it-all.
Question 4: Best time to buy stocks. I don’t remember which variation.
He asked me if I had knowledge of Operating Systems. I replied in the affirmative. He looked at my transcript and pointed that I did not have any course on Operating Systems. I replied that I have studied OS out of “interest”. He asked me why synchronization was important.
By this time I was pretty sure I had cleared the technical rounds. I was WRONG. I was immediately asked to enter the next room. My interviewer was the most senior professional present there.
Duration: 40–45 mins
He asked if I had anything for breakfast. I said no and then he offered me some biscuits. He asked for my resume and transcript. He asked me what he would like me to ask him. Now because I was so certain that I was selected I assumed this was a HR round. I asked him to ask me my future plans and aspirations. He gave me a quizzical nod. I realised something was wrong and asked him if this was a HR round. He laughed and told me it was a technical round and that he was a technical person. He reminded me that he was the one who had taken a certain Adobe lecture before placements which I had obviously not attended. I lied and showed a lot of fake surprise.
I then told him to ask me data structures. He looked at his laptop and told me that I have already been judged on that. I said algorithms. He had a huge grin on his face and I had a feeling that I lost my job. He asked me to define the knapsack problem and DFS algorithm. He then went through my transcript and noted that I had scored well in Machine Learning and Digital Signal Processing. He then told me that they like me and I clearly have a flair for computer science. He then put forth a make-or-break situation for me. He told me a question and said if I could solve it he’ll stop the interview. I solved the question using dynamic programming. He asked me to solve the question using recursion and then left the room. He came back a few minutes later; looked over my shoulder, said that the solution was incorrect and left the room. I began to find the bug. He came back, sat down, looked at me, smiled and said he was kidding!
He then asked me if I had any question for him. I had a few so I asked him those. He then got up, shook hands with me and wished me the best.
Duration: 20 mins.
This was a straight up HR round. Even before he could ask me anything I asked for water. We then had a discussion on my parents. He then told me all the benefits the company offered. I was so exhausted that I had allowed tiredness to take over my entire body. Thus, I was not even paying attention to anything he said. My face only lit up when he said that every employee of Adobe gets the entire Creative Cloud for free!
I was so elated that I told him that they should give that point an entire slide.
We shook hands, and he said, “Welcome to Adobe” :)