Tip 1: Practice DSA regularly.
Tip 2: Learn Java and Spring Boot fundamentals along with SQL.
Tip 3: Reach out to people on LinkedIn for referrals.
Tip 1: Include only job-relTip 1: Highlight relevant skills, experience, and achievements, emphasizing impact with measurable results wherever possible (e.g., improved system performance by 30%, reduced query time by 50%).
Tip 2: Make your resume ATS-friendly by using clear headings, standard fonts, and keywords from the job description.
2 coding questions were there, one from Stack and the other was an greedy algorithm based question. I attempted the test at late night.



1. Any left parenthesis '(' must have a corresponding right parenthesis ')'.
2. Any right parenthesis ')' must have a corresponding left parenthesis '('.
3. Left parenthesis '(' must go before the corresponding right parenthesis ')'.
4. '*' could be treated as a single right parenthesis ')' or a single left parenthesis '(' or an empty string.
5. An empty string is also valid.
Tip 1: Practice classic stack problems (Balanced Parentheses, Next Greater Element, Stock Span, etc.).
Tip 2: Learn common patterns like Monotonic Stack, Backtracking with Stack, Expression Evaluation.
Tip 3: Always do a step-by-step dry run to understand stack push-pop behaviour clearly.

Tip 1: Practice key greedy algorithm problems (like Activity Selection, Fractional Knapsack) to understand common patterns.
Tip 2: Identify if the problem has the greedy-choice property and optimal substructure before attempting a greedy solution.
Tip 3: Compare with dynamic programming approach when in doubt - greedy works only if local decisions are always globally optimal.
Two DSA questions were there, first one was based on Dynamic programming and the second was based on string matching algorithm.



For Amount = 70, the minimum number of coins required is 2 i.e an Rs. 50 coin and a Rs. 20 coin.
It is always possible to find the minimum number of coins for the given amount. So, the answer will always exist.
Tip 1: Start with recursion followed by memorization and finally tabulation for a solid understanding.
Tip 2: Learn common DP patterns (0/1 Knapsack, Longest Increasing Subsequence, Matrix Chain Multiplication, etc.).
Tip 3: Practice breaking problems into overlapping subproblems and state definitions to design your DP solution effectively.

Tip 1: Learn key algorithms like KMP, Rabin-Karp, Z Algorithm, and Naïve Approach.
Tip 2: Learn to identify string matching patterns (exact match, substring search, pattern with wildcards).
Tip 3: Practice problems involving substring search, pattern matching, and string pre-processing techniques.
In this round I was asked questions based on Java Basics, Spring Boot Fundamentals and SQL.
Tip 1: Focus on OOP principles and how they apply in real-world scenarios.
Tip 2: Implement small programs using Streams, exceptions, and custom logic to strengthen understanding.
Tip 3: Basics of garbage collection, memory management, and object lifecycle to handle conceptual questions confidently.
Tip 1: Understand core thread concepts i.e. Threads, synchronization, race conditions, and critical sections.
Tip 2: Implement Producer-Consumer, Reader-Writer, and other concurrency patterns to understand coordination.
Tip 3: Know thread control methods like wait() , notify(), notifyAll(), sleep() and yield().
Tip 1: Learn the purpose and correct usage of common Spring annotations and how they affect dependency injection and bean management.
Tip 2: Explore annotations like @Cacheable, @CacheEvict, and @CachePut and understand how caching improves application performance.
Tip 3: Build small Spring Boot projects to apply annotations and caching practically, reinforcing understanding for interviews.

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