Adobe | MTS 2 | Interview Experience (Frontend)

adobe logo
adobe
MTS 2Offer
September 18, 20240 reads

Summary

I recently interviewed for a MTS 2 Frontend role at Adobe, undergoing five rounds of interviews focused on JavaScript fundamentals, React, system design, data structures & algorithms, and a machine coding problem. I successfully received an offer.

Full Experience

Hi, this is my first post on any platform sharing my recent interview experience for an MTS 2 Frontend role at Adobe. I went through five rounds, and I'm thrilled to share that I was selected!

Round 1: Technical (Frontend & DS Algo)

This round started with introductions, followed by questions on JavaScript fundamentals. The interviewer presented a scenario to gauge my understanding of the event loop rather than directly asking about it. We also discussed closures and React fundamentals. Towards the end, I was given two data structures and algorithms questions: one related to trees (medium difficulty) and another involving array manipulation (easy-medium).

Round 2: Technical (System Design & DS Algo)

After introductions, the discussion shifted to system design, specifically how we handle cache invalidation in my project. I then had to explain the end-to-end process of how our project serves millions of users daily, from deployment to the user's device. We also delved into in-depth questions about frontend optimizations I've implemented. Finally, there was another DS-Algo question, again related to trees (medium problem).

Round 3: Hiring Manager (Behavioral & DS Algo)

This was a hiring manager round. After introductions, I was asked to explain one of my projects that I'm most proud of and articulate why. Following this, I faced two more DS-Algo questions: one required me to code the bottom view of a binary tree from scratch, and the other was a binary search-related problem, similar to 'Aggressive Cows'.

Round 4: Senior Hiring Manager (Technical & Reasoning)

The senior hiring manager round began with introductions. I was asked to explain my current project in detail. This was followed by a frontend machine coding problem (medium difficulty) in React. After that, a reasoning problem was posed: 'A 4x4x4 cm cube is given; how many 1cm³ cubes can be cut from it?' The follow-up question was, 'If we paint that cube from all sides, how many of the cut cubes would have all 3 sides colored?' Finally, there was one more DS/Algo question related to trees (medium).

Round 5: Design & Architect

I had anticipated general system design questions like 'Design WhatsApp' or 'YouTube,' but the round started with a discussion about my previous interview experiences. The interviewer then asked about my project, specifically the impactful changes I was proud of. I had to explain the entire project flow in a drawing tool, essentially creating a high-level design (HLD) of my own project. We discussed various aspects like design choices and potential alternatives. There was also a discussion about why I hadn't used the Lodash library in my project, and I was asked to implement one of its functions. The last problem was to print the Fibonacci sequence without storing any numbers, meaning if I called `fib(10)`, it should print the first 10 Fibonacci numbers without using any storage. I approached this using recursion and some additional logic.

Interview Questions (13)

Q1
JavaScript Event Loop Scenario
Other

Explain the behavior of the JavaScript event loop when given a specific scenario.

Q2
JavaScript Closures
Other

Questions related to JavaScript closures.

Q3
React Fundamentals
Other

Questions related to React fundamentals.

Q4
Project-Specific Cache Invalidation
System Design

Describe how cache invalidation is performed in your current project.

Q5
Project Scaling & Delivery Architecture
System Design

Explain the end-to-end process of how your project is served to millions of users daily, from deployment to the user's device.

Q6
Proudest Project Discussion
Behavioral

Explain one of your projects that you are proud of and articulate why.

Q7
Bottom View of a Binary Tree
Data Structures & AlgorithmsMedium

Code the bottom view of a binary tree from scratch.

Q8
Binary Search Problem (Aggressive Cows)
Data Structures & Algorithms

A binary search related problem, similar to 'Aggressive Cows'.

Q9
Current Project Explanation
Behavioral

Explain your current project.

Q10
Cube Cutting and Painting Problem
Other

Given a 4x4x4 cm cube, how many 1cm³ cubes can be cut from it? Follow-up: If the original 4x4x4 cube is painted from all sides, how many of the 1cm³ cubes that were cut would have exactly 3 sides colored?

Q11
High-Level Design of Personal Project
System Design

Explain the whole project flow in a drawing tool, creating a high-level design (HLD) of your own project. Discuss impactful changes, design choices, and alternative approaches.

Q12
Implement Lodash Function
Other

Discuss reasons for not using the Lodash library in your project, then implement one of its functions.

Q13
Print Fibonacci Sequence Without Storage
Data Structures & Algorithms

Given a function fib(n), print the first n Fibonacci numbers without storing the numbers anywhere (e.g., in an array or map). For fib(10), it should print the first 10 Fibonacci numbers. Candidate used recursion with extra logic.

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!