Are you looking for software engineer jobs? In bay area, average junior software engineer salary is $98,694! however, this high paying jobs are not easy to get, in fact, CS interviews are some of the most challenging in the tech industry. In addition to several regular interviews, most engineers go through some coding exercises in one or more technical interviews that can range from slightly painful to borderline torturous.

We have collected the top 7 sites contain many programming exercises that will be very useful for improving your coding skills. These programming exercises will also help you on hardcore whiteboard interviews that require you to know your data structures and algorithms. You can also watch some tutorials videos here

HackerRank

There are a ton of active competitions going on at a time meaning you can always test your chops against other programmers. This site is great if you need some extra exercises to hone in on pure algorithm practice. You have to be familiar with your language of choice as your language is just a tool you should be familiar with to solve a greater problem. This site is not for beginner, you need to have some basic knowledge of a programming language.

 

LeetCode

LeetCode is one of the largest Online Judges with more than 47 million submissions. For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby. The code editor is actually really good. Everything flows like a real professional code editor including quality of life improvements such as auto tab indentation, mass commenting, auto closing brackets, mass tab indentation, highlight bracketing, etc…

 

Programmr

Programmr offers not only programming instruction for beginners, but an opportunity for coding enthusiasts to interact with each other and showcase their skills. The website holds tons of awesome competitions and coding contests, each of which can be completed from within the browser. The site also makes it easy to share your newly acquired skills with other online communities. 

 

Project Euler

Project Euler attracts adults and students interested in mathematics and computer programming. You can track your progress through achievement levels based on the number of problems solved. A new level is reached for every 25 problems solved. Special awards exist for solving special combinations of problems.

 

CodeChef

CodeChef provides a platform for practice, competition and improvement for both students and professional software developer. It is a global programming community which host contests, trainings and events for programmers around the world. CodeChef is a noncommercial organization operated by Directi, an Indian software company based in Mumbai, India. 

 

CodinGame

This is a fun one, put coding into game. You can enjoy coding and playing game. For each exercise, you can pick from more than 20 programming languages, such as Python, Ruby, Java, Scala and more. The company targets people who already know the basics when it comes to programming and also has tough challenges for expert developers.

 

CodeCombat

CodeCombat focus on gamification which is suitable for younger coders. In each level, the player is assigned a set of tasks—usually to collect gems, defeat monsters, and move to the exit of a level. The player is gradually introduced to new commands like loops, conditionals, and variables. Diamonds collected in a level can be invested between levels for better armor, weapons, and programming commands (cleverly symbolized as spellbooks and magic devices) to master the increasingly tricky tasks in the higher levels.

 

CodeWars 

Codewars offers huge learning opportunities by looking at the solutions of others. It is also a good tool for tackling Katas already solved in a preferred programming language with a different, new programming language. It takes the concept of the ‘Code Kata’ and gamifies the exercises so programmers always have something to challenge themselves when they got a few minutes to spare.

 

Consolution:

If you are preparing for a job interview, I would highly recommend this book

Cracking the Coding Interview: 189 Programming Questions and Solutions

This book is full of great information and practice problems to get you ready for the types of questions you'll see in interviews, and it is also good to give you a bit more information and use cases for the types of stuff you'll learn in classes.

Good luck!