DSA for interview - FAME-DEV/Java-Test GitHub Wiki
How to clear coding rounds.
Every Company First round is a coding round. So cracking this round is really important if you want to go to the next round. But we solve multiple problems but still we are not able to crack this round.
Here are a few steps you can follow which will help you to crack this interview round:
- Understand the requirements and write down important keywords
- Reframe the question to make sure you understand it
- Ask edge cases in the input
- Explain the brute force solution in a minute
- Explain the optimal solution and discuss its asymptotic complexity quickly
- Ask if the optimal solution is acceptable
- Write code in the language you're comfortable with
- Dry run the code line by line to find mistakes
- Rewrite code to cover edge or base cases if necessary
- Review the solution's asymptotic complexity
- Ask if tests or concurrency cases are necessary
- Ask for the interviewer's feedback
Think before you code, Learn patterns, not problems.
You don't have to solve every LeetCode question out there. To truly master data structures and algorithms (DSA), it's essential to recognize and understand patterns in problems. Here are some valuable resources to help you get started:
โค Coding problem patterns:
โค 80 most asked DSA questions:
โค Tips to solve any DSA question by understanding patterns:
โค How to guess the solution for DSA problems:
โค DSA is so easy when you follow these 6 steps:
โค Roadmap for getting started with Data Structures and Algorithms (DSA):
โค Never skip to solve these DSA QUESTIONS:
By focusing on patterns and understanding the underlying principles, you'll find DSA much more manageable and intuitive.
Let me know in the comments: How would you rate yourself in DSA?
Personally, Iโd rate myself an 8, but these steps have really helped me crack multiple interviews.
DSA a day can keep interview rejection away.
Yes practicing at least one question a day can help you crack any SDE interview.
I've compiled a collection of about 16 coding problem patterns that I think can be incredibly beneficial for anyone looking to grasp these powerful algorithmic techniques.
These patterns have the potential to significantly impact your performance in coding interviews.
- ๐๐ฎ๐๐ฌ๐ญ๐ซ๐ข๐ง๐ ๐๐ซ๐จ๐๐ฅ๐๐ฆ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/giASrwds
- ๐๐ฅ๐ข๐๐ข๐ง๐ ๐๐ข๐ง๐๐จ๐ฐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gjatQ5pK
- ๐๐ฐ๐จ ๐๐จ๐ข๐ง๐ญ๐๐ซ๐ฌ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gBfWgHYe
- ๐๐๐๐ค๐ญ๐ซ๐๐๐ค๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/g9csxVa4
- ๐๐ฒ๐ง๐๐ฆ๐ข๐ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ๐ฆ๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 1: https://lnkd.in/gbpRU46g
- ๐๐ฒ๐ง๐๐ฆ๐ข๐ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ๐ฆ๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 2: https://lnkd.in/gcnBActT
- ๐๐ข๐ง๐๐ซ๐ฒ ๐๐๐๐ซ๐๐ก ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gKEm_qUK
- ๐๐๐๐ค๐ญ๐ซ๐๐๐ค๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gVkQX5vA
- ๐๐ซ๐๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gKja_D5H
- ๐๐ซ๐๐ฉ๐ก ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gKE6w7Jb
- ๐๐จ๐ง๐จ๐ญ๐จ๐ง๐ข๐ ๐๐ญ๐๐๐ค ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gdYahWVN
- ๐๐ข๐ญ ๐๐๐ง๐ข๐ฉ๐ฎ๐ฅ๐๐ญ๐ข๐จ๐ง ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gmMMST5J
- ๐๐ญ๐ซ๐ข๐ง๐ ๐๐ฎ๐๐ฌ๐ญ๐ข๐จ๐ง ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gkNvEi8j
- ๐๐ ๐ + ๐๐ ๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 1: https://lnkd.in/gPgpsgaQ
- ๐๐ ๐ + ๐๐ ๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 2: https://lnkd.in/gd4ekfQe
- 14 ๐๐จ๐๐ข๐ง๐ ๐๐ง๐ญ๐๐ซ๐ฏ๐ข๐๐ฐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gMZJVkFf
Consistency is the key!!
Here are some of the best platforms to practice DSA problems daily.
- HackerRank
- LeetCode
- GeeksforGeeks
- takeUforward Youtube Channel
- Love Babbar Youtube Channel
- Piyush Agarwal Youtube Channel
- Code With Harry Youtube Channel - https://lnkd.in/d-Uq-tCn
Donโt Just LeetCode: Follow the Coding Patterns Insteadโก
I've compiled a collection of about 16 coding problem patterns that I think can be incredibly beneficial for anyone looking to grasp these powerful algorithmic techniques.
These patterns have the potential to significantly impact your performance in coding interviews.
-
๐๐ฎ๐๐ฌ๐ญ๐ซ๐ข๐ง๐ ๐๐ซ๐จ๐๐ฅ๐๐ฆ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/giASrwds
-
๐๐ฅ๐ข๐๐ข๐ง๐ ๐๐ข๐ง๐๐จ๐ฐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gjatQ5pK
-
๐๐ฐ๐จ ๐๐จ๐ข๐ง๐ญ๐๐ซ๐ฌ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gBfWgHYe
-
๐๐๐๐ค๐ญ๐ซ๐๐๐ค๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/g9csxVa4
-
๐๐ฒ๐ง๐๐ฆ๐ข๐ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ๐ฆ๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 1: https://lnkd.in/gbpRU46g
-
๐๐ฒ๐ง๐๐ฆ๐ข๐ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ๐ฆ๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 2: https://lnkd.in/gcnBActT
-
๐๐ข๐ง๐๐ซ๐ฒ ๐๐๐๐ซ๐๐ก ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gKEm_qUK
-
๐๐๐๐ค๐ญ๐ซ๐๐๐ค๐ข๐ง๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gVkQX5vA
-
๐๐ซ๐๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gKja_D5H
-
๐๐ซ๐๐ฉ๐ก ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gKE6w7Jb
-
๐๐จ๐ง๐จ๐ญ๐จ๐ง๐ข๐ ๐๐ญ๐๐๐ค ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gdYahWVN
-
๐๐ข๐ญ ๐๐๐ง๐ข๐ฉ๐ฎ๐ฅ๐๐ญ๐ข๐จ๐ง ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gmMMST5J
-
๐๐ญ๐ซ๐ข๐ง๐ ๐๐ฎ๐๐ฌ๐ญ๐ข๐จ๐ง ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gkNvEi8j
-
๐๐ ๐ + ๐๐ ๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 1: https://lnkd.in/gPgpsgaQ
-
๐๐ ๐ + ๐๐ ๐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ 2: https://lnkd.in/gd4ekfQe
-
14 ๐๐จ๐๐ข๐ง๐ ๐๐ง๐ญ๐๐ซ๐ฏ๐ข๐๐ฐ ๐๐๐ญ๐ญ๐๐ซ๐ง๐ฌ: https://lnkd.in/gMZJVkFf
The Problem: Preparing for coding interviews, especially for Software Development Engineer (SDE) roles at top companies, can be really hard and time-consuming. It often takes months of studying and practicing. But what if you don't have that much time?
The Solution: Many people use a platform called LeetCode to practice coding questions. However, with over 2000 questions available, it can be overwhelming to know where to start.
A helpful strategy is to focus on quality over quantity. Instead of trying to solve every single problem, concentrate on understanding the fundamental concepts by practicing a smaller set of high-quality questions. Choose problems that cover a wide range of topics and difficulty levels, and make sure you thoroughly understand each solution.
Additionally, join study groups or online communities where you can discuss problems, share insights, and learn from others. This collaborative approach can help you understand different problem-solving techniques and improve your skills more efficiently.
Finally, remember the importance of regular practice and consistency. Even if you can only spend a little time each day on coding practice, staying consistent will help reinforce your learning and build momentum over time.
DSA was extremely HARD
Until I found these 14 Problem Solving Patternsโก
-
Two Pointer Problems: https://lnkd.in/dK_fB-Eg
-
Backtracking Pattern: https://lnkd.in/dDGsdfps
-
Dynamic Programming Patterns: https://lnkd.in/dX7a4cau
-
Dynamic Programming Patterns 2: https://lnkd.in/db2tAp27
-
Powerful Ultimate Binary Search Template: https://lnkd.in/dxk7kdeb
-
A general approach to backtracking questions: https://lnkd.in/drsHxsZh
-
Binary Tree Traversal & Views: https://lnkd.in/dxGcKx65
-
Graph For Beginners [Problems | Pattern | Sample Solutions]: https://lnkd.in/dkpyiB3R
-
A comprehensive guide and template for monotonic stack based problems: https://lnkd.in/dtmFMzDJ
-
All Types of Patterns for Bits Manipulations and How to use it: https://lnkd.in/d-rfVNx2
-
Collections of Important String questions Pattern: https://lnkd.in/dCy_j-vw
-
Leetcode Pattern 1 | BFS + DFS == 25% of the problems: https://lnkd.in/dtaEpzrC
-
Template that can solve most 'substring' problems: https://lnkd.in/dEbVbBu4
-
C++ Maximum Sliding Window Cheat sheet Template: https://lnkd.in/dPiMzzpA