Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
This was a proctured online coding round where we had 2 questions to solve under 90 minutes . The questions were a bit lengthy but the implementation part was quite easy .
1) Sort all the words in descending order of their lengths.
2) Initialise res with first word in the vector + "#"
3) Now we just need to find, if other words in the vector + # are substring of res or not. if not, append that word to res.
1) The idea is to sort the input , then we move forward from the beginning of the array till the end.
2) As soon as we found a condition that the current element is less than or equal to the previous elements then we need to update the current array element by adding 1 to its prev element .
3) At the same time we need to keep track of result by result += A[i-1]- A[i]+1;
This Round was DS/Algo + Core round and it started with formal introduction, followed by 3 problems. We first dicussed the
approach the time complexity and proper code covering all cases for the 2 coding problems . The last question was related to OS and was a bit theoretical .
Instead of counting all unique characters and struggling with all possible substrings,
we can count for every char in S, how many ways to be found as a unique char.
We count and sum, and it will be out answer.
Let, index record last two occurrence index for every upper characters.
1) Initialise all values in index to -1.
2) Loop on string S, for every character c, upda...
Approach 1 :
Every position in the string has a depth - some number of matching parentheses surrounding it. For example, the dot in (()(.())) has depth 2, because of these parentheses: (__(.__))
1) Our goal is to maintain the score at the current depth we are on.
2) When we see an opening bracket, we increase our depth, and our score at the new depth is 0.
Explain demand paging
Demand paging is a method that loads pages into memory on demand. This method is mostly used in virtual memory. In this, a page is only brought into memory when a location on that particular page is referenced during execution. The following steps are generally followed:
1) Attempt to access the page.
2) If the page is valid (in memory) then continue processing instructions as normal....
I was given 2 preety good questions of DSA in this round . One was related to Binary Trees and the other was a good DP problem in which I struggled a bit but with some hints I was able to solve this problem too . The last question was related to OOPS and was preety easy .
We will preorder to generate TreeNodes, push them to the stack and perform postorder to pop them out.
1) Iterate on pre array and construct node one by one.
2) Stack saves the current path of the tree.
3) node = new TreeNode(pre[i]), if not left child, add node to the left. otherwise add it to the right.
4) If we meet a same value in the pre and post, it means we have completed ...
This problem was actually a variation Unbounded Kanpsack Problem . I first gave the interviewer a naive recursive
approach and then later optimised it using memoisation .
Naive Recursive Approach :
1) Create a recursive function ( int minCost(cost, idx , w) ) which returns the optimal answer for an array which starts
with index idx and for a given weight w.
2) Now for...
Static and Dynamic Polymorphism
Static polymorphism (static binding) is a kind of polymorphism that occurs at compile time. An example of compile-time polymorphism is method overloading.
Runtime polymorphism or dynamic polymorphism (dynamic binding) is a type of polymorphism which is resolved during runtime. An example of runtime polymorphism is method overriding.
This is a cultural fitment testing round .HR was very frank and asked standard questions. Then we discussed about my role.
Why should we hire you ?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round,
like what are the projects currently the company is investing, which te...
Do you know anything about the company ?
General Tip : Before an interview for any company , have a breif insight about the company , what it does , when was
it founded and so on . All these info can be easily acquired from the Company Website itself .