Tip 1 : Always be thorough with basic Data structures and algorithms like Linked list, stack, Queue, Tree, Graph. Algorithms like sorting, Searching, Tree traversals etc
Tip 2 : Try to dig deep around the past interview experiences pf other people on websites like glassdoor, GFG etc. Look for the type of questions they were asked and look for their insight as well so that you wouldn’t commit the same mistakes.
Tip 3 : Be confident though it is easier said than done. But treat every interview as two way street where interviewer is judging you and we as a candidate should also judge the interviewer because they can very well be your future teammates.
Tip 1 : I prefer describing my projects in depth
Tip 2 : Avoid putting any thing fake on the resume because your interviewer can be subject matter expert and wouldn’t buy the lie or will grill you for the same.
Coding questions were of medium dificulty but there are various OS MCQs revolving around memory, Cache, Process management etc
OS MCQs revolving around memory, Cache, Process management etc. So be thorough with these concepts.
1. The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).
2. Output the paths in the order in which they exist in the tree from left to right. Example: In the below example, path {1,3} is followed by {3,1} and so on.
For K = 4 and tree given below:
The possible paths are:
1 3
3 1
-1 4 1
4
-1 5
The sum of values of nodes of each of the above-mentioned paths gives a sum of 4.
I was well aware of this problem. Tree Traversal and save paths in a vector with each recursion.
1. INSERT(key, value): Inserts an integer value to the data structure against a string type key if not already present. If already present, it updates the value of the key with the new one. This function will not return anything.
2. DELETE(key): Removes the key from the data structure if present. It doesn't return anything.
3. SEARCH(key): It searches for the key in the data structure. In case it is present, return true. Otherwise, return false.
4. GET(key): It returns the integer value stored against the given key. If the key is not present, return -1.
5. GET_SIZE(): It returns an integer value denoting the size of the data structure.
6. IS_EMPTY(): It returns a boolean value, denoting whether the data structure is empty or not.
1. Key is always a string value.
2. Value can never be -1.
First(Denoted by integer value 1): Insertion to the Data Structure. It is done in a pair of (key, value).
Second(Denoted by integer value 2): Deletion of a key from the Data Structure.
Third(Denoted by integer value 3): Search a given key in the Data Structure.
Fourth(Denoted by integer value 4): Retrieve the value for a given key from the Data Structure.
Fifth(Denoted by integer value 5): Retrieve the size of the Data Structure.
Sixth(Denoted by integer value 6): Retrieve whether the Data Structure is empty or not.
I was thorough with pointers and buffers in C.
For hashmap. I used doubly linked list with Linux kernel list head
Virtual memory, Locking, mutex vs spinlocks, Interrupts, Softirqs etc
This was less on technical side and more on culture fit round
Design a OS scheduler.
Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which array operation has O(n) worst-case time complexity?