Tip 1 : Be solid with the basics of Ds, Algo. Good to have end to end projects which are hosted on cloud.
Tip 2 : Its always good to be presentable and have good communications skills
Tip 3 : Be honest, clear in approach and always walkthrough your thought process to the interviewer
Tip 1 : Mention your projects and experience at the top. Be clear on what was done, a brief on how it was done, language /tech stack involved. If possible try to host and make it accessible. You never know if you can present it with just one click.
Tip 2 : Choose a balance between, white spaces and text, it should be well indented, no grammatical errors.
Tip 3 : It takes less than 2 min to scan a resume. Don't mention things which are irrelevant.
2 Separate online rounds were hosted on HackerRank . Online Aptitude Round consisted of 45 questions. Online Coding Round consisted of 3 questions.
If a string has 'x' repeated 5 times, replace this "xxxxx" with "x5".
The string is compressed only when the repeated character count is more than 1.
The consecutive count of every character in the input string is less than or equal to 9.
Input: NUM[] = {1,1,1,2,2,2}
Output: {1,2,1,2,1,2}
Note: {2,1,2,1,2,1} is also valid because there are no two adjacent which are the same.
The interview started of with questions about the online test, general questions on “tell me about yourself”
Then he asked me a relative velocity problem from physics section to warm things up.
It was Followed by discussion on topics taught in college, Questions on OS and DBMS.
N=3
We can climb one step at a time i.e. {(0, 1) ,(1, 2),(2,3)} or we can climb the first two-step and then one step i.e. {(0,2),(1, 3)} or we can climb first one step and then two step i.e. {(0,1), (1,3)}.
For the given binary tree
The level order traversal will be {1,2,3,4,5,6,7}.
The interviewer asked about my project – the idea of the project, the challenges I faced etc. She also asked some OS concepts like CPU scheduling, multi-queue scheduling, mutex, deadlocks.
If the input tree is as depicted in the picture:
The Left View of the tree will be: 2 35 2
Input:
Output: 2 35 2 10 2
Design a system where i can store incoming stream of chars in sorted manner and to answer a query whether a char is present or not.
Tip 1: Strong grasp on Heaps
Tip 2: Ask questions if you are not sure
Tip 3: Design a basic HLD with use case scenarios.
She then Asked me Various Mutex related puzzles like “IF you have adobe acrobat and you want to allow only 1 instance of it to run at a time, how will you achieve this wrt to OS involved.”
I answered that we can do it using mutex and discuss various problems related to mutex.
She then asked me “Can we make sure that dynamic Allocation of a class object can be done on stack only or can we stop user from dynamically allocating the class object.”
I answered that we can do it by overloading the new operator and declaring it as private.
In third interview round, the interviewer deep-dived in my projects.
She asked me about types of machine learning algorithms. Asked me to explain supervised and unsupervised algorithms. She asked what is my favourite subject and also discussed all of the projects I mentioned in my resume.
It was followed by system design problems on some Android App and Web App, how will you make it, technologies and data structures to be used.
She then asked me about various caches, advantages, and implementations. Then I was asked about the LRU cache and it was a very long discussion on the implementation part, Data structures part. I was asked to code LRU, Hash map and double-linked list.
The interview was very long, and the Interviewer was very frank. At the end, there are some general questions about why Adobe. etc. and we talked about the culture and opportunities one can get at Adobe.
Basic HR questions and discussion about college life etc.
Why do you want to join Adobe were asked?
Will you take a bribe for a million-dollar project?
What if you were the MD of Adobe for one day?
Rapid Fire Round
Surprisingly, 4 candidates for shortlisted for HR round and only I was called for the rapid fire round, after the HR round.
He asked me quick coding questions and function implementations. The questions were very easy and he wanted to have user oriented result so that user can call the functions according to his need.
Followed by simple OS theory questions.
He then asked me ” Explain In Detail what OS does when you compile a program with a line ‘fopen(….)'”
I answered it and explained in detail about user and kernel mode the OS operates and detail working.
Unfortunately, out of 4, 3 were selected and i was rejected .
Tip: Make sure to get OS concepts clear and maintain a good aggregate in college.
Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which operator is used for exponentiation in Python?