Adobe | C++ developer
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)
Given the following C++ code, determine if it compiles successfully and explain any errors:
Class A{
}
int main(){
A obj;
A *obj=new A();
}
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.
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.