Live data from Hacker News

A Competitive Programmer's Handbook

cses.fi

61–70 of 171 posts

Re: A Competitive Programmer's Handbook

#61
post #56

Great timing considering Google Code Jam Round 1 starts tonight too

Link? / What is it? / Is it a good thing to test out for beginners?

It's certainly good for beginners who are looking to get into competitive programming. The problems can be somewhat challenging to someone not familiar with algorithms or computer science fundamentals I think. The code for solutions often isn't complex at all, but they typically involve applying some sort of algorithm to a made-up (often funny) real world problem. You're not building a to-do list app, you're writing algorithms.

It's sort of like a word problem in high school math. The math itself is often just addition and multiplication, the hard part is figuring out which math to use and which numbers to apply it to.

All of the old problems are on the CodeJam website though so you can go check them out and give them a go!

Re: A Competitive Programmer's Handbook

#62

Competitive programming = coding challenges, like Google Code Jam and HackerRank. Nothing to do with getting a better job or a better salary.

I had been practicing competitive programming questions for several months the last time I was out interviewing for a new job, they're very relevant for both of those insofar as they help you pass interviews...

Re: A Competitive Programmer's Handbook

#63

OK, who has published cheat codes for most programming interviews? Seriously, if you can program at all, and want to be a better programmer (like, really well paid one), this is the greatest single thing I ever saw for this purpose. Just run through all examples and understand how they work, and you are already in top 1%. Then, you can move to SICP and Project Euler in your spare time.

If you want to be a really well paid programmer, just learn java and assorted technologies and go work for a bank.

Re: A Competitive Programmer's Handbook

#64

There should be references to problems for each topic at online judges. Like this one: https://uva.onlinejudge.org/index.php?option=com_onlinejudge... Learning algorithms per se is only a small part of training. Much bigger part of training is learning how to recognize these algorithms in problems. After reading about some algorithm, I always solve a couple of related problems. P.S. Looks well-written. Bookmarked. I…

The book I recommend to people getting started is Competitive Programming 3 [1] by Steven and Felix Halim. It's pretty great if you have already a basic grasp of simple algorithms and a bit of C++. And as you say you need to practice, and the book incentivizes it. They accompany the book with precisely problems from UVa Online Judge, some of them solved and with code (in the book and in the site). [1] https://cpbook.…

Are the only difference between CP 1,2 and 3 that each is a newer version? It's hard to tell from the site.

Re: A Competitive Programmer's Handbook

#65
Really into how this is written. I don't understand much (any) c/c++ but I'm familiar with ruby and JavaScript so basic programming functions I'm aware of. This book still is making sense and hitting on issues that I've always been interested in calculating O(n) and others.

Re: A Competitive Programmer's Handbook

#66

Earlier quoted context omitted.

Agree with other comments about similarity to interviews. Norvig seems to think it's a negative signal though. https://www.youtube.com/watch?v=DdmyUZCl75s

I wouldn't say he considers it a negative signal considering how he said if he had to pick someone off the street he would prefer the one who is good at programming competitions. However if you are above the bar required to get hired by google, then a higher success rate in programming competitions correlates negatively with job performance.

I suspect this is because if someone is hired, they were necessarily good at solving Google's interview questions, which are very similar to (easy) competitive programming questions. The fact that someone is good at competitive programming doesn't give you much further information since you already tested for that ability during the interview, and in fact may indicate that this person is spending energy studying competitive programming that they could otherwise be spending accomplishing stuff at work.

Re: A Competitive Programmer's Handbook

#67

OK, who has published cheat codes for most programming interviews? Seriously, if you can program at all, and want to be a better programmer (like, really well paid one), this is the greatest single thing I ever saw for this purpose. Just run through all examples and understand how they work, and you are already in top 1%. Then, you can move to SICP and Project Euler in your spare time.

If you want to be a really well paid programmer, just learn java and assorted technologies and go work for a bank.

...and be outsourced to the fine Bangalorian sweatshops sooner or later. :) And it is not "really well paid". Really well paid is, like, 250k/year, and it is somewhat hard to extract it from just Java in an average bank.

Re: A Competitive Programmer's Handbook

#68

OK, who has published cheat codes for most programming interviews? Seriously, if you can program at all, and want to be a better programmer (like, really well paid one), this is the greatest single thing I ever saw for this purpose. Just run through all examples and understand how they work, and you are already in top 1%. Then, you can move to SICP and Project Euler in your spare time.

If you want to be a really well paid programmer, just learn java and assorted technologies and go work for a bank.

Working at a Big4 or prop shop pays even better (in most cases...)

Re: A Competitive Programmer's Handbook

#69
post #55

Earlier quoted context omitted.

Sadly the proliferation of sites like HackerRank (YC funded shamefully) means competitive programming is the first "filter" stage for interviews these days.

I'd love it if there were more opportunities from companies like HackerRank. It's other "filters" that I'm worried about; companies that filter out degree-less candidates, companies that filter out depressed candidates, companies that filter out transgender candidates, etc.

Do you have links to any articles about these practices?

Re: A Competitive Programmer's Handbook

#70
post #43

Competitive programming = coding challenges, like Google Code Jam and HackerRank. Nothing to do with getting a better job or a better salary.

But no one mentioned those things, and the book doesn't seem to either. Why make this book about the crusade against Google's interviewing zeitgeist? For what it's worth, I work with someone who used to be (is? I think he stopped competing) red on TopCoder. He's one of the best developers I've ever worked with. I don't know about the causation there, but his development process and skill is better than most of what I…

Doing + training for local & ACM programming competitions was easily as valuable for me as the CS classes I took in college. (It helped that our coach was the awesome Eugene Luks.)

There's a lot more than just the core problem solving bits involved in making software, but it's a v. useful skill.

Post reply on HN