Tip 1 : Have a good command over DSA.
Tip 2 : Revise your projects before the interview so you can explain them from any angle.
Tip 1 : Prepare ATS friendly resume.
Tip 2 : Mention your projects and achievements by highlighting important topics.
This round was a problem-solving round. After a quick introduction, I was given two coding questions and some javascript questions.



For the given arr[ ] = { -1, 3, 5, 0, -2, -5 }
arr[ ] = {3, -1, 5, -2, 0, -5 } is valid rearrangement.
arr[ ] = {3, -1, 0, -2, 5, -5 } is invalid rearrangement; order of 0 and 5 is changed.
arr[ ] = {3, -1, 5, 0, -2, -5 } is invalid rearrangement; positive and negative elements are not alternative.
Make changes in the same array and no returning or printing is needed.
Consider zero(0) as a positive element for this question.
It is guaranteed that an answer always exists.
I started with the brute force solution. It required O(N) time and O(N) space.
It's can be optimised using a two-pointer approach. It will require O(N) time and O(1) space.



I used the bit manipulation technique to give the optimised solution for this problem.
After the coding question, he asked me about some javascript concepts like hoisting, event loop, callback hell, and tricky output question related to promises. I explained each of them in detail.
This round of interviews was based on my development skills.
After a quick introduction, he asked me these questions.
1. Write a script in the Chrome DevTools to open the very first site after a keyword search.
2. Questions about my most recent projects. About tech stack, problems faced and how I solved them.
3. Javascript output questions.
Some behavioural questions and job-specific questions. Some of them are.
1. Why do you want to join TestBook
2. How do you find this role a perfect fit for you.
3. About relocation.
Be confident and clear in your answers.

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