Tip 1: Build Real-World Projects – Practical experience is crucial, working on projects helps in understanding concepts deeply.
Tip 2: Consistent DSA Practice – Regularly solve coding problems to improve problem-solving skills and logic-building.
Tip 1: Do not lie on resume.
Tip 2: Only mention skills which you really have.
The interview was scheduled during regular working hours, making it convenient to attend. The environment was professional yet friendly, which helped ease any initial nervousness. The process was well-structured, with each round conducted smoothly without unnecessary delays. The interviewer was approachable, asked clear and relevant questions, and gave me the opportunity to explain my thought process. They also provided feedback and asked follow-up questions to assess my problem-solving abilities. Overall, it was a positive experience with a focus on technical skills, logical reasoning, and practical knowledge.



Given an array A[] consisting of N integers, find the total number of sub-sequences whose sum is equal to a given target S.
Step 1: I first attempted a brute-force solution using recursion, where I generated all possible subsequences and checked their sums. However, this approach had an exponential time complexity (O(2^N)), which was inefficient for large values of N.
Step 2: The interviewer asked me to optimize the solution. I then used memoization (Top-Down DP) to store previously computed results and avoid redundant calculations, reducing the time complexity significantly.
Step 3: To further optimize, I implemented Bottom-Up Dynamic Programming (Subset Sum Problem approach) using a 2D DP table, which had a time complexity of O(N * S), making it feasible for larger inputs.
Step 4: The interviewer then asked if I could solve it with space optimization. I optimized it using a 1D DP array, reducing space complexity from O(N * S) to O(S). The interviewer was satisfied with this optimized approach.
Find the element which are active on user profile through user table.



Given a string s, check if it is a palindrome after removing at most one character
Step 1: First, I implemented a simple two-pointer approach to check if the string is a palindrome by comparing characters from both ends.
Step 2: The interviewer then asked what would happen if one character was allowed to be removed. I modified the approach to skip at most one mismatched character and check if the remaining substring forms a palindrome.
Step 3: I implemented a helper function to check if a given substring is a palindrome and used it when a mismatch was found. This reduced the problem to checking two cases:
Skipping the left mismatched character.
Skipping the right mismatched character.

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