# Programming language for interviews

The most popular languages in top large tech companies:

* Software Engineer / Backend Software Engineer / Full-Stack Software Engineer: **Python, C++, Java, or JavaScript**.
* Frontend Software Engineer: **JavaScript**
* iOS software engineer: **Swift, Objective-C**. Google will ask to choose a language like **Python, C++, Java, or JavaScript**.

Please note if you are applying to top tech startups **Ruby** works well too.

While some companies and interviewers will be ok interviewing you in a language outside of that list we highly recommend learning one of these languages because:

* You will be able to apply to a wide range of companies and roles.
* Knowledge of more than one programming language is a good sign while knowing only one language or only older languages is a bad sign.

\
In addition to the most common language functions we recommend learning about:

* An "idiomatic" way - leveraging useful language idioms that other languages don't have (e.g. list comprehensions in Python).
* Object-oriented syntax (e.g. inheritance).
* Lower-level implementation of data structures and algorithms to make sure your code is efficient.
  * In **C++** you need to know how to use pointers efficiently.

Last updated: 2020-06-01.
