Adobe | Computer Scientist 1 | Round 1 Interview Experience
Summary
I interviewed for a Computer Scientist 1 role at Adobe. The interview consisted of rounds on C++ fundamentals, a challenging coding problem, and operating system concepts. I received positive feedback from the recruiter.
Full Experience
Adobe Interview Experience – C++ (CS-1 Role)
YOE: 3
The interviewer started with a quick introduction and then moved on to C++ fundamentals. We discussed:
- vector vs list vs queue: use-cases, internal structure, and time complexity of operations.
- ordered_map (i.e., std::map) vs unordered_map, including internal implementations (Red-Black Tree vs Hash Table).
- What is a VTable and how virtual functions are implemented in C++.
- Implement a Singleton class in C++, covering thread-safety. Asked for some real use case , I tolder Logger.
Coding : I believe it was a hard-level problem. Problem: Minimize the Maximum Beauty of K Subarrays Given an array, divide it into k contiguous non-empty subarrays. The beauty of a subarray is defined as: beauty = max_element × length For each split, compute the maximum beauty among the k subarrays. Among all such splits, return the minimum possible maxium beauty.
I told the approach and coded but couldn't make it work, but he was satisfied with the thought process and approach.
Toward the end, the interviewer switched to OS questions, such as:
What is virtual memory? Paging and Segmentation
Questions based on code snippets: I was asked to analyze a few C++ code pasted in the editor .
Recruiter reached out with positive feedback.
Interview Questions (7)
Discuss use-cases, internal structure, and time complexity of operations for C++ std::vector, std::list, and std::queue.
Discuss std::map (ordered_map) vs std::unordered_map, including their internal implementations (Red-Black Tree vs Hash Table) and performance characteristics.
Explain what a VTable is and how virtual functions are implemented in C++.
Implement a thread-safe Singleton class in C++. Discuss real-world use cases, such as a Logger.
Given an array, divide it into k contiguous non-empty subarrays. The beauty of a subarray is defined as: beauty = max_element × length. For each split, compute the maximum beauty among the k subarrays. Among all such splits, return the minimum possible maximum beauty.
Explain what virtual memory is.
Explain paging and segmentation in operating systems.