/ Learning to code

20 code challenges to put what you’re learning to the test

Code challenges help you build problem-solving skills, better understand the programming language you use, and get to know algorithms you may not be familiar with. If you want to improve your skills in programming, there's no better way than by writing code. In addition, coding challenges are convenient because they allow you to exercise your skills on a bite-sized problem and rarely require you to build a complete application, so you can usually complete them rather quickly.

Code challenges are also part of most coding interviews. Hiring managers may see the skills listed on your resume, and you may be able to talk like a programmer, but they also want to know that you can write code. By having you solve a coding challenge, they can assess your skills and be sure you can do the job. So working on coding challenges will also help you prepare for job interviews. We’ve collected 20 popular code challenges to get you started.

General programming challenges

While most code challenges are small in scope, that doesn’t mean they won’t involve a complex solution, so it is best to choose a challenge that stretches your skills but isn’t completely out of your league. Below, we’ve ranked a few coding challenges by their complexity so you can find the best challenge for your skill level.

Basic code challenges

These are good beginner challenges. They may not actually show up in a coding interview, but everyone has to start somewhere. These challenges are good for practicing your skills at using a programming language.

Intermediate code challenges

These code challenges are examples of what might be asked in interviews. There may be a big difference in difficulty compared to the basic challenges. If you get stuck on these, go back to the basics, practice more, and you will get there.

Hard code challenges

The point of these challenges is to challenge you, which will help you learn more. These will be similar to the type of work you'll do on the job. Most of these challenges will be hard but use Big O notation and expect a certain type of performance. If you are struggling with these, search StackOverflow or Google for direction. Many developers have run into these types of problems and will help you find the solution. Just don’t cheat and copy the answer. What good would that do?

Technology specific challenges

If you want to try some coding challenges that will test your skills on specific technologies, we have a few of those challenges.

Web development code challenges

  • Build a web page for your favorite band. A fun challenge can be creating a webpage for your favorite musical artist. Start by using only static HTML, and if you want to challenge yourself, even more, add CSS and JavaScript. Then, for extra credit, build it in a front-end framework like React and make it an interactive experience.
  • Recreate a magazine layout using Semantic HTML and CSS Flexbox. It is not always that easy to recreate a design. This code challenge will really test your skills with HTML and CSS by having you recreate a design from scratch on your own. Once you are a working web developer, you will be doing this daily.
  • Build a static portfolio site. Once you finish the first two web development challenges listed here, you will have demonstrated your skills in web development. So why not take it a step further and show off those skills to the world or a potential employer by building a portfolio site? With this challenge, you will do just that. You can use HTML and CSS and, if you want, JavaScript.

Financial data analysis code challenges

Maximize stock trading profit. This is reportedly a question asked in a Google interview and will test your skills in analyzing financial data. There are three levels to this challenge:

  • Basic: Given the daily values of a stock, write a program that will find how you can gain the most with a single buy-sell-trade.
  • Intermediate: Given the daily values of a stock over several days n, write a program that will find how you can gain the most with a combination of buy-sell trades.
  • Hard: Complete both the basic and intermediate algorithms in the most efficient way possible.


Code challenges are a great way to practice your coding skills or keep yourself from getting rusty. Building complete applications will also teach you a lot, but they can take time to finish. On the other hand, a coding challenge can be completed in an evening and will expose you to new algorithms and programming concepts. They are also part of many coding interviews, so completing a few can help you prepare for a job interview. For more details on the code challenges we have, check out Essential Information on Code Challenges.

Get more practice, more projects, and more guidance.

Stephan Miller

Stephan Miller

Stephan Miller has been a full-stack, mobile, and machine learning developer for two decades and has written code for companies both big and small, both startups and established businesses.

Read More
20 code challenges to put what you’re learning to the test
Share this