Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What programming language to choose for coding interviews?
16 points by prabhupant 3 months ago | hide | past | web | favorite | 20 comments
I'm preparing for coding interviews. So is there any particular language that interviewers prefer? What about if I go with C or python?

I prefer a high-level language like Python for coding interviews so that I can use their string operations, list comprehensions, etc. and not have to manually "implement" the boring parts of the questions.

As an interviewer I would really rather not sit and watch someone write C on a whiteboard. Use whatever language you feel like you can skip to the interesting parts of algorithms. Even pseudo code could work.

I've been both an interviewee and an interviewer and honestly, in both roles, I prefer pseudo code.

As an interviewer, it gives me a chance to step back from noticing syntax errors and lets me focus on how the candidate thinks, reasons and explains her way through problems.

As an interviewee, I prefer pseudo code because I don't have to worry about syntax or minute details of a language. Instead, I can just focus on communicating how I'm working through the problem.

The one you're most comfortable with.

Personally I choose Python given the option: easy to write, slices and comprehensions generally make algo question answers very terse.

The obvious answer is to find out what language you'll be programming in if you get the job and use that. Otherwise just pick whatever you are most comfortable with and takes the least amount of mental effort for you to do the basics.

Be careful with that. Best to just ask that particular company, but for us, I'd rather you pick your most proficient (mainstream) language. If you pick our main language and are fumbling a lot, that looks worse than you fluently gliding through your preferred language.

Exactly. The job will be advised requiring proficiency in one or more languages, so that defines which ones you should use. From those, do a couple of practice interview questions - it will rapidly become clear which language you prefer for these.

C is bad, a real bad choice. I was given a few options by a Google recruiter, and I felt more up to date with C than Java, so I went with that. He seemed to approve. Boy, it was a bad choice.

One interviewer laughed and asked me if I wanted to switch languages, right off the bat. In retrospect, that was gracious. He said I was probably not going to finish in time, but.. if I really wanted to.. I could give it a try. I kinda froze.

The last interview was more of looking at sample code / code review, and get this: it wasn't even in C, it was C++. Not what I expected! Turns out I should've been studying that, too. They are certainly similar, but it's just another curve ball.

Python is a much, much better choice, I now realize. I just wish they allowed JavaScript! My mistake.

I think you need to go with one you are comfortable with.

That said - there will undoubtedly be bias depending on the company. For example I had a phone screen for a company that used Ruby and Go and I suggested C# and javascript because I don't know any Ruby or Go. I didn't get any further and this may have been a contributing factor.

Whatever is easier for you but (if you can) target what they write in

For actually solving issues live, Python makes the most sense.

But be prepared to read a lot of solutions to problems written with for loops, do-while loops, and other constructs that are not pythonic and don't translate as well to pythonic code.

In a way it's good, because it forces you to re-implement the algorithms in a way that makes sense to you, thereby increasing your chances of actually learning and retaining the information.

High level dynamic language with a good standard library (Python, Ruby). I've seen applicants waste half their interview time writing helper functions in C or write a bunch of classes in Java before getting started with the actual problem.

That said, it helps to use a language in the company's stack.

We used to have a question that happened to require parsing JSON. The majority of candidates using Java struggled hard and wasted so much time on this part. We ended up changing the question to have newline delimited input instead of JSON for those who wanted to use Java.

Pseudo language would do for me and i expect candidate be more explicit her/his thoughts.

C is OK. We'd love to see assembly language. Ideally you could show both, demonstrating that you can transform one into the other and have a good feel for what a compiler would do.

In that case why not just write the code in binary. If you have all the opcodes memorized that is pretty impressive.

We have plenty of people who could do that for typical x86 opcodes. It really does look good if somebody can do this, but we wouldn't expect it. Most of us need the processor manual. Sticking to the mnemonics and C is fine.

BTW, totally serious: I've had to write the code in binary several times. I know a few opcode representations.

The iOS community is a good indicator that a python style language is preferred, people interview in Swift even for objective c roles.

C standard library is not as good as python.

So many Python zealots... Whatever you do stop this non-sense Python dictatorship

Python please.

Applications are open for YC Summer 2019

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