Tip 1 : When learning data structures, focus on the core concepts rather than the number of problems solved.
Tip 2 : When learning the in-built data structures of a language (Java in my case), research and learn how it works internally rather than just the pre-defined functions.
Tip 3 : Multithreading and design patterns are very underrated but crucial topics once you start building market-ready products, thus you must focus on it.
Tip 1 : Never mention any skill set you are not well versed with. Over mentioning and under performing can lead to a sure rejection. Be true to yourself and the interviewer.
Tip 2 : Try to limit your resume to one page if you are a 0-3 years experience candidate.
Tip 3 : Always explain your projects/experience in bullet points and not in big paragraphs.
It was a pre-screening telephonic round done by the recruiter where he had a set of MCQ based questions. The level of questions was easy, mostly based on data structures. There were roughly 20 MCQ questions and I answered nearly 18 of them.
It was a one hour long test with 10 MCQs related to core java and two coding questions. It happened during day time and wasn't a proctored exam.



If the given input string is "Welcome to Coding Ninjas", then you should return "Ninjas Coding to Welcome" as the reversed string has only a single space between two words and there is no leading or trailing space.
Step 1 : Iterate and mirror each word in the string.
Step 2 : Mirror the whole string



Step 1: Create a variable (sum), length (max_len), and a hash map (hm) to store the sum-index pair as a key-value pair.
Step 2: Traverse the input array and For every index, update the value of sum = sum + array[i].
Step 3: Check every index, if the current sum is present in the hash map or not.
Step 4: If present, update the value of max_len to a maximum difference of two indices (current index and index in the hash-map) and max_len.
Else, put the value (sum) in the hash map, with the index as a key-value pair.
Step 5: Print the maximum length (max_len)
It was a one hour long face to face interview on video call and the primary focus was on problem solving and Core Java. I was asked about the in built Java data structures, Multithreading and a bit about the project in my previous organization.



F(n) = F(n - 1) + F(n - 2),
Where, F(1) = 1, F(2) = 1
"Indexing is start from 1"
Input: 6
Output: 8
Explanation: The number is ‘6’ so we have to find the “6th” Fibonacci number.
So by using the given formula of the Fibonacci series, we get the series:
[ 1, 1, 2, 3, 5, 8, 13, 21]
So the “6th” element is “8” hence we get the output.
Step 1 : I first used the direct recursive implementation of mathematical recurrence relation f(n) = f(n-1) + f(n-2).
Step 2 : The interviewer asked me to optimize the solution.
Step 3 : Then, I used dynamic programming to avoid the repeated work done in method 1 by storing the Fibonacci numbers calculated so far.
In this round, 80% of the interview was based on my previous projects - both personal and professional. I didn't have major personal projects, so the main focus was on the project I worked on in my previous organization including the technical knowledge, domain and functionalities. There were some questions on agile development and scrum framework as well.
This was more of a behavioral round. The interviewer asked me questions related to team work, coordination in the team, managing a team, meeting deadlines, handling clients and more. He gave me a few situations and I had to answer accordingly.
This was the final round with the director of the company and was more of a managerial round wherein he asked me questions about my goals and aspirations and further tried to get my mindset. It was a very interactive round wherein I cleared some of my doubts as well like onsite opportunities, internal mobility and more.

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