Tip 1 : For company like codenation you need to be great in competitive programming as the online test is very difficult to crack
Tip 2 : Focus on leetcode during final months of preparation of interview
Tip 3 : Try to have at least 3 flagship projects in at least 2 different domains
Tip 1 : Keep the resume clean with good text to space ratio.
Tip 2 : Don't mention tech slacks that you have only a little knowledge about as it can backfire if the interviewer is good in that tech slack.
The test was from 10 pm to 11:30 pm at night, Since we had to give the test from home so it was not an uncomfortable timing for me. The test was conducted on hackerrank. Personally I find Hackerrank a better test platform than others like Amcat or Mettle.



1. 0-based indexing is used in the array.
2. We only care about the garden from 0 to 'N' only. So if i - 'ARR'['i'] < 0 or i + 'ARR'['i'] > 'N', you may ignore the exceeding area.
3. If some fountain covers the garden from position 'A' to position 'B', it means that the water from this fountain will spread to the whole line segment with endpoints 'A' and 'B'.
I applied Heap to solve this problem



A pair ('ARR[i]', 'ARR[j]') is said to be an inversion when:
1. 'ARR[i] > 'ARR[j]'
2. 'i' < 'j'
Where 'i' and 'j' denote the indices ranging from [0, 'N').
Binary search implementation
This interview was at 10 am in the morning and was taken by a SDE 3 of the company who had a very great background in Competitive Coding.
The interview started with me introducing myself. The interviewer then gave me a google doc which had 2 coding questions written . He asked me to go through the first question and explain the approach. After which he asked me to code the solution as well. Same procedure was followed for the second question. The most difficult part in using Google Doc to write code is that it doesn't has automatic indentation like the code editors, so I had to put much efforts in keeping my code readable.



1) A subarray is a part of the array which is contiguous (i.e. elements in the original array occupy consecutive positions) and inherently maintains the order of elements. For example, the subarrays of the array {1, 2, 3} are {1}, {1, 2}, {1, 2, 3}, {2}, {2, 3}, and {3}.
2) Bitwise OR operation takes two numbers and performs OR operation on every bit of those two numbers. For example, consider two numbers 2 and 3 their bitwise OR will be 3. Because the binary representation of 2 is 10 and the binary representation of 3 is 11. And OR of 10 and 11 will be 11 which evaluates to 3.
3) The array may contain duplicate elements.
I had read this article few days before the interview so I was aware of the approach that was efficient. But I started by explaining the naive O(N^3) solution.
The interviewer asked me to optimize the approach.
Then I gave him the approach I read in the article.
The interviewer asked me to code the solution which I did.



The given graph may have connected components.
Bipartite graph concept
He had my Resume open and he asked my to give him a walk through of the projects I had made. His main interest was on my web development project. Since the project is live he was able to use it and was quite impressed by my work. He also discussed about my tech stack and asked few questions related to Javascript to check my proficiency. The questions he asked was like to explain Asynchronous Programming in Javascript , Promises in Javascript and other.
The round was at 4 pm evening. This round was taken by one of the Vice President of the company, this made me anxious from the very beginning.
The interviewer was a knowledgeable man and had great knowledge in every field. He always demanded exact answers.
The round started with my resume walk through. Then came open ended questions followed by a system design question in which I failed miserably.
Tip 1:Do not mention skills that you don't have much idea about.
Tip 2:Try to be exact with your answers and don't beat around the bush.
Tip 3: Do not ignore system design if you are aiming at good product-based companies.

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