Adobe Summer Intern Interview Experience
Published in
5 min readNov 17, 2019
- Online Round: The online round was conducted on HackerRank. There were different sections, including subjective, objective, and coding questions. The total time for the contest was 90 minutes. The details of the separate parts are as follows:
- MCQs (combined): [17 marks] Thirteen questions were asked based on probability, permutation, and combination, matrix, eigenvalues, aptitude based, CS fundamentals, etc.
- Coding Question: [5 marks] One question was asked with was based on Dynamic Programming. Due to easy test cases, few of the sample test cases were working with the greedy approach as well.
- Pseudocode Question: [3 marks] One pseudocode question was asked, which was about printing a matrix in a spiral form. https://www.geeksforgeeks.org/print-a-given-matrix-in-spiral-form/
- Essay: [3 marks] One essay was asked, which was about IoT (Internet-of-Things).
The next day, the list of shortlisted students were sent, they shortlisted 18 students for the next round for the interview out of approx 140 students who appeared for the test.
- Interview Round: It was a telephonic interview. They asked to keep a mobile phone, Skype, and hangout all ready as the interviewer can use any of these media. However, my interview was completely telephonic and took about an hour.
My interview started with greetings and a brief introduction to each other. After that, she covered the following things in the interview.
- Project-Based: She pointed out one of the projects from my resume. She asked me to thoroughly explain the project, including the technologies used, the end-goal of the project, the accuracy of the project, the working model, etc. I was able to explain all these things to her. Then, she made some changes to the ideal conditions that we had taken in our project, and she asked if how will I change my product, given some real-time issues to be considered. I was able to discuss some really good things to consider and the changes we can do.
- CS-Fundamentals Based: She asked me about the different CS core courses taught to me. I said the name of all the courses taught like OS, CN, DBMS, DSA, DAA, AP(OOPS-Java), C Programming, etc. She then asked me whether I know the concepts of OOPS. Then she asked me about the concept of Inheritance and explain it. Then she gave me a case with five nodes and their parent-child relationship and asked me a few questions related to this. She asked about different methods, objects, and other properties that the parent-child can share in this case. I wasn’t sure about the answer to the last question, so I told her the same.
- Data-Structures Based: First, she asked my favorite coding language. Answer to which was C++. Then, she started asking questions. Since the interview was telephonic, I was not asked to write the full working code for any of the questions. She was more interested in discussing my approach to solve the problem, time complexities, space complexities, optimized solution possible, edge cases of the problem, and pseudo implementation of that. She asked the following questions:
- Given a number as a string, convert every character of the string to its equivalent digit and store it in applicable data type. She roasted me on edge cases of it like negative numbers or very large numbers etc. She asked me to write the code on paper and explain it to her. https://www.geeksforgeeks.org/converting-strings-numbers-cc/
- She asked me what inorder, preorder, and postorder traversals are. She then gave me inorder and postorder values of a tree and asked me to return the preorder of the same. I took a bit longer to make the tree and get the order, but I kept her engaged during this by discussing my approach and finally gave her the answer. https://www.geeksforgeeks.org/print-postorder-from-given-inorder-and-preorder-traversals/
- Given that you need to maintain an address book for phone numbers which data structure will you prefer using Hash Tables or Binary Search Tree(BST). She then put different conditions each time, like what if I need to make both insertions, deletions faster. What if I want to prevent chaining. What if we want the data to be sorted in some order. She asked the time complexity for each of the cases. We also had a slight discussion about self-balancing trees, as well. https://stackoverflow.com/questions/34601345/is-hash-table-proper-for-implementing-the-address-book-feature-for-a-cellphone
- Given an unsorted array of size ’n’ with all values distinct. How will I calculate the median of an array? And the time complexity of the same. Then, she asked me about how will I calculate the median of medians. She roasted me over time complexity, space complexity, optimized solution for the same. It didn’t click for the first time to me. I discussed the brute force with her. Then she insisted on thinking about the optimized solution. After having some discussion, I was able to get to a solution using pivot, but I said that I am not confident about coding implementation of the same at the moment. https://en.wikipedia.org/wiki/Median_of_medians
- Extra-Discussion: She then said, now I have one last question for you. Why do you want to do an internship and Why Adobe? I answered this question properly about things that interest me and why I found Adobe to be a company to do intern with. I shared what I enjoy doing, and I want to work with real-time products that users are using and work on how we can improve their user experience. At last, she asked if I have any questions for her. I then asked her a few questions about how they make a product that becomes part of a customer’s life.
This way, my interview ended up, and besides results, it was a very good experience to have this interview. I liked the way she was interviewing very much.
Finally, two days after the interview, they shared the final result with us. Out of 18 shortlisted students, six got selected. I am glad and lucky to be one of them.