Adobe MTS-2 | Rejected | 4 Rounds
Summary
I attended four interview rounds for an MTS-2 Backend Java role at Adobe; the first three rounds went well but I was rejected after the final round.
Full Experience
Current - 3 YOE (Product Based in Hyd)
Applied on the Portal and got a call back for interviews. (MTS 2 Backend Java)
Round 1 (DSA + Java)
- Merge Overlapping Intervals.
- LFU Cache
Deep dive on one of my resume points: OOPS concepts, pillars of OOPS, SQL query, cache discussion, DB discussion. Ran code of problems on 6‑8 custom test cases (Hackerrank).
Round 2 (Design + Problem Solving)
- Rate Limiter (Sliding Window algorithm)
- Generate all subsequences of a string in sorted order.
Discussion around my project, tradeoffs, concurrency in Java (locks, synchronization).
Round 3 (Hiring Manager)
Discussion around my project, tradeoffs, behavioral questions like why Adobe, challenges faced.
HLD – design a high‑level design of a current project.
Last 15 min – design URL shortener (HLD).
Round 4 (Director)
Discussion around my project, behavioral questions like why this technology used, challenges faced (interviewer wanted specific keywords), on‑call incidents, manager conflict.
- Reverse sentences in a file (word‑wise) and print them. I coded an in‑place solution but they expected a stack‑based approach, then asked to optimize it. (Running code required)
- Flip a BST
Next day I received a rejection email. First three rounds went very well but I fumbled in the last round.
Interview Questions (6)
Merge Overlapping Intervals
Given an array of intervals where each interval is represented as a pair [start, end], merge all overlapping intervals and return an array of the merged intervals.
LFU Cache
Design and implement a Least Frequently Used (LFU) cache with the following operations: get(key) and put(key, value). Both operations should operate in O(1) time complexity.
Rate Limiter (Sliding Window)
Implement a rate limiter that allows a maximum number of requests within a sliding time window. The solution should efficiently handle high‑frequency calls.
Generate All Subsequences of a String in Sorted Order
Given a string, generate all possible subsequences (non‑contiguous subsets of characters) and return them sorted lexicographically.
Reverse Sentences in a File (Word‑wise)
Read a file containing multiple sentences. For each sentence, reverse the order of words (not characters) and output the transformed sentence. The interviewer expected a stack‑based solution and later asked for optimizations.
Flip a Binary Search Tree
Given the root of a binary search tree (BST), transform it into its mirror image (i.e., flip the tree horizontally) while preserving BST properties.