Tip 1 : Practice previously asked DSA Questions
Tip 2 : Do personal projects.
Tip 3 : Be consistent and patient.
Tip 1 : Have some projects/internships on resume.
Tip 2 : Do not put false things on resume and also use singe page template only.
It was in the evening.
It was held online.
DSA based questions were asked.
And was conducted by HackerRank.



For a (6 x 6) board, the numbers are written as follows:

You start from square 1 of the board (which is always in the last row and first column). On each square say 'X', you can throw a dice which can have six outcomes and you have total control over the outcome of dice throw and you want to find out the minimum number of throws required to reach the last cell.
Some of the squares contain Snakes and Ladders, and these are possibilities of a throw at square 'X':
You choose a destination square 'S' with number 'X+1', 'X+2', 'X+3', 'X+4', 'X+5', or 'X+6', provided this number is <= N*N.
If 'S' has a snake or ladder, you move to the destination of that snake or ladder. Otherwise, you move to S.
A board square on row 'i' and column 'j' has a "Snake or Ladder" if board[i][j] != -1. The destination of that snake or ladder is board[i][j].
You can only take a snake or ladder at most once per move: if the destination to a snake or ladder is the start of another snake or ladder, you do not continue moving - you have to ignore the snake or ladder present on that square.
For example, if the board is:
-1 1 -1
-1 -1 9
-1 4 -1
Let's say on the first move your destination square is 2 [at row 2, column 1], then you finish your first move at 4 [at row 1, column 2] because you do not continue moving to 9 [at row 0, column 0] by taking the ladder from 4.
A square can also have a Snake or Ladder which will end at the same cell.
For example, if the board is:
-1 3 -1
-1 5 -1
-1 -1 9
Here we can see Snake/Ladder on square 5 [at row 1, column 1] will end on the same square 5.
Understand the statement and try to visualize it as a Graph (Directed).
Now, ideally we need to find shortest path in the graph considering each path having equal weightage.
Use BFS for reaching your aim of determining shortest path.
The second one was held for a 1.5 hour and it was a technical round, based on your resume and JS+React+OS concepts.
There were 4 interviewers and everyone was friendly.
Had a detailed discussion regarding above mentioned concepts.
Semaphores.
Virtual Memory.
Deadlock and its implementation with real life examples.
Memory and there representation.
React and JavaScript related output questions.
Tip 1 : Read Galvin for OS (best source).
Tip 2 : Do projects for learning JavaScript.
It was 90 minutes long.
One interviewer was taking the interview and other was there as an observer.
They were friendly.



Input: 'arr' = [2, 2, 2, 2, 0, 0, 1, 0]
Output: Final 'arr' = [0, 0, 0, 1, 2, 2, 2, 2]
Explanation: The array is sorted in increasing order.
Idea behind this is to solve issue in single loop.
Use 3 pointers for interacting with the elements.
Use while loop on those pointers to traverse the array.
Perform asked operations on the array and finally return the array.



Conditions for valid parentheses:
1. All open brackets must be closed by the closing brackets.
2. Open brackets must be closed in the correct order.
()()()() is a valid parentheses.
)()()( is not a valid parentheses.
It is easy problem, you have to traverse the input.
Store the opening braces in a Data Structure (Stack will be best here).
When encountered with closing braces, pop one item from Stack and match.
Held online.
Was for an hour of duration.
Interviewer was friendly.



The position given will always be less than or equal to the length of the linked list.
Assume that the Indexing for the linked list starts from 0.
Input :
‘K’ = 3, ‘VAL’ = 4
list = [1, 2, 3]
Output: [1, 2, 3, 4]

The ‘VAL’ = 4, is inserted at end of the above doubly linked list.
This question is to test person's OOPS concepts.
You need to make classes/objects and implement data members/member functions.
You can use an array to handle this problem.
Store starting and ending index and use them in your member functions.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?