I applied online without a referral. Two technical rounds were scheduled for March 6th, on the same day.
In the first round, the interviewer began with introductions, then moved on to C++ conceptual questions regarding static variables, the working of the delete[] keyword, and smart pointers. This was followed by two LeetCode questions:
Finally, the interviewer asked an easy input/output C++ question.
In the second round, the format was similar. The interviewer started with C++ conceptual questions on the same topics. Towards the end, a DSA question was posed, similar to designing a Mostly Recently Used (MRU) Queue. The task was to provide the sum of the K most recently used elements.
I qualified for both rounds.
The hiring manager round was scheduled for March 10th. This round was quite unorthodox, as I was expecting Low-Level Design (LLD) questions. Instead, the interviewer began with a conceptual DSA question: Given a stream of integers, create a Binary Search Tree (BST) that supports CRUD operations. I had to verbally present my approach and its time complexity, and then mathematically prove the time complexity. The interviewer then added a condition to the same question: provide the number of nodes greater than and lesser than a given node in O(1) time. Next, a deep-dive C++ conceptual question regarding smart pointers was asked. The final question was an OS question: write code (pseudocode) for M producers and N consumers where the consumer consumes the middle element. I wasn't well-prepared for this question, which led to my rejection in this round.
In the first round, the interviewer started with an introduction, then moved to C++ conceptual questions regarding static variables, the working of the delete[] keyword, and smart pointers. This was followed by two LeetCode questions:
Finally, the interviewer asked an easy input/output C++ question.
In the second round, the format was similar. The interviewer began with C++ conceptual questions from the same topics. At the end, they asked one DSA question, similar to designing a Mostly Recently Used (MRU) Queue (where the task was to find the sum of K recently used elements).
I qualified for both rounds.
The hiring manager round was scheduled for March 10th. This round was quite unorthodox, as I was expecting LLD questions. Instead, the interviewer started with a conceptual DSA question: Given a stream of integers, create a BST that supports CRUD operations. I had to explain the approach verbally and state the time complexity. The interviewer also asked me to prove the time complexity mathematically. They then added a follow-up to the same question: provide the number of nodes greater than and lesser than a given node in O(1) time. Next, a C++ conceptual question regarding smart pointers at a very deep level was asked. The last question was an OS question, where I was asked to write pseudocode for M producers and N consumers where the consumer consumes the middle element. I wasn't well-prepared for this question, and consequently, I was rejected after this round.
The following metrics were computed from 1 interview experience for the Adobe Software Engineer II SDE2 role in Bengaluru, Karnataka.
Adobe's interview process for their Software Engineer II SDE2 roles in Bengaluru, Karnataka is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Adobe's Software Engineer II SDE2 interview process in Bengaluru, Karnataka.