Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

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.

share|improve this question

closed as off-topic by durron597, Snowman, gnat, GlenH7, Ixrec Apr 27 at 23:09

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, Snowman, gnat, GlenH7, Ixrec
If this question can be reworded to fit the rules in the help center, please edit the question.

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 '11 at 9:34
    
Of course, I always do that but according to my small sample statistics, surprisingly, employers are reluctant to give feedback. –  Tae-Sung Shin Dec 19 '11 at 16:34

3 Answers 3

up vote 5 down vote accepted

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.
tocoder.com
codechef.com - [Comes with answer]
spoj.pl

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!

share|improve this answer
    
Good point, there's a massive difference between "knowing C++" and "knowing modern and idiomatic C++". I only know the former. :-) –  Carson63000 Dec 20 '11 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.

share|improve this answer

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.

share|improve this answer

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