Let's talk a little bit about the programming language you'll be using during the interview. If you're given the choice of programming languages, I recommend choosing something like Python or JavaScript. They're a little more permissive and forgiving on syntax in the sense that you can create code a little bit faster and more compact than you would with a statically typed language such as c++. If you do choose a language such as Python or JavaScript, do mention that you know another language like c++ C sharp or Java. Many interviewers may be biased to some of the languages and you never know for sure where their biases lie or what the company is actually looking for. by mentioning multiple languages you well you also indicate that you're a more well rounded programmer and you know a lot more things not that you just know the one language.
If you are given the choice of languages, make sure you pick one that you know this is not the time to be experimental. With a new language, you need to project confidence in the language that you are using. If you're going to be told what language to code and you have to know that language in advance, since you're going to have to prepare for it, you can't prepare for all languages, you have to prepare the one that you'll be using during the interview. The reason why preparation is so important is because we forget a lot of things about the languages that we use. A lot of different things are going to come up in the interview that don't necessarily come up during your day to day programming. And so while it may sound obvious, you actually have to know the language that you'll be programming and you have to know how to create functions, types, classes, and all that wonderful stuff that defines the language.
You should know the languages conventions, does it use camel case does it use underscores? What are its rules that it typically follows? What will a typical program written in this language look like? Keep in mind that during an interview, you're going to be working In what's known as a clean room, you don't have other code to look at. This is much different than your day to day work when you keep working on the same program week after week, potentially year after year. Or even when you come to a new job, you work an existing code base, we don't actually have the opportunity to write new code very often.
And it can often be a bit of a block for some people when facing a blank code editor. Well, what do I do now? Where does the main function go? How do I output things? So when you're testing, make sure you work a lot from scratch, build things where you don't have that code to look at. You don't know about the way you're going to be doing things you don't have conventions to follow from an existing programming testing framework.
Work from scratch work in a program that builds up everything it needs. A great option for remembering all the small syntax rules of a language is a cheat sheet. This is simply a piece of paper or two that contains basic syntax example of all the things you might want to do with lists, sets of raised types, and whatnot in the language. You can find some of these online, I'll provide some of them on my site as well, or you can create your own. In the process of creating your own, you'll find it also jogs your memory to remember a lot of small things and it also helps you before the interview to prepare. And these cheat sheet can save you valuable time, especially in a phone interview, where you can look at it or in an in person interview where they let you bring in reference material.
The reason why it's so important to know all these basics of the language and not to stumble on them is that time is limited in an interview. You don't have an infinite amount of time. You can't simply hop over to search engines spend half an hour looking at what you want. Anything you can do to save time helps it lets you focus on the problem that you're actually solving as opposed to trying to remember what are these basics of the language I've noticed this a lot in the candidates I've interviewed, they spend too much time trying to recall syntax, they don't make enough progress in the actual program. And although it looks like they can do it, they just fall too far behind. And this looks negative to the interviewer.
But it also causes a confidence problem on you, you'll tend to recognize you're falling behind, you'll recognize when you're Stumbling on some basics, and you won't be having any fun, you'll become frustrated, your mind will be clouded. And you'll start thinking about all your failures. By being confident that language you've chosen, you can avoid all of this, you can sit down and focus your energy 100% on the program that you're actually supposed to be writing, what is that algorithmic question you've been given? Let's focus on that. You know the language you know, well, and the actual coding will be smooth once you figure out the problem solving part and that's the part you actually want to focus on. So think about what language you're going to be using.
Learn it well create the cheat sheets, and make sure you go through creating a lot of programs in preparation for the interview. You