Adobe Interview Experience | MTS-2 (1.5 years experienced)
Last Updated :
20 Aug, 2021
Round 1: It was an online test time duration for this round was 75min. We were given 22 questions that conations:
Round 2:
- k largest(or smallest) elements in an array
- Median in a stream of integers (running integers)
- Given a dictionary of words and two words A and B, find the minimum path required to convert A to B. Only one character can be changed at a time while going from A to B and every word thus formed must be a valid dictionary word.Example:
If dictionary = {
"cat", "rat", "hat", "sag", "bag", "bug", "dog", "hog", "hot", "dot",
"rot", "lot", "log", "cry", "pry", "fry", "fat", "fog", "pot", "fat"
}
A = "cat",
B = "dog",
then shortest path from A to B should be printed as:
cat->hat->hot->dot->dog
Round 3: This was a Technical round.
Round 4: This was a Technical round.
- Implement 1-D array dynamically
- Implement 2-D array dynamically using a single pointer
- Implement 2-D array dynamically using a double pointer
- Implement memcpy
- Implement strcmp
- Discussion on threads, locks, deadlocks, endianess
- Print 2-D array in spiral form
Round 5: This was a Technical round.
- Given N cubes(6 faces), each face of the cubes has an alphabet written on it. You have to find out whether a given paragraph can be formed with those cubes or not.
- How will you modify the solution for the above question when W can be considered as M, N can be considered as Z(mirror alphabets)
- Given a road of width w and length l. There are perfect circular potholes on the road. You are given the radius and center of each pothole. You need to find out whether you can cross the road or not.
Round 6: This was a Technical round(Managerial)
- Design an elevator
- Write an algorithm to assign an elevator to a user.
- Implement a binary search tree in a given 100 bytes of memory.
- How will you handle the internal fragmentation in the provided memory area for the solution to the above question? Internal fragmentation will occur after the deletion of nodes
- He gave me a case study of his team-related work and ask me to optimize it.
Round 7: This was a Technical round(Directors)
- It contains 2 programs:Program 1:
int *p;
p = (int *)malloc(sizeof(int));
printf("%x\n", p); // prints 0x12345
*p = 1;
wait(x);// Jump to program 2
printf("%d\n, *p);
Program 2:
int *p;
p = 0x12345; // assigns the address stored in p of program 1
*p = 2;
printf("%d\n, *p);
signal(x);
What is the output of printf() statements of both programs 1 and 2? Why program 2 will fail?
- Discussion on Paging, Logical Address, Physical address, thrashing, Physical address calculation, etc.
- Searching, Insertion and Deletion in 2-d row-wise and column-wise sorted array
After 10 days, Got the call from HR about Selection.
Share your thoughts in the comments
Please Login to comment...