Adobe | CS1 | Reject

adobe logo
adobe
software engineer cs14 yearsRejected
November 17, 20252 reads

Summary

I recently interviewed at Adobe for a CS1 role, an experience that unfortunately concluded with a rejection. The interview process was comprehensive, spanning multiple technical rounds focused on data structures, algorithms, system design, and core Java concepts.

Full Experience

I recently had an interview experience with Adobe for a CS1 role. I have 4 years of experience and was interviewing for their ALM Org. The process involved three distinct rounds, each testing different facets of my technical and behavioral skills.

Round 1 (Technical)

This round focused on data structures and algorithms. I was presented with a problem related to identifying active users within a sliding time window from a continuous stream of application logs. I had to implement a function that would report the number of unique users active in the last 5 minutes based on their event timestamps.

Round 2 (Technical)

The second technical round was quite diverse. It started with a LeetCode problem: 'Most Stones Removed with Same Row or Column'. Following that, we delved into core Java concepts. Questions included handling concurrency when multiple threads modify the same data structure (like List, Array, or Map), and the differences between shallow and deep copies of objects, requiring examples. The discussion then shifted to SQL and database architecture. I was asked about ways to establish connections to an SQL server, how to identify and improve slow-running SQL queries, and details about JDBC, including writing code for its usage. We also discussed SQL database consistency, master-slave architecture, and data isolation.

Round 3 (System Design & Behavioral)

The final round was a mix of system design and behavioral questions. I was asked to describe my most complex project, draw its High-Level Design (HLD), and answer follow-up questions. They probed into situations where I might have had a design conflict with a senior SDE and how I resolved it. We also discussed my approach to designing solutions. Finally, the behavioral part covered standard questions like 'Why Adobe?' and 'Why are you looking for a change?'. A significant portion of this round was dedicated to designing the detailed schema for a 'BookMyShow' type application, including navigating the entire flow of finding a movie ticket and outlining the necessary table schemas step-by-step.

Interview Questions (10)

Q1
Active Users in a Sliding Time Window
Data Structures & AlgorithmsMedium

You are building an analytics component that processes a continuous stream of application logs in real time. Each log record represents a user activity event within the system.

Input:
You receive a stream of log entries, each represented as a tuple: (timestamp, userId, eventType)

where:
timestamp — an integer representing the event time in seconds (increasing over time).
userId — a string or integer identifying the user who performed the event.
eventType — a string describing the type of event (e.g., 'login', 'view', 'click', etc.).

Task:
Implement a function that processes this event stream and, at any given point in time, reports the number of unique users active in the last 5 minutes.
A user is considered active if they have generated at least one event within the past 5 minutes relative to the current event’s timestamp.

Q2
Most Stones Removed with Same Row or Column
Data Structures & AlgorithmsMedium

The problem asks to remove the maximum number of stones such that no two remaining stones share the same row or column. This is a common problem from LeetCode.

Q3
Concurrency Issues with Shared Data Structures
Other

Discussion on handling multiple threads attempting to modify the same data structure (list/array/map) concurrently in Java, and strategies to address potential concurrency issues.

Q4
Shallow vs. Deep Copy in Java
Other

Explain the concepts of shallow and deep copy of objects in Java, providing illustrative examples for each.

Q5
SQL & Database Architecture Concepts
System Design

This section covered various aspects of SQL and database architecture, including:

  • Ways of establishing a connection to an SQL server.
  • Methods to identify and improve slow-running SQL queries.
  • Details about JDBC, including writing code examples.
  • Discussion on SQL database consistency.
  • Master-slave architecture and consistency models.
  • Concepts of data isolation.

Q6
Most Complex Project & High-Level Design
System Design

Describe your most complex project, including drawing its High-Level Design (HLD) and answering subsequent questions about the design.

Q7
Resolving Design Conflicts with Senior Engineers
Behavioral

Describe a situation where you had a conflict in design with a senior software development engineer and how you handled it.

Q8
Approach to System Design
System Design

Discuss the key considerations and principles you apply when designing a technical approach or solution.

Q9
Motivation for Joining Adobe and Career Change
Behavioral

Explain your motivations for wanting to join Adobe and the reasons behind seeking a career change.

Q10
System Design: BookMyShow
System Design

Detailed schema design for a 'BookMyShow' type application, covering the entire flow of finding and booking a movie ticket, along with the step-by-step table schemas required at each stage.

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!