Her Campus Logo Her Campus Logo
This article is written by a student writer from the Her Campus at Rice chapter.

So you want to be a software engineer? That often means you’ll have to be able to pass technical coding interviews, which can definitely be a daunting task. However, there are a few things you can do before and during every interview to start improving!

Before the Interview

The best ways to prepare for an interview are to study and to practice. Both, however, are easier said than done.

An oft-recommended book to study for technical coding interviews is Cracking the Coding Interview by Gayle Laakmann McDowell. It’s a really great resource for a quick brush-up on commonly tested data structures and algorithms, and it also provides a veritable cornucopia of sample interview questions. However, don’t be intimidated by some of the questions in Cracking the Coding Interview! A lot of the sample questions are extremely challenging, but I’ve found that most of the questions I’ve received during interviews are easier.

When I’m studying for coding interviews, I find making a “cheat sheet” really helpful. Essentially, I sit down and came up with categories for questions: Arrays and Strings, Trees, Graphs, Concurrency, Systems, etc. Then, I go into each category and type up important “quick facts” (such as the time complexity of adding an element to a data structure) and relevant, common algorithms. This forces me to relearn (or learn for the first time) data structures that are frequently used in coding interviews. Then, I try to go over the cheat sheet every day, and continue adding to it as I continue practicing and studying.

Practice makes perfect! The best way to get good at doing technical interviews is to do a lot of them! If you have friends who are also studying for interviews, do mock interviews with them. You can find a lot of sample coding interview questions online or in books like Cracking the Coding Interview. Additionally, giving interviews is a great way to understand the mindset of an interviewer, so you’ll be more cognizant in the future of what to do as an interviewee. If you don’t have friends handy, sites like https://interviewing.io/ allow you to practice coding interviews anonymously online with software engineers from top companies!

During the Interview

The time has come. Whether your interview is on the phone or in-person, here are a few tips to help you ace it!

Keep talking. This is my number one piece of advice for technical coding interviews. Interviewers are interested in learning about how you approach problems, and they can’t do that unless you talk!

When you’re given the question, try to rephrase it in your own words back to the interviewer. This will make sure that you understand the question correctly. If any part of the question is unclear, ask your interviewer to clarify. Additionally, make sure to ask about edge cases!

Work through an example before you start coding. This ensures that you fully understand the problem that the interviewer is asking you to solve (also, it can buy you time to think about the question if you have no idea how to approach it).

A good way to approach problems is to take a high-level approach at first and then work your way into the details as they become important. Don’t worry about off-by-one errors for the first 15 minutes of an interview! Instead, talk to your interviewer about the methods you plan to write and how you plan to use them to achieve your solution.

If you’re coding in an IDE, make sure you test your code frequently to make sure that it compiles and runs! If you’re coding on a whiteboard, don’t worry as much about small syntactical errors, since your code isn’t expected to compile and run, but definitely make sure to run through test cases manually with the code you wrote.

And finally, relax. Again, this is easier said than done, but don’t be so anxious that you can’t think! And just remember, even if the interview goes less than well, it’ll be over within 45 minutes, and life will go on. Even if you made a mistake during your interview, take it as an opportunity to learn and grow as a programmer.

As a final piece of advice, remember that you are more than your ability to do well on coding interviews. No one is born being good at coding interviews! Everyone messes up a coding interview every now and then and one bad interview doesn’t mean you’re an incompetent programmer.

Technical coding interviews aren’t easy, but we hope this advice helps you on your journey to landing a job as a software engineer. Good luck!

Ellie is a Political Science and Policy Studies double major at Rice University, with a minor in Politics, Law and Social Thought. She spent the spring of 2017 studying/interning in London, and hopes to return to England for grad school. Academically, Ellie's passion lies in evaluating policies that further the causes of gender equality, LGBT rights, and access to satisfactory healthcare, specifically as it pertains to women's health and mental health. She also loves feminist memoirs, eighteenth-century history, old bookstores, and new places. She's continuously inspired by the many strong females in her life, and is an unequivocal proponent of women supporting women.