Tip 1 : Focus on the concept not on the number of questions
Tip 2 : Must do Development even a simple html, css, and javascript project can work.
Tip 3 : Must do the most asked and most liked questions.
Tip 4 : First, Solve the question by yourself, then jump for other's solutions
Tip 1 : Must know everything in the resume(don't put false things)
Tip 2 : Not more than 1 page
Tip 3 : Highlight your job-related achievement and experience.
Timming was around 2 PM
I was alone in the room
Interviewer was very supportive and humble



• The reference to the head of the linked list is not given.
• The node to be deleted is not a tail node.
• The value of each node in the Linked List is unique.
• It is guaranteed that the node to be deleted is present in the linked list.

Copy data of the next node to the current node
It's clear that The task question is wrong. You cannot delete the node.
Basically, instead of ONLY deleting the provided node we are not just doing it but CORRUPT the next node. It's a bad question wording (without clarification about options) and a bad solution. In my opinion, the correct answer for the interview is: "You CANNOT do this by having the node reference only. BUT we can make very similar operation by corrupting the next node. Although it's possible I don't recommend this solution for production applications.



Consider 0-based indexing.
Consider the array 1, 2, 3, 4, 5, 6
We can Jump from index 0 to index 1
Then we jump from index 1 to index 2
Then finally make a jump of 3 to reach index N-1
There is also another path where
We can Jump from index 0 to index 1
Then we jump from index 1 to index 3
Then finally make a jump of 2 to reach index N-1
So multiple paths may exist but we need to return the minimum number of jumps in a path to end which here is 3.
1)Initialize a variable reach to 0, which represents the farthest index that can be reached so far.
2)Loop through the array nums and for each index i, do the following:
a. If i is greater than reach or reach is greater than or equal to nums.length - 1, break the loop as it means
reaching the last index is not possible.
b. Update the value of reach as the maximum of reach and i + nums[i].
3)Return reach >= nums.length - 1, which means that the last index can be reached or not.
Timing was around 10AM.
I was alone in the room.
Interviewer was very good and supportive.



If the given adjacency matrix is:
[0 1 0]
[1 0 1]
[0 1 0] and M = 3.
The given adjacency matrix tells us that node 1 is connected to node 2 and node 2 is connected to node 3.
So if we color vertex 1 with ‘red’, vertex 2 with ‘blue’, and vertex 3 with ‘red’, it is possible to color the given graph with two colors which is less than or equal to M.
1)Consider three pointers low = 0, mid = 0, high = nums.size() - 1
2)The algorithm ensures that at any point, every element before low is 0, every element after high is 2, every element in between are either 0, 1 or 2 i.e. unprocessed.
3)We'll use mid pointer to traverse and check the array elements i.e. while(mid <= high). Three cases are possible:
a) nums[mid] == 0 In this case swap(nums[low], nums[mid]) and increment both low and mid pointer i.e.
low++ mid++
b) nums[mid] == 1 In this case mid++
c) nums[mid] == 2 In this case swap(nums[mid], nums[high]) and decrement high pointer i.e. high--



Each product can cross the integer limits, so we should take modulo of the operation.
Take MOD = 10^9 + 7 to always stay in the limits.
Can you try solving the problem in O(1) space?
1) We are required to solve this problem without using the division operator. We can do this by calculating two arrays pre and suf where pre[i] contains product of all nums[j] such that j <= i, and suf[i] contains product of all nums[j] such that j >= i.
2) Finally, the resulting array ans can be calculated as ans[i] = pre[i-1] * suf[i+1] which is product of all elements with index less than i multiplied by product of all elements with index greater than i. This is essentially equal to product of array except self at each index.
Timing was around 10AM.
I was alone in the room.
Interviewer was very humble and generous.
Tell me about yourself?
Was there any point in your career where you made any mistake?
Why do you want to work for our company?
Why should we hire you?
What are your hobbies?
Tip 1 : Do not ask the interviewer what he wants to know about you. You may be asking genuinely, but that just
sounds rude.
Tip 2 : Do not speak what is already there in the resume. The interviewer wants to know what they have not
seen on the resume. And do not speak about anything personal.
Tip 3 : Introduce yourself by including certain adjectives like problem-solving, innovation and tech-savvy,
creative, quick learner, etc. that best describe you in your professional life to boost your chances.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?