- problem Solutions - There is no point in seeing the solution directly
- Problem Solving - firstly think then write logic. write comments, high-level Pseudocode.
- White Board Coding - a diagram, flowchart, more detailed sketches.
- learn
- How to speak everything you are thinking
- How to verify that your code works (and check that it handles unexpected inputs correctly)
- How to break a problem into parts
- How to relate a problem to other problems you've seen/solved
- How to test a problem against various data structures to see if it can be solved more cleverly
- How to scope a problem (define it, identify/question assumptions, determine inputs & outputs)
- How to write a brute force solution
- How to improve the efficiency of a solution
- How to externalize your thoughts
- How to comment code in a helpful and organized manner
- How to trace through code to verify that it works for sample inputs
- How to identify where in your code you made a mistake if you aren't getting the output you expect
- How to test individual parts separately
- How to identify patterns in problems by going through sample inputs and considering expected outputs.
- How Can you solve challenge in 4 lines of code or less?
- How many approaches possible?
- How to determine whether to use an iterative solution or a recursive solution
- Every problem can be solved with recursion and without recursion
- How Can I restate the problem in my own words?
- What are the inputs that go into the problem?
- What are the outputs that should come from the solution to the problem?
- Can the outputs be determined from the inputs? In other words, do I have enough information to solve the problem? (You may not be able to answer this question until you set about solving the problem. That's okay; it's still worth considering the question at this early stage.)
- How should I label the important pieces of data that are a part of the problem?
- problem statement
- input/output - General cases, base cases, error cases
- Algorithm
- code
- Time and space complexity
- bottlenecks
- unnecessary work
- duplicated work
-
SPOJ (Sphere Online Judge)
-
HackerEarth- online coding platform which organises coding contests, data science competitions and hackathons.
-
CodeChef- It hosts lots of programming competitions from time to time. It is initiated by Directi. It has got lots of long contests.
-
skrcode - codechef top-rated programmer There are other top coders you can check their profiles- Petr, Gennady Korotkevich
- https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation
- https://discuss.codechef.com/t/programming-contest-detailed-syllabus-along-with-example-problems/17791
- https://www.codechef.com/getting-started
- https://discuss.codechef.com/t/data-structures-and-algorithms/6599
- https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation
- https://snackdown.codechef.com/registration?
- https://www.codechef.com/START8A
- https://www.codechef.com/START22
- https://www.codechef.com/JAN222
- https://www.codechef.com/EXUN2021
- https://www.codechef.com/JAN221?
- https://www.codechef.com/CDRV2021
- https://www.codechef.com/COOK136
- https://www.codechef.com/START20
- https://www.codechef.com/START19
- https://www.codechef.com/COOK135
- https://www.codechef.com/NIUM2101
- https://www.codechef.com/COOK134?
- https://www.codechef.com/START15
- https://www.codechef.com/START21
- https://www.codechef.com/OCT21
-
ProjectEuler: use any programming language you want to practice. Project Euler tests are dedicated to exploring the marriage between mathematics and programming. Use programming tools to solve various mathematical difficulties.
-
topcoder- They also organize various coding competitions. You can win money from this site if you win the competitions. It is the best platform in terms of the coding contest.
-
codeforces- It is a good programming community. They also organise programming contests. The best resource for competitive programming. It is well known for 2-hour rounds. Russian website dedicated to competitive programming.
-
Hackerrank-A good resource for developers. Here you can practice coding and also you can prepare for interviews. Good for a beginner.
-
Techgig*- It is India's online tech community. here you can also practice and compete with fellow techies.
-
codility
- https://app.codility.com/candidate-faq
- https://app.codility.com/programmers/lessons/1-iterations/
- https://app.codility.com/demo/take-sample-test/
- https://app.codility.com/programmers/challenges/pairacoder_2022/
- https://app.codility.com/programmers/challenges/codealone_2021/
- https://app.codility.com/programmers/challenges/gamers_2021/
- https://app.codility.com/programmers/challenges/national_coding_week2022/
- https://app.codility.com/programmers/challenges/jurassic_code2022/
-
codingbat on this site, you can only practice java and python logic. it got lots of practice problems which you can solve to improve your skills.
-
khanAcademy It has content for all courses created by experts. You can learn anything for free on this site.
-
codecademy It is a tutorial site where you can learn technical skills from here.
-
venturesity:
-
codewars: Here you can master any programming language by solving challenging problems.
-
LiveEdu (EDU) * A very good site to practice the language that you want to be proficient in. on this site, you can watch projects to develop and extend your skill. it teaches you how to build real products.
-
codepen It is an online code editor for front end development. Here you can work on HTML, CSS, and JS. you can easily create code snippets here & showcase your skills. For more practice google the keyword Codepad
-
Atcoder: AtCoder is a programming contest site for anyone from beginners to experts. They hold weekly programming contests online.
-
codingninjas
-
CSAcademy: It is a next-generation educational platform. Discover computer science with interactive lessons and a seamless online code editor.
-
geeksforgeeks: A Computer Science portal for geeks. It contains well written, well thought and well-explained computer science and programming articles.
- https://www.geeksforgeeks.org/geeks-digest/ monthly newsletter-
- https://practice.geeksforgeeks.org/topic-tags/
- https://practice.geeksforgeeks.org/batch/30-days-of-code-1
- https://www.geeksforgeeks.org/interview-preparation-for-software-developer/
- https://practice.geeksforgeeks.org/courses/dsa-doubt-assistance
- https://www.geeksforgeeks.org/amazon-sde-1-interview-experience-wow-2020/
- https://www.geeksforgeeks.org/minimum-time-to-burn-a-tree-starting-from-a-leaf-node/
- https://practice.geeksforgeeks.org/contest/interview-series-google/problems/
- https://practice.geeksforgeeks.org/problems/shortest-path-between-cities/1#
- https://practice.geeksforgeeks.org/problems/963b3db8c7ac09d564c9d354c07af13c624ba94d/1
- https://practice.geeksforgeeks.org/problems/neemans-shoes/1/#
- https://practice.geeksforgeeks.org/contest/interview-series-phonepe/
- https://practice.geeksforgeeks.org/courses/google-test-series
- https://www.geeksforgeeks.org/7-best-tips-to-get-hired-at-faang-companies/
- https://practice.geeksforgeeks.org/contest/interview-series-59
- https://practice.geeksforgeeks.org/contest/interview-series-samsung-2
-
Leetcode*:
- https://leetcode.com/explore/interview/card/top-interview-questions-easy/
- https://leetcode.com/explore/learn/card/queue-stack/
- https://leetcode.com/explore/challenge/card/february-leetcoding-challenge-2021/584/week-1-february-1st-february-7th/3625/
- https://leetcode.com/explore/challenge/card/july-leetcoding-challenge-2021/608/week-1-july-1st-july-7th/3800/
- https://leetcode.com/discuss/general-discussion/1041234/Become-LeetCode
- https://github.com/seanprashad/leetcode-patterns
- https://seanprashad.com/leetcode-patterns/ shikhar
- https://leetcode.com/problem-list/top-amazon-questions/
- https://leetcode.com/contest/weekly-contest-307/
- https://leetcode.com/discuss/interview-experience/1403091/facebook-e5-remote-offer
- https://leetcode.com/contest/weekly-contest-190/
- https://leetcode.com/contest/weekly-contest-276/
- https://leetcode.com/explore/featured/card/heap/
- https://leetcode.com/explore/learn/card/graph/
- https://leetcode.com/explore/featured/card/dynamic-programming/
- https://leetcode.com/contest/weekly-contest-272/
-
interviewhelp.io
-
Gitconnected
-
cses:
-
CodeGym
-
Code4Startup
-
One Month
-
The Odin Project
-
Code Avengers
-
SoloLearn
-
JetBrains
- https://www.jetbrains.com/academy/?var=landing&coupon=hack_2021
- JetBrains software
-
Scaler You can check coding courses here.
- Scaler.com/events
-
skilled
-
video lectures-
-
https://github.com/jnikhilreddy/Competitive-programming-resources
-
https://github.com/lnishan/awesome-competitive-programming
-
https://gist.github.com/sharmaeklavya2/8aa2830f3a46a3f46ff249b4e1f07767 (syllabus)
-
https://medium.com/siliconwat/algorithms-in-javascript-b0bed68f4038
-
https://blog.usejournal.com/500-data-structures-and-algorithms-practice-problems-35afe8a1e222
-
https://www.lewagon.com/es - program
-
https://medium.com/the-aparoksha-blog/beginners-guide-to-competitive-programming-60300af1ee92
-
https://hired.com/blog/candidates/data-reveals-hottest-coding-languages/
-
https://codeshare.io/ it also helps you in taking interviews
-
Bucky Roberts
-
cs50
-
https://abhishekdeb48.medium.com/all-about-machine-coding-round-8e56c866fe87
-
interviewbit:
-
interviewcake:
-
geekyprep:
-
pramp:
-
careercup:
-
commonlounge:
-
codinginterview:
-
pathrise:
-
techiedelight:
-
hackernoon:
-
Interviewstreet: Great site for applying to big companies also.
-
technologywoman:
-
Logicmojo:
-
dare2compete:
-
codingcompetitions:
-
fossunited
-
Facebook Online Hackathon
-
Agorize: This site includes startup challenges and coding hackathons. You can participate in that and can earn a big amount of money if you win.
-
Google:
-
google foobar - google uses this challenge to hire people
-
Cptracker
-
clist
-
linkedin.com/interview-prep
-
https://www.deepmind.com/blog/competitive-programming-with-alphacode
-
https://www.scaler.com/topics/data-structures/data-structure-algorithm/
-
https://www.educative.io/blog/apple-coding-interview-questions
-
https://www.educative.io/blog/cracking-top-facebook-coding-interview-questions
-
https://www.educative.io/blog/microsoft-interview-coding-questions
-
https://www.educative.io/blog/hardest-coding-interview-questions
-
https://www.interviewbit.com/data-structure-interview-questions
-
https://sunilgudivada369.gitbook.io/notebook/miscellaneous/my-preparation-for-tech-giants
-
https://www.interviewbit.com/data-structure-mcq/?utm_source=midfunnel&utm_medium=email
-
https://portal.microideation.com/viewer/ideation-series/1_data-structures_linear-data-structures
-
Dan Abramov top coders
-
https://www.interviewbit.com/practice/?utm_source=midfunnel&utm_medium=email
-
https://www.credit-suisse.com/pwp/hr/en/codingchallenge/ 23oct
-
https://www.topcoder.com/challenges/71a7c542-2c1e-4483-a47f-07c70da51acb
-
https://app.codility.com/programmers/challenges/carol_of_the_code2022/
-
https://app.codility.com/programmers/challenges/pi_challenge_2023/
-
https://www.cs.usfca.edu/~galles/visualization/RedBlack.html
-
The advent of Code: The advent of Code challenges occurs every year in the days leading up to Christmas. They add lots of fun programming challenges that can help you develop your chops in a programming language you’re learning or one you want to master. The tests from 2015, 2016, and 2017, and 2018 are still available.
To Visualize Code https://visualgo.net/en https://www.cs.usfca.edu/~galles/visualization/Algorithms.html https://algorithm-visualizer.org/ https://linked-list-visualizer.vercel.app/app