Adobe Computer Scientist II Interview — Noida, India (2020)
Updated July 17, 2026
This account comes from a candidate with more than 10 years of experience who interviewed for a Computer Scientist II position at Adobe's Noida, India office. The process was conducted remotely over BlueJeans and consisted of two one-hour rounds before it ended.
The first round combined a probability question and a strategy puzzle with two design problems, one of them a memory-constrained tree partitioning exercise. The second round leaned heavily on C++ language internals, closing with two object-oriented design questions. The candidate did not receive a feedback call from HR after round two and, in their own write-up, took the silence as a rejection.
How the process went
Format
Two rounds, roughly one hour each, conducted remotely over BlueJeans.
Round 1
Opened with a probability question and a dice-game puzzle, then moved into two design problems: a snake game (high-level and low-level) and a memory-constrained tree partitioning exercise with working code.
Round 2
A run of C++ language and systems questions (move semantics, linking, copy-on-write), followed by two object-oriented design questions.
After round 2
No feedback call came from HR. The candidate's write-up treats the lack of follow-up as a rejection from that round.
Round 1 — Problem Solving & System Design
A probability/puzzle warm-up followed by two design problems, one of them a memory-constrained data structure exercise with working code expected. · 1 hour
- A probability question built around a biased dice.
- A puzzle based on the 'Lucky 7' dice game strategy.
- Design a snake game, covering both a high-level design and a low-level design with class diagrams.
- Given a BST where each node also tracks the number of children in its left subtree, and limited memory to hold the tree, design a way to split the tree across multiple pages (files/parts) given a maximum node count per page — implemented as a getPage method.
Round 2 — C++ Internals & OOP Design
A dense set of C++ language and systems questions, followed by two object-oriented design problems. · 1 hour
- Explain move semantics in C++.
- Difference between std::move and std::forward.
- Which member functions the compiler generates by default, and how that changed across C++11 and C++14.
- Purpose of the mutable keyword.
- Variadic templates in C++.
- Static linking versus dynamic linking.
- The 'copy-on-write' operating system concept.
- Design a class that can only ever be instantiated twice (similar to a singleton, but capped at two), with a follow-up on handling this correctly across threads.
- Design a meeting-room interval tracker with addInterval (add a room when a meeting is booked), deleteInterval (remove a room for a given time interval), getNumRoom() (total rooms in use, or -1 if there are no meetings), and an overload getNumRoom(start, end) for a specific interval.
Key takeaways
- Review C++ internals beyond day-to-day syntax — move semantics, move vs. forward, compiler-generated special member functions, and static vs. dynamic linking all came up as standalone questions rather than inside a bigger design prompt.
- Prepare for object-oriented design questions to carry a concurrency follow-up, such as making an instance-limited class thread-safe, even when the base question isn't framed as a systems question.
- Practice tree partitioning or pagination problems under a stated memory constraint with actual working code, not just a whiteboard sketch — this candidate was asked to implement a getPage method.
- Treat an opening probability or puzzle question as a warm-up rather than the main signal; later questions in this loop shifted heavily toward language depth and design.
- If no feedback call comes after a final round, it may be worth following up directly with the recruiter rather than assuming a specific outcome.
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 interviewSource
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