Adobe | C++ developer

adobe logo
adobe
C++ developer
June 17, 20212 reads

Summary

I underwent two interview rounds for a C++ developer role at Adobe, which involved LeetCode problems like Jump Game IV and Open the Lock, alongside specific C++ concepts such as class compilation and constructor types.

Full Experience

I recently interviewed for a C++ developer position at Adobe, which consisted of two distinct rounds.

In the first round, I was presented with a problem from LeetCode, specifically Jump Game IV. I attempted to solve this problem but was not able to fully complete it during the interview. Following that, I was given a small C++ question involving class instantiation and asked to identify if it would compile successfully. The code snippet was:

Class A{
}
int main(){
A obj;
A *obj=new A();
}

The second round featured another LeetCode problem, Open the Lock. Additionally, I was questioned about various C++ constructor types and tasked with implementing them for a custom String class.

Interview Questions (4)

Q1
Jump Game IV
Data Structures & AlgorithmsHard

You are given an array of integers arr, and you are initially at index 0. You want to reach the last index of the array. You can jump from index i to index j if:

  1. i + 1 = j
  2. i - 1 = j
  3. arr[i] == arr[j]
Return the minimum number of jumps to reach the last index.

Q2
C++ Class Compilation Error
Other

Given the following C++ code, determine if it compiles successfully and explain any errors:

Class A{
}
int main(){
A obj;
A *obj=new A();
}

Q3
Open the Lock
Data Structures & AlgorithmsMedium

You have a lock with 4 wheels, each wheel has 10 slots '0' - '9'. Each slot can be turned forward or backward. You are given a list of deadends which are combinations that will cause the lock to be permanently locked. You are also given a target combination. Starting from '0000', return the minimum number of turns to reach the target combination, or -1 if it's impossible.

Q4
C++ Constructor Types and String Class Implementation
Other

Explain different types of C++ constructors (e.g., default, parameterized, copy, move) and provide an implementation for a custom String class that correctly handles these constructors.

Preparation Tips

Based on my interview experience, future preparation should heavily focus on LeetCode problems, particularly those of medium to hard difficulty. A strong emphasis on graph traversal algorithms like Depth-First Search (DFS) and Breadth-First Search (BFS) is highly recommended, as these topics frequently appeared in the questions I faced.

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!