Acing the Engineering Interview, Part I: Proper Preparation
Proper preparation is a clear distinguisher for the few candidates who actually put in the time and effort to do it. Read on to learn more.
Join the DZone community and get the full member experience.Join For Free
At Lucid Software, we collect thousands of applications and interview about 100 candidates each year for a variety of engineering roles. We have an interview team of roughly 12 engineers specializing in the six different parts of our interview process. With university recruiting season upon us, we sat down and discussed what we wish we could tell our interviewees before they come in to help them nail the interview. It all starts with proper preparation, so without further ado, here are seven tips for preparing for an engineering interview.
1. Do Your Homework
Who are the founders and executives? What are the company’s core values and mission statement? What products do they offer? Have they had any recent PR announcements? All of this information can be found with just 10 minutes of research — do a quick Google search or explore the company’s website. Every year, we have candidates who come in and have no idea what Lucidchart is and who have not used one or both of our products. Coming unprepared shows you do not care much about the position or company.
2. Put Your GPA on Your Resume
This is a hotly debated topic among recruiters, but at Lucid, a red flag goes up whenever we don’t see a GPA on a resume. We assume you have something to hide. Oftentimes, if the rest of the resume is not that strong, we won’t even reach out. However, if there is a strong GPA, it can make up for having a weaker resume.
3. Brush Up on What You Learned in School
Object-oriented programming, access modifiers, design patterns, etc. — these are the building blocks of programming. While we don’t expect you to have memorized definitions, you should be familiar with the industry’s lingo. All the time we get “It’s been so long,” or “I know that I know this, but it’s been a while.” Unfortunately, we don’t know that you know it unless you are able to talk about it.
4. Be Able to Talk About Your Resume
Simply put, if you can’t talk about it for 10 minutes, don’t put it on your resume. If you put four or five different programming languages on your resume, we are going to ask you to compare and contrast them. If you mention that you led a major project at your last company, we will want to hear about the project and the specific challenges you personally had to overcome.
5. Practice at the Whiteboard
We get people who come in and are absolutely dumbfounded when we ask them to work at a whiteboard. We are going to ask you to do so. We want to see how you work through a problem. Here we are mostly looking for pseudo-code — we don’t care about perfect syntax or compiler errors. We just want to see how you reason about a hard problem and whether you can recognize good vs bad suggestions.
6. Get a Hacker Rank or SPOJ Account and Do Some Problems
The coding exercise is going to consist of short (under an hour) problems to make sure you can solve problems quickly. HackerRank, SPOJ, CodeForces, CodeChef, HackerEarth, and hundreds of other sites all contain thousands of practice problems you can work on to prepare.
7. Read Cracking the Coding Interview
This book contains hundreds of great tips that will help prepare you for any software development interview. We cannot recommend it enough.
I hope the message is clear: come prepared. Proper preparation is a clear distinguisher for the few candidates who actually put in the time and effort to do it. Stay tuned for Acing the Engineering Interview, Part II: In the Interview.
Opinions expressed by DZone contributors are their own.