Adobe MTS 2 (C++) Interview

adobe logo
adobe
MTS 2Offer
November 15, 20256 reads

Summary

I recently interviewed for the MTS 2 role at Adobe, going through six challenging rounds including technical discussions on DSA, system design, and C++ concepts, culminating in behavioral rounds with the hiring manager and director, eventually receiving an offer.

Full Experience

I recently had my interview experience for the Adobe MTS 2 role, which spanned a total of six rounds and took two months to complete.

ROUND 1: Technical Interview

This round involved a medium-level question primarily focused on the Disjoint Set Union (DSU) data structure, followed by several follow-up questions to delve deeper into my understanding.

ROUND 2: Technical Interview - Toughest Round

This was by far the toughest round for me. It covered a wide array of in-depth topics:

  • Extensive questions on Multithreading.
  • Detailed discussion on B+ trees.
  • Problems related to Bipartite graphs.
  • Questions on Virtual Destructors in C++: what they are, why they're needed, and how they function.
  • The infamous Diamond Problem in C++.

There was a significant number of questions from these topics, pushing my knowledge boundaries.

ROUND 3: Technical Interview

This round also had a strong focus on C++ concepts. Key areas included:

  • Numerous C++ questions.
  • A problem based on the Two-Pointer technique.
  • Questions regarding Connected Components in graphs.
  • One Low-Level Design (LLD) question: designing a garbage collector in C++.

ROUND 4: Technical Interview

Similar to previous rounds, this one also heavily featured C++ questions. A lot of focus was placed on Smart Pointers. Additionally, I faced one question that required a Backtracking approach.

ROUND 5: Hiring Manager Round

Having successfully navigated four technical rounds, this round was purely behavioral. The Hiring Manager posed many tricky questions, which I tried to answer as diplomatically as possible. I must admit, I fumbled quite a bit due to panic, but I tried my best to maintain composure.

ROUND 6: Director Round

In stark contrast to the previous rounds, especially Round 2, this was the easiest. I had a very pleasant and insightful discussion with the Director, who seemed like a genuinely nice person – a rare trait to find at such a senior position. After this discussion, I felt quite confident about receiving an offer.

True to my feeling, after two days, the HR informed me that I had successfully cleared all rounds! I was absolutely thrilled to receive the offer.

Interview Questions (12)

Q1
Disjoint Set Union Problem
Data Structures & AlgorithmsMedium

A medium-level question related to the Disjoint Set Union (DSU) data structure.

Q2
In-depth Multithreading Concepts
Other

Questions on advanced multithreading concepts, synchronization primitives, and their practical applications.

Q3
B+ Tree Concepts
Data Structures & Algorithms

Questions related to the structure, operations (insertion, deletion, search), and use cases of B+ trees, particularly in database indexing.

Q4
Bipartite Graph Problem
Data Structures & Algorithms

A problem related to bipartite graphs, potentially involving properties, detection, or algorithms applicable to them.

Q5
Virtual Destructors in C++
Other

Explanation of what a virtual destructor is, why it is necessary in polymorphic hierarchies to prevent resource leaks, and how it functions internally.

Q6
Diamond Problem in C++
Other

Discussion and resolution of the diamond problem in C++ multiple inheritance, including virtual inheritance.

Q7
Connected Components Problem
Data Structures & Algorithms

A problem involving finding connected components in a graph or similar data structure, potentially using algorithms like DFS or BFS.

Q8
Design a Garbage Collector in C++ (LLD)
System Design

An Low-Level Design (LLD) question focused on designing and outlining the implementation of a garbage collector in C++.

Q9
Smart Pointers in C++
Other

In-depth questions on smart pointers (e.g., std::unique_ptr, std::shared_ptr, std::weak_ptr), their uses, benefits, ownership semantics, and potential pitfalls.

Q10
Backtracking Problem
Data Structures & Algorithms

A problem requiring a backtracking algorithm for its solution, typically involving exploring all possible paths to find a solution or all solutions.

Q11
Behavioral Interview Questions
Behavioral

Various behavioral questions, likely focused on past experiences, conflict resolution, teamwork, handling failure, and problem-solving approaches under pressure.

Q12
Director Round Discussion
Behavioral

A discussion-based round with the director, likely covering broader career goals, leadership qualities, company culture fit, and high-level technical insights.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!