# Adobe Backend Developer Interview Questions

In this post, we have put together the AEM (Adobe Experience Manager) Interview Questions and answers for beginner, intermediate and experienced candidates. These important questions are categorized for quick browsing before the interview or to act as a helping guide on different topics in AEM for interviewers. These questions are most helpful when interviewing for roles such as AEM developer and AEM admin.

### Given an array of integers and a value, find out if there are three integers in the array whose sum will equal the given value.

Â Â for (int i = start_index, j = A.size() – 1; i < j;) {

Â Â Â Â int sum = A[i] + A[j];

Â Â Â Â if (sum == val) {

Â Â Â Â Â Â return true;

Â Â Â Â if (sum < val) {

Â Â Â Â Â Â ++i;

Â Â Â Â } else {

Â Â Â Â Â Â –j;

Â Â std::sort(arr.begin(), arr.end());

Â Â for (int i = 0; i < arr.size() - 2; ++i) {

Â Â Â Â int remaining_sum = required_sum – arr[i];

Â Â Â Â if (find_sum_of_two(arr, remaining_sum, i + 1)) {

Â Â Â Â Â Â return true;

Â Â Â Â vector arr = {-25, -10, -7, -3, 2, 4, 8, 10};Â

Â Â Â Â cout<<"-8: " <

Â Â Â Â cout<<"-25: "<

Â Â Â Â cout<<"0: " <

Â Â Â Â cout<<"-42: " <

Â Â Â Â cout<<"22: " <

Â Â Â Â cout<<"-7: " <

Â Â Â Â cout<<"-3: " <

Â Â Â Â cout<<"2: " <

Â Â Â Â cout<<"4: " <

Â Â Â Â cout<<"8: " <

Â Â Â Â cout<<"7: " <

Â Â Â Â cout<<"1: " <

Â Â Â Â return 0;

Here we have to sort the array first. After that, we set one element âe,â and from the remaining array, we try to find a pair (a, b) such that it fulfills the criteria: required_sum – e = a + b.

The search begins with the first element e in the array (at index i = 0). The above code will find such a pair in linear time. The time we find the required pair, we find the solution: a, b, and e, after which the iteration stops.

However, if the pair is not found, the above steps will repeat for all elements from index i = 1 to n – 3 until the conditions are met.

### If you’re given a Binary Tree, find out if it’s a Binary Search Tree. In a binary search tree, each node’s major value is smaller than the key value of all nodes in the right subtree, and greater than the major values of all nodes in the left subtree, i.e., L < N < R.

Â Â Â Â BinaryTreeNode* root,

Â Â Â Â int min_value,

Â Â Â Â int max_value) {

Â Â if (root == nullptr) {

Â Â Â Â return true;

Â Â if (root->data < min_value ||Â

Â Â Â Â Â Â root->data > max_value) {

Â Â Â Â return false;

Â Â Â Â is_bst_rec(root->left, min_value, root->data) &&

Â Â Â Â Â Â is_bst_rec(root->right, root->data, max_value);

Â Â Â Â Â Â root,

Â Â Â Â Â Â numeric_limits::min(),Â

Â Â Â Â Â Â numeric_limits::max());

Â Â BinaryTreeNode* root = create_random_BST(15);

Â Â BinaryTreeNode* root2 = create_BinaryTree(20);

int main(int argc, char* argv[]) {

This code checks on each node where the minimum value of its right subtree is greater than the nodeâs data, and the maximum value of its left subtree is less than the nodeâs data.Â

Adobe work life balance is just awesome. With flexible timings it gets easy to spend time with your family/friends. No one asks you about your office timings and leaves. I know a few guys who take couple of weeks off twice or thrice every year without anyones concerns. If you have achieved/learned a few things and want to take it slow for some time and focus on your family then its the best place for you. Please keep mid level manager in check. Please have a look at the attrition rate across clouds and teams, also please take actions to all these suggestions you collect after all hands meetings and surveys.