5 Websites To Practice Data Structures and Algorithms Programming Problems
Tags: codenewbie, devops, java, computerscience
Published: 2020-10-06 14:31:44

> Practice makes you perfect

We have all come across this quote and know its meaning and importance. Whatever we do in our careers to be good at it, we need to keep practicing regularly.
![prac.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1601732126781/AkEwAU26c.jpeg)

*Acronym used across the blog: DSA - Data Structures and Algorithms*

I am a developer and love to solve DSA problems in Java.  I have been coding and solving problems in Java for around 1.5 years. During this duration, I have come across several websites to solve the issues and keep practicing.

### Why do you need to solve DSA Problems?

For one simple reason, understand the language and its concepts to the very best. Also, doing these problems gives you the very best chance of getting tech companies jobs as a developer. For a developer role, these companies ask DSA problems in both interviews and written rounds of their selection process.

In this blog, I will talk about 5 websites that are amongst the best to solve problems. These offer a wide range of issues and are recommended and used by people of all ages. Even a 30- 40-year-old looking to change a job/role or career refers to these sites.

To start with, it has to be the first website I ever visited to solve some problems.

### HACKERRANK 


![hackerrank.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1601993755448/I4lzhTs1W.jpeg)

**Hackerrank** has to be the first platform you should start coding. It has problems in every language you can think of with well-categorized sections. For example, you want to practice only java problems. They have a specialized corner for fundamental conceptual java problems only. Then you wish to solve more complex Data Structures problems; you can check out their problem-solving section.

They also have a certification program where you get certificates in particular domains like Java, Python, and React to solve a problem given by them in a time frame. So, its a good recognition for your work.

One other benefit of Hackerrank is that all the companies, while recruiting, take the first technical round on their platform, so practicing it will make you comfortable. 

Check out Hackerrank at :  [Hackerrank](https://www.hackerrank.com/dashboard) 

### GEEKSFORGEEKS

![gfg.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1601993718102/MVAxr3GuY.png)
One site which has helped me improve my problem-solving skills a lot and still helping is GeeksForGeeks, or as often techies call it GFG, is the best portal for Computer Science. 

>When you say Computer Science, I hear GeeksForGeeks.

They have everything, core subjects like DBMS, OS Networking to articles and concepts in almost every language. 
But the best section is their collection of data structures problems. Almost on every topic, they have more than 200 practice problems. The questions also have company tags meaning if a particular problem has come in a tech company exam. Also, they give a score on every question and have a ranking system that offers your rank, which sets a competitive environment and pushes you to do better. Apart from all these, the discussion section is perfect for some help.

Every college student in India who wishes to get a job in the tech industry or learn Computer Science Fundamentals refers to GFG. 
So why are you waiting? Check it now at:  [GeeksForGeeks](https://www.geeksforgeeks.org/) 

Okay, so above, we have seen two websites with DSA problems, SQL problems articles to study, and many more related to computer science. 

The following three websites I will talk about are solely for problem-solving in Data Structures and are industry recognized. Having a good rank in any of those websites or having solved numerous problems on these gives you a high chance of getting noticed by recruiters and helps you get your dream tech job.

### CODECHEF

![codechef.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1601993713376/pVYSPGp-b.jpeg)
The popularity of Codechef is growing every day amongst the coders of every age group. Unlike any other website where there are straight DSA problems like the middle element of an array, reverse a linked list, or any other such standard questions. CodeChef dishes out questions in the form of a problem statement or maybe a story. 

The problems here require a lot of thinking and trying before coming up to solutions.

The gig for which CodeChef is known for is their contests. These contests run every month. There is majorly  three contests every month:
- **Long Challenge**: Active for days and is the first challenge for the month.

- **Cook-Off**: This is a three-hour sprint, where you have to solve problems from a pool of few questions.

- **Lunchtime** : And the month ends with this challenge.
Performance in these challenges increases your rating points, which finally contributes to increasing your CodeChef stars. 

If you can reach four or a 5 star, in any case, you are amongst the best in the country.

Check out CodeChef at :  [CodeChef](https://www.codechef.com/) 

Next up on the list is,

### CODEFORCES

![forces.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1601993707974/gCLQsgcke.png)
This is one of the portals where the audience base is enormous in terms of numbers and skills. It's one of the most competitive portals for problem-solving. 

Like CodeChef, they also run contests frequently, which increase the Codeforces rating, which is their metric for your skills. Codeforces rating is an industry metric to gauge your coding skills. Sometimes you are slect3ed from initial screening only based on your CodeForces rating.

Finally last one is:

### LEETCODE

![leet.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1601993703239/_Y8ItlHe3.jpeg)
Again, one of the websites which are industry-recognized. You will see many software developers from **Google**, **Amazon**, and **Facebook** recommend you solve problems on LeetCode. 

They have fewer questions than others, i.e., about 1600 problems, but all are different in their terms. They test your skills and are of the same pattern which the recruiters follow. The questions are classified on a company basis, so it helps in preparing for a specific company.

Having seen a few selection processes, I can say that having solved even about 50% LeetCode problems will give you a lot of confidence to clear any coding test round for a job.

They also have few contests and competitions running. Still, most of their excellent features are a part of paid premium service. So the best use you can make of LeetCode is to try and solve those 1600 questions. 

Check out LeetCode at :  [LeetCode](https://leetcode.com/) 
 
With this, we come to the end of the blog. One last tip I would like to share is if you are new to coding, start with Hackerrank or GFG, then move your way to LeetCode and CodeChef.

If you found the blog helpful, you can support me at : 
https://www.buymeacoffee.com/ayushagarwal24

> From a developer to a developer!!

Lastly, Your support keeps me going, and I give my 100 percent to these blogs! If you've found value, consider fueling the blog with a coffee ☕️ donation at the below link. 

[**Buy me a COFFEE!**](https://www.buymeacoffee.com/ayushdev)

Thank you! 🙏