Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Which programming language should I learn for interviews?
3 points by fractalsea on Nov 29, 2014 | hide | past | favorite | 5 comments
A bit of background:

- Picked up Java for my undergraduate degree, but stopped using it regularly 3 1/2 years ago

- Picked up Python in my last year of undergraduate, and stopped using it roughly 2 1/2 years ago

- Used PHP for a year in industry, and stopped using that 1 1/2 years ago

Since then I did a largely theoretical masters degree at the University of Cambridge, and got very little actual coding done except for a few side projects in functional programming languages.

In the last few weeks I've been interviewing regularly, but have found my programming skills to be very rusty, making the coding interviews very challenging.

My thought now is that I really need to spend 1-2 months completely immersing myself in a more mainstream language. Most companies seem to focus on Python, with a bit of Java and node.

Initially I though I should learn Python, both because it's popular, and also easy to write in an interview setting. However I am now thinking Java would be a better choice; it's used all over the place, and represents more of an "archetypal" OO language, and it will probably make asking questions about design patterns, SOLID principals etc. more straightforward.

What do you think?




Despite nemoniac's post, I think you're on the right track with Java. There's plenty of Java work out there, and modern Java is a better than average language to work with.

Given that you've done some functional programming, you might also want to investigate Scala. There's probably not too much Scala work out there right now, but you might be able to evangelize it for some appropriate workloads once you're doing Java development. It completely interoperates with Java (it runs on the JVM also). I think it's one of the best designed modern languages.



I hear this very often, but the difference with me is that I don't feel very confident in any language. I have a mediocre experience in 4 or 5, but I don't know any one language in serious depth.

You might argue that this doesn't matter, and it's the overall programming mindset that counts. The problem is that the interviewers tend to want me to write the answers to algorithmic problems in a real programming languages, and because I am out of practice, I spend too much time thinking about how to write the language, rather than the problem itself.

I should also add that in the interviews I've had, it's been quite common that interviewers ask quite advanced-knowledge questions about a specific programming language. E.g. I was recently asked by a very well-respected company to explain what a Future was in Java, and I had no idea.

Those are the reasons I think it would be good to really explore a single language.


Ruby and python is expensive.


In what sense? Do you mean expensive to learn?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: