Tip 1: Be prepared with the projects mentioned in the resume. Initially questions will be based on projects.
Tip 2: Be clear with the fundamentals, I interviewed for NodeJS so basics should be clear.
Tip 3: Prepare for coding, DSA, and logical reasoning questions.
Tip 1: Include good projects that put some weight on your skills
Tip 2: Be clear what you write in the resume
This test was for one hour and had 2 coding questions. Scoring was like other coding platforms based on number of test cases passed.



Given a string, write a program to find if it's palindrome or not. If yes, return the reversed string.
1. Read the input string.
2. Initialize an empty string variable to store the reversed string.
3. Initialize a variable to store a flag indicating whether the string is a palindrome or not.
4. Remove any whitespace characters from the input string.
5. Convert the input string to lowercase.
6. Initialize two pointers, one pointing to the first character of the input string and the other pointing to the last character.
7. Repeat the following steps until the two pointers meet or cross each other:
7.1 If the characters at the two pointers are equal, move the first pointer one step forward and the second pointer one step backward.
7.2 If the characters at the two pointers are not equal, set the flag to indicate that the string is not a palindrome and break the loop.
8. If the flag is set, print "The string is not a palindrome" and end the program.
9. If the flag is not set, print "The string is a palindrome" and reverse the input string:
9.1 Start from the last character of the input string and append each character to the reversed string variable.
10. Print the reversed string.
11. End the program.



Print diamond pattern n=9 :
*
***
*****
*******
*********
*******
*****
***
*
Steps to solve the questions is :
1. Set the number of rows for the pattern (total_rows) to 9.
2. Set the number of spaces for the first row (spaces) to total_rows - 1.
3. Set the number of asterisks for the first row (asterisks) to 1.
4. Set the flag variable (decreasing) to False.
5. Iterate for each row from 1 to total_rows:
5.1 Print spaces number of spaces.
5.2 Print asterisks number of asterisks.
5.3 If decreasing is False:
5.3.1 Increment asterisks by 2.
5.3.2 Decrement spaces by 1.
5.3.3 If asterisks is greater than or equal to total_rows, set decreasing to True.
5.4 If decreasing is True:
5.4.1 Decrement asterisks by 2.
5.4.2 Increment spaces by 1.
5.4.3 If asterisks is less than or equal to 1, set decreasing to False.
This round was to check the problem solving and debugging skills. Interviewer provided 1 coding question and 1 system design problem.



Find an subarray from the array having n integers such that the sum of subarray should be largest.
Step 1: Understand the Problem
Problem Statement: Given an array of n integers, find the contiguous subarray that has the largest sum.
Example: For the array [-2, 1, -3, 4, -1, 2, 1, -5, 4], the subarray [4, -1, 2, 1] has the largest sum of 6.
Step 2: Initial Thoughts and Brute Force Approach
Initial Approach: You might start by thinking about checking all possible subarrays, calculating their sums, and then keeping track of the maximum sum found.
Implementation: This could involve two nested loops: the outer loop to pick the start index of the subarray, and the inner loop to pick the end index and calculate the sum.
Performance: This brute-force solution has a time complexity of O(n^2). For larger arrays, this might not be efficient enough.
Step 3: Optimize the Solution with Kadane’s Algorithm
Optimization Requirement: The interviewer may ask you to optimize your solution to handle larger arrays more efficiently.
Kadane’s Algorithm: You might suggest using Kadane's Algorithm, which can solve this problem in O(n) time.
Design a Delivery management system like swiggy, zomato and how would you improve and optimise the delivery time.
Tip 1: First discuss the approach, don't directly jump into writing code.
Tip 2: Explain the code while writing the code.
This technical round consisted of System Design problem to check if I can design a new system from scratch considering all the performance factors and scalability.
Design a LLD and HLD for lift management system.
Once I designed the HLD, he asked me to design LLD and then talked about scalability and security perspective of an design.
Tip 1: Use tool for visualizing the design with blocks using Draw.io or Lucid.
Tip 2: Ask for hints if you stuck.

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