
Ask HN: Best interview language: Java, Python, C++? - sosilkj
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 &#x27;typical&#x27; languages: Java, Python, and C++. If I&#x27;m honest, I&#x27;m only barely proficient in these (my background is niche).<p>If I want to optimize my time and energy, which programming language do you recommend spending time mastering for the purpose of technical interviews?
======
amukher1
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.

------
davelnewton
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).

------
TrackerFF
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.

