Interview experiences

Adobe SSE Onsite Interview in India: Five Rounds, Concurrency-Heavy

AdobeSSE·India·Interviewed August 2019Outcome unknown

Updated July 17, 2026

A candidate with six-plus years of backend Java and Spark experience shared a detailed account of an Adobe Senior Software Engineer (SSE) onsite loop in India, held in August 2019. The onsite consisted of four back-to-back face-to-face rounds in a single day, split by a lunch break, followed by a fifth round over video conferencing about two days later.

The candidate described every onsite round as elimination-style, mixing classic data-structure and algorithm problems with concurrency-focused system design and a broader architecture round. The final video round shifted toward hardware estimation, garbage collection, and database comparisons. As of the write-up, the candidate had not yet heard back on the outcome.

How the process went

  1. Onsite scheduling

    Four face-to-face rounds were scheduled back-to-back on the same day in India, with a 30-minute lunch break after the second round.

  2. Onsite loop

    Rounds covered data structures and algorithms, an engineering-manager round, a second data structures and algorithms round, and a technical-architect round; the candidate described every round as elimination-style.

  3. Follow-up video round

    A fifth round, conducted over video conferencing, took place roughly two days after the onsite and focused on systems, estimation, and database topics.

  4. Result

    At the time of the write-up, the candidate had not yet received a decision.

Onsite Round 1 - Data Structures & Algorithms

Core DSA and concurrency fundamentals

  • General background introduction
  • All Nodes Distance K in Binary Tree: find all nodes at a given distance from a target node
  • Explain the difference between a mutex and a semaphore
  • Design a thread-safe HashMap

Candidate described the interviewer as approachable, with a substantive back-and-forth during the thread-safe HashMap design question.

Onsite Round 2 - Engineering Manager

Project deep dive and a concurrency-heavy design question

  • Describe your most challenging project and go deep on it
  • Design a thread-safe cache that supports both LFU and LRU eviction using the same underlying data structure, with the eviction policy chosen via the constructor

Candidate found this interviewer curt and repeatedly interrupted, and felt the interviewer was unsure how LFU eviction actually works.

Onsite Round 3 - Data Structures & Algorithms

Algorithm problem solving

  • House Robber II: maximize money robbed from houses arranged in a circle without robbing two adjacent houses
  • Single Number II: find the element that appears once in an array where every other element appears exactly three times
  • Design a data structure that returns the top 10 most frequent words from a stream

Candidate considered this the strongest round of the loop, with a detailed discussion on the circular house-robber problem and positive feedback on the second question.

Onsite Round 4 - Technical Architect

High-level system and API design

  • Design a high-level elevator system configurable for m floors and n lifts, where each lift can be restricted to a subset of floors
  • Design the APIs for a chat application, including security considerations

Interviewer had been at the company for about 12 years and also fielded the candidate's questions on system design tradeoffs and career growth.

Video Screen (Post-Onsite)

Systems estimation, garbage collection, and databases · Held about two days after the onsite

  • What happens when a function with no arguments and no return value calls itself infinitely: stack overflow or memory exhaustion?
  • Given 8GB RAM and a 2.5GHz quad-core processor, estimate how long it takes before memory is exhausted
  • Repeat the same two questions for an infinite while(true) loop instead of infinite recursion
  • Given an array of 1000 numbers, estimate how long sequentially multiplying them takes, then explain how to optimize it (for example, parallelizing across threads) and estimate the improved time
  • Design a garbage collector
  • Resume-based questions about databases
  • Compare Cassandra and MySQL on reasoning, performance, and use cases
  • Explain a three-tier architecture
  • How would you test a three-tier architecture for performance bottlenecks
  • Questions on scalability

Candidate estimated roughly ten follow-up questions came out of the performance-testing topic alone.

Key takeaways

  • Brush up on core concurrency primitives (mutex vs. semaphore) and be ready to design thread-safe structures like a HashMap or a combined LRU/LFU cache from scratch.
  • Expect a deep dive into your own project history in manager-style rounds, not just coding problems.
  • Practice reasoning about rough hardware-bound numbers, such as how long an operation takes given a stated RAM and CPU spec, since some interviewers probe order-of-magnitude estimation rather than only Big-O complexity.
  • For system design rounds, be ready to reason about configurable subsystems, like an elevator system split into floor and lift groups, rather than one fixed layout.
  • If a loop stretches across multiple days or rounds, ask the recruiter about the expected decision timeline so you know what to expect while waiting.

Practice a Adobe interview

Rehearse out loud against the kinds of questions in this story — with an AI interviewer that asks follow-ups.

Practice this interview

Source

The questions and process facts come from the candidate's public write-up, linked below. The retelling above is our own summary.

Candidate's public write-up on LeetCode Discuss