Tip 1: You must have confidence in Data Structures and their concepts. Pick one coding platform and try to practice at least 5-6 coding questions every day. I completed around 200+ questions on Leetcode and 200+ questions on CodeStudio.
Tip 2: Not attempting the question is enough. Try to analyze its time and space complexity. See if you can further optimize your solution. Sometimes, the interviewer asks only one question, increasing its difficulty by asking for its optimization.
Tip 3: Apart from coding questions, keep studying concepts of Operating Systems, databases, and object-oriented programming. You can always refer to CodeStudio articles for it. Also, Coding Ninja's Data Structures Algorithmsthms course in C++ helped me improve my OOPS concepts.
Tip 1: Do not mention any skills, projects or achievements which you haven't completed yourselves. If you are not able to answer the basic questions it leaves a bad impact.
Tip 2: You do need to have a lot of projects. Only one good project with proper knowledge is also acceptable. The same goes for the skills as well.
Tip 3: Try to write achievements that show your technical skills, communication skills, leadership quality or teamwork.
The online round consisted of 2 coding questions based on data structures and algorithms, 30 aptitude MCQs, 30 behavioral MCQs and 10 code snippets to debug. The coding questions were of medium level, aptitude MCQs were easy and the code snippets to debug was also of easy level. Each section was timed.
The given linked list is 1 -> 2 -> 3 -> 2-> 1-> NULL.
It is a palindrome linked list because the given linked list has the same order of elements when traversed forwards and backward.
Can you solve the problem in O(N) time complexity and O(1) space complexity iteratively?
1. I used stack to solve this problem.
2. Traverse the given list from head to tail and push every visited node to stack.
3. Traverse the list again. For every visited node, pop a node from stack and compare data of popped node with currently visited node.
4. If all nodes matched, then return true, else false.
The recursive formula is as follows:
int numberOfPaths(int m, int n)
{
if (m == 1 || n == 1)
return 1;
return numberOfPaths(m - 1, n) + numberOfPaths(m, n - 1);
}
However there are overlapping problems hence, we use DP to further optimize it.
The interview was early in the morning at 9 am. We turned on our videos and the interviewer asked for my introduction. She was helpful and provided me with hints whenever I needed. The interview was taken on Amazon chime and she also shared a link where I can write the code. It could be editable by both of us.
A cell in 2D matrix can be connected to 8 neighbors. So we can recursively call for 8 neighbors only. We keep track of the visited 1s so that they are not visited again.
I gave both solutions that is by using BFS and DFS.
I also had to code for both the methods.
This question was followed by questions related to graphs.
Tip 1 : Give your answer in a structured manner. Also, don't use those technical terms which you aren't clear with.
Tip 2 : Try to communicate clearly with the interviewer. Explain your solution clearly.
Tip 1 : Refer to OOPs modules in Coding Ninja's Data Structure and Algorithm course. It is great for OOPs concepts.
Tip 2 : Always give proper definitions along with examples.
Tip 3 : Make notes for topics like OOPs and DBMS while preparing.
Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which is a DDL command in SQL?