SDE 2 C++ Developer at Adobe Interview experience
Summary
I recently interviewed for an SDE-2 C++ Developer role at Adobe. The process involved four rounds: two technical, one hiring manager, and a director round. Despite a smooth and well-organized process, I was ultimately rejected.
Full Experience
Adobe SDE-2(C++) Interview Experience
Recently, my resume was shortlisted for the SDE-2 role at Adobe. The interview process was smooth and well-organized. Within 24 hours I received verdict of prev round and next rounds timings.
There were 4 rounds->
- First two technical
- Third HM(Techno Managerial Round)
- Director Round
Round 1 (Technical Interview 1 hour)
- Design a Logger class
- What is a virtual function( VPtr, Vtable )?
- What is unique_ptr?
- How do you delete a copy constructor?
There are two ways:
- By making the constructor private
- Using the delete keyword
- Function Overloading (with a code example)
- Operator Overloading (with a code example)
- Create static and dynamic objects
Note: You are expected to write code for all the above questions.
Round 2 (Technical Interview 1 hour)
This round covered both conceptual and coding questions:
C++ Basics: Questions on fundamental C++ concepts
- diamond problem and virtual functions
Operating System Concepts: Paging, Mutex, and Semaphore
Coding Problems:
- Mirror Tree
https://leetcode.com/problems/invert-binary-tree/description/ - Given an array, determine if it can be split into two separate arrays such that both have unique frequency distributions.
I gave brute better both approaches and he wants me to code for better one. - KMP Algorithm for String Matching
I gave brute and better both approaches and he was happy with my code as well.
I told about time and space complexities as well.
Hiring Manager (HM) Round 45 minutes
Rate yourself in C++
Justify your rating by giving relevant experience where you individually tackle any problem in your project and solved it too(P.S :This will make good impact).
Discussion on past experience and projects
She asked many questions from resume.
General questions about my approach to problem-solving
Advise: You must know everything you written in your resume.
Final Verdict: ❌ Rejected
Although I didn’t make it this time, the experience was insightful. I will focus on improving my C++ fundamentals and problem-solving skills for future opportunities🚀
Interview Questions (15)
Design a Logger class. You are expected to write code for this question.
Explain what a virtual function is, along with VPtr and Vtable.
Explain what unique_ptr is.
How do you delete a copy constructor? You are expected to write code for this question.
Explain Function Overloading with a code example. You are expected to write code for this question.
Explain Operator Overloading with a code example. You are expected to write code for this question.
Create static and dynamic objects. You are expected to write code for this question.
Questions on fundamental C++ concepts, specifically the diamond problem and virtual functions.
Questions on Operating System Concepts: Paging, Mutex, and Semaphore.
Given an array, determine if it can be split into two separate arrays such that both have unique frequency distributions.
Implement or explain the KMP Algorithm for String Matching.
Rate yourself in C++ and justify your rating by describing relevant individual problem-solving experiences from your projects.
Discussion on past experience and projects from my resume.
General questions about my approach to problem-solving.