Looking for jobs as a software engineer can be tough, especially because of technical interviews. Technical interviews for software engineering jobs are interviews where you’re asked coding questions, questions about your past projects, or Computer Science theory. These interviews might include a range of questions including examples like “Tell me a little bit about this project you did” to “Implement a LRU cache” and it can be really hard to come up with an answer on the spot. Throughout my time at Middlebury, I’ve pursued numerous technical internships and have been on my fair share of interviews – some that went well and some that didn’t. Here are five tips that I’ve found to be helpful when it comes to preparing for these interviews:
- Practice with a friend: I can’t stress this enough. You might be a great programmer, but explaining your code to others can be tough. Practicing with a friend helps put your thought process into words and get better at explaining your code so that when you explain it during an interview, you’ve already had some practice.
- Try different resources: Personally, I’ve found “Cracking the Coding Interview” to be really overwhelming. If a book of that size makes you anxious, try resources like Leetcode or Hackerrank. A good thing about these websites is that they check the correctness of the code and let you know if you’ve passed all the edge-cases. These websites are also a good way of getting some coding practice when you have a few minutes to kill before your Proctor date or that Coltrane party.
- Don’t over-practice: Studying for coding interviews is great, but don’t let them stress you out. These interview questions can actually be really fun (like solving puzzles), but you’ll start to get negative associations with them if you stress too much. Rather, do these questions on your free time and treat them like solving a crossword puzzle.
- Don’t memorize: Sometimes you might know what questions you’re going to be asked in an interview, if you’ve gone thorough research on sites such as Glassdoor. Although it might be tempting to memorize the answer to these technical questions, it is best to just think about how you would solve them rather than memorizing every line of code. Interviewers are trying to look at your thought process during these interviews, and memorizing the answers to these questions and spewing the them out during an interview doesn’t show your thought process. Moreover, if you memorize the answers and not understand them, you’ll get confused if the interviewer presents you a slightly modified question.
- Learn how to use different data structures: At Middlebury, CS201 teaches you all you need to know about the most important data structures out there, but you might not have coded using those data structures at all. Learn how to use/implement these data structures in your preferred language so that you’re well versed with them before your technical interviews.
If you need help on technical interviews, resumes or cover letters, my Peer Career Advisor hours are Mondays 7pm – 9pm on the 3rd floor Mezzanine of Bi Hall and Tuesdays 12:30pm – 2:30pm in the CCI.
Aayam Poudel ’18 is a Peer Career Advisor at the CCI and is a Computer Science major and Math minor. In his role, he helps students develop resumes and cover letters, prepare for interviews, and access helpful job and internship search resources such as Handshake.