Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Has anybody gotten into this kind of programming post-college? Are there communities outside of high school and college competitions for this sort of thing?


Yup. Check out TopCoder[1]. They have regular programming contests every week or so. The contests are conducted in two divisions(amateur - div 2) and (pro - div 1) and candidates are assigned different colors on the basis of their performance. Becoming a red coder in TopCoder is a pretty big thing in the competitive programming community. For example, Adam D Angelo who is the co-founder of Quora used to be Red on Topcoder[2]. Most of the red coders of TopCoder get hired by companies like Google, Facebook etc. It's pretty hard for one to fuck up a competitive programming interview once you became a Red level candidate in TopCoder. Mark Zuckerberg also tried TopCoder for a few months while in Harvard [3]. CodeForces[4] also has a pretty big online community. I think it has become more popular than TopCoder these days. They also have regular contests every few days. Facebook[5] and Google[6] also hosts competitive programming contests every year. If you managed to make it to the final round I think they would invite you for an interview.

1 https://www.topcoder.com/

2 https://www.topcoder.com/members/dangelo/

3 https://www.topcoder.com/members/mzuckerberg

4 http://codeforces.com

5 https://www.facebook.com/hackercup/

6 https://code.google.com/codejam/


As few comments already mentioned, post college, preparing for this type of thing immensely helps in job interviews. I find it very hard to clear job interviews and in 2017 alone, I appeared for ~25 job interviews. I'm very convinced that competitive programming skills gives you a leg up in job interviews.

Many people may already may know this, but Peter Norvig indicated that it correlates poorly with on the job performance (at least at Google) [1]. I wonder why, then, companies still continue to do this style of interviews.

[1] https://www.youtube.com/watch?v=DdmyUZCl75s


Well, I think you're kind of misrepresenting his point as "competitive programming doesn't improve your programming abilities".

It's not that competitive programming correlates poorly with job performance; it's that, given you've been hired by Google, being a competitive programmer correlates poorly with job performance.

Hypothetically, let's say there's 2 dimensions for a programmer's ability, competitive programming and job experience. Each of these is distributed independently from 0-10. You get hired by Google if competitive programming + job experience > 10. However, let's say that for their actual job performance, it's 0.5 x competitive programming + 1.5 x job experience.

You now have a case where competitive programming could correlate poorly with job performance at Google, despite having a positive correlation in general.


Berkson’s paradox


Do you think there is no correlation or the correlation is in fact positive? I wondered if they every AB test with lower standards for new hires.


Yeah, I think they are a terrific way to "keep your sword sharp". Jump start the neurons in the early AM or lazy summer day. As well as a way to learn new algorithms, new languages via problem solving.

Code Jam had a particularly juicy one in the recent Qualifying Round, that could easily be part of a modern shadow rendering game engine. Just to put it into perspective, only around 1000 out of 25000 entrants were able to solve the large data set in the allotted time!

Google Code Jam 2018 Qualifying Round Problem D: Cubic UFO

https://codejam.withgoogle.com/2018/challenges/0000000000000...

Incidentally, I don't really learn a lot from books or tutorials such as the one linked. But rather from the contest analyses and top winners code solutions.


Interesting problem.

I imagine the juicy part is that there is no clear cut formula for determining the rotation from the area needed.

Thus the task is to come up with a fast approximation algorithm to work backwards.

So brute force way:

  If area_needed > area_cast:
    rotate_cube(delta)
    delta=/2
  else similar rotation on -delta
Now, my 3d geometry is rusty, so maybe rotation on 2 axis is enough but still optimizing 2 arguments is not going to be easy. Maybe you can max one rotation then max 2nd one.


My first instinct says that if you just project the corners straight down (because of orthographic projection) onto the XZ plane, then the area of the shadow is just the area of the convex hull of those projected points.

I don’t know how to calculate that hull off the top of my head, but that’s the type of stuff you can look up during real world scenarios.


I participated while in high school and university and kept having fun on Codeforces[1]. It's a great community with very frequent tournaments and they always have detailed explanations of the expected solutions after the tournaments.

[1]: codeforces.com


Yes they are called job interviews these days :d


LOL


He's not joking though. I've experienced 3 rounds of stupid tricky questions followed by a 4 hour "take home" project at a UK startup in Deep Learning before they were willing to even send flight tickets to London, and the feedback I've received was so comical that I almost wrote a blog post about it (I still might). Another robotic startup in SV grills with 6-hour stupid codility tests as a first phase (i.e. waste 6 hours just as a handshake). Not sure if they think time grows on trees or people have no other things to do just to pretend a day has 48 hours. I took those to see what the interviews are these days to stay fit, and I must say it's like a panopticon of Google-wannabes for uncompetitive salaries and useless equity with bad liquidation preference.


The problem is, for every person like you, there's a person like me that actually likes those types of challenges and wouldn't actually mind being thrown into that type of gauntlet. My years of experience be damned.


Sure, that might be the case. But for those funny needs I have a "crazy algorithm course" from a top 10 university, ACM ICPC and Kaggle or other paid competitions I can attend. I am not going to go through such an interview doing simple silly things I did dozen times before at FB/Goog/etc., when I know I can use that time to work on something more interesting, or just for relaxing after a hard work/enjoying accomplishments. I would advise companies hiring to at least once read CV and click through GitHub code, and then just focus on the only important question - would they like to work with me as a person or not? That would save everyone time and lead to better results.

One self-driving car start-up in SV wanted me to solve a long-standing research problem (Deep Learning) as their week-long take home test. Thanks, but when I do, you can license my tech, I will gladly make it available to you for $.


There's irony. Asking for GitHub is 10x worse than algorithmic questions. I just went through the interview process at big companies, with all the resources out there it's easy to get good at these types of questions.

During my professional time I write software to make money. During my free time I write software to make money. As an aging software engineer algorithmic questions just screen for how much time you're willing to put into an interviewing. GitHub screens for how much of a sucker you are.


Yeah, could be. Though if you provide a hiring company with a GitHub profile demonstrating your dominance, and then you are expected to waste another 6 hours on trivial algorithmic questions you probably did 100 times in the past 10 years, you'd probably just pass on that "opportunity". Those algorithmic questions were anyway originally meant to find the "best of the best", now they are used for entry-level positions. It's like asking an accomplished lawyer about what happened in 1758 and what was the effect on common law.


I have a sneaking suspicion that I’ve built a feature that was presented as a coding exercise, possibly more than once.


Imagine you get that very feature during some interview and the feedback you get is that you failed :DDD Reminds me when I created a few jokes as a kid that got nation-wide popularity; it was difficult to explain I made them from the scratch and the only thing those attempts gave me was to be marked as an "asshole" and "liar" :D


What was the problem they asked you to solve? Out of curiosity


I don't want to ruin their test...


Oh I agree! Not sure who downvoted me but I’ve been dealing with the same shit for quite some time (https://news.ycombinator.com/item?id=16127697).

The shit is ridiculous.

EDIT: Please write that blog post!


Google Code Jam




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: