Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Best interview language: Java, Python, C++?
2 points by sosilkj on Jan 31, 2019 | hide | past | favorite | 3 comments
Like many, I want to get better at technical interviews to move my career forward. At this point, it seems to me I need to get good at one of the 'typical' languages: Java, Python, and C++. If I'm honest, I'm only barely proficient in these (my background is niche).

If I want to optimize my time and energy, which programming language do you recommend spending time mastering for the purpose of technical interviews?



While I have a personal favorite, I recognize this as one of those question which cannot have one right answer. The best language for the interview is the language in which the candidate is most proficient and expressive in. If you're making the candidate write a lot of algorithms, it helps to have a basic ds/algo library that's flexible and easy to use. C++ has STL, which is great but for people unfamiliar with its style (iterators) or syntactic peculiarities (templates, etc), things may not be very smooth. Java has a decent library too, and I guess so does Python but I'm less familiar.


Of those three? Python. Why? Lots of stuff built in or well-known.

But it's almost entirely irrelevant: reasonable companies will either (a) expect you to code in the language they're hiring for or something at least used within the company, or (b) not care (within reasonable bounds, e.g., don't do your interview in Piet).


I started out with C and C++ almost 20 years ago, then moved to Java, then C#, and finally "settled" with Python.

They all have their strengths, and some are more suitable than others, when trying to convey certain topics. Some might argue that if you're going into an interview with heavy focus on data structures and algorithms, memory intensive topics, parallel computing, etc. then C++ would be a good choice.

Or if it's a job for enterprise style dev., then maybe Java EE or C#/.NET would be good.

With that said, I think it's more important that you pick the language you know best. Interviews (in my experience) rarely revolve around the technicalities of a language, and more around general topics and conceptual things.

The more you know a language, the less you have to "fight" it, and can focus on the problems at hand.

Python is currently the language _I_ enjoy the most, especially for technical interviews. It's (IMO) extremely intuitive and productive, and frankly almost feels like writing pseudo-code, which I value in the interview-setting. I don't need to waste a lot of time on getting utility code to work, and can spend my energy on the real problems.

TL;DR Use the language you know best / most confident with.




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

Search: