Due to my bad performance on past job interviews, I decided to perform daily programming exercises out of my work.

Currently, I am concentrating on algorithms, design patterns, and unit testing in C++ language platform. But I'd like to have balance over more important areas. So if I may, I'd like to know how other programmers organize their programming exercises.

  • 3
    BTW, if you have a bad performance on job interviews, ask nicely on what went wrong and how to improve. Recruiters are generally willing to give feedback and constructive tips on how to improve. Sometimes it's not your coding skills that may be at fault.
    – Spoike
    Dec 19, 2011 at 9:34
  • Of course, I always do that but according to my small sample statistics, surprisingly, employers are reluctant to give feedback. Dec 19, 2011 at 16:34

3 Answers 3


I was there. I was also rejected at lots of interviews, and was guessing whats going wrong. For me one important thing going wrong was I was never good in C++, and I was saying that, yes I am good in C++. And falling on my face in interviews.
Then I came across this Modern C++ design, and I instantly know that I actually dont know anything in C++. I was thinking I know, but it opens a whole new universe. In your case, it may also be this basic part of programming of data structure and algorithms. But you never know.
Here are few programming sites which can help you. Choose suitable.
codechef.com - [Comes with answer]

These sites also help me, specifically to know that what I am missing in programming, and how to increase efficiency. For these you need to write the programs which completes some tasks on large inputs in less time. I have personally learn a lot by solving their assignments.

All the best!

  • Good point, there's a massive difference between "knowing C++" and "knowing modern and idiomatic C++". I only know the former. :-) Dec 20, 2011 at 4:47

Are you sure it's just the technical part that goes wrong for you in interviews? If yes, good going - solve problems, learn from approaches taken previously, ask on SO/P@SE wherever relevant. I suggest you check out TopCoder - there are some fantastic tutorials and great problems to solve. Also, if you are particularly keen at learning some subject, say, neural nets for example, try implementing one for solving your own problem - that way, you'll actually be working out ALL your "programming muscles" at once. Though I don't always go for TDD, in your case, it should actually help.

All programmers are learning something or the other constantly, so you're not alone! :)

Project Euler is a great place to hone your problem solving and mathematical skills.


You might also, in addition of good reading and exercises, consider contributing to some free software project. This requires both technical and social skills (for good interaction with a development community) and will learn you a big lot.

And once you did contribute to some free software project, it is probably very positive on a CV.

Not the answer you're looking for? Browse other questions tagged or ask your own question.