Preparing for an electrical engineering or computer engineering interview

Preparing for an ECE interview is a challenging topic. Our field is so broad and deep that we don’t have a reliable canned preparation method like computer science folks do with Leetcode. When I think of how to formalize the ECE interview approach, I fear that it will be full of so many generalities that it will lack utility. Still, I’ve been through the interview ringer a number of times and more recently, I’ve found myself on the other side of the table doing the interviewing. I learned a lot about interviewing from my more experienced colleagues and gleaned insight from our post-interview de-briefing meetings where we make hire/no-hire decisions.

Rather than attempting to create and share a stupidly long and probably incomplete list topics to study, I decided to share my personal approach to ECE interview preparation. Being somewhat reductionist, I have three meta-categories that if addressed and focused on, will make for a strong interview showing. I have listed them below as well as added commentary on how to practice and maximize said meta-categories. I’ve leaned on them during interview preparation and I’ve also looked for them when interviewing candidates.

Knowledge – Knowledge is having studied a topic before and is demonstrated by knowing the ins and outs of said topic. It’s knowing an LM741 op-amp and what it does, what the individual components are, and what the strengths and weaknesses of the design is.  It’s being able to design a digital circuit starting from the truth table and ending with the logic diagram. It’s understanding what fast fourier transform is and knowing its applications. There is nothing mysterious here. Being successful in an undergraduate program should equip you with enough knowledge to pass an entry level interview.

The catch is that when you are going into an interview, the hiring manager will have an expectation for strength in certain areas and will focus on just a subset of the breadth of your undergraduate curriculum. If it is a verification job then you can expect to see heavy emphasis on digital logic design, timing diagrams, hazards, and HDL. If it is a job in analog design you should expect to be grilled on your basic analog building blocks, circuit theory, and device physics. Etc. Etc. Job descriptions will go a long way in informing what you need to cover. Use your target job descriptions to craft a syllabus of topics. There is no secret to this. Read the job descriptions. Harvest sample interview questions from the Internet. Organize the material you need to cover and start early and be disciplined about covering the entirety of the material.

To give a personal anecdote, I spent 2 to 4 hours per day for a period of four months shoring up the breadth and depth of my knowledge based on my best estimate of the topics that would be covered for my target job function (power architecture). For power architecture I covered the following topics; physics (power and thermals), C and C++, computer architecture, current research papers, digital and analog design with special emphasis on design for low power.

Systematic Problem Solving – First we need to establish that there is a difference between knowing something and understanding something. For example, in the context of something like a 741 op-amp, I’d consider knowledge to be recognizing a 741 op-amp and its stages/components and knowing its basic function. On the other hand, demonstrating understanding would mean, given design criteria, you’d being able to modify the design and be knowledgeable of the limitations, pros, and cons.

In a live interview, after the preliminary bozo checks, interviewers will move on to evaluate problem solving aptitude by hammering on your understanding of ECE concepts. Problem solving with respect to ECE (and maybe even in general) has two prime components; 1) raw cognitive ability and 2) systematic thinking and decomposition of a problem. Of the two, only the latter is in our control and my favorite method to decompose a problem is by using the Feynman technique. Thus, a second component to going through the syllabus you’ve crafted is to develop, practice, and perfect, a systematic way of problem solving that works for you.

Having a systematic way to decompose and approach problems allows one to tackle out of the box questions that you will inevitably encounter and are nearly impossible to prepare for. In an interview, the goal isn’t necessarily to hit it out of the park and solve every problem in front of you. Interviewers want to see how you behave when you hit a roadblock. They want to see that you can think in a structured fashion and can move the conversation forward.

The ability to move the conversation forward after having a curveball thrown at you is the topic that gets the most attention during an interview de-briefing. Interviewers are trying to simulate the types of hard engineering problems you will encounter during your day to day work and evaluate how you are able to employ your knowledge and understanding to tackle said problem.

Interview Mechanics – Okay. Let’s get this out of the way. Interviews are sort of a personality test. An off-putting personality will easily veto an otherwise stellar candidate. Interviewers are looking for a person that they will interact with on a daily basis for years. In general people all want the same thing in a coworker. People want a person that is not just capable of doing the work but is also generally respectful, genuine, and shows a measure of humility. Unfortunately, if you have huge glaring personality flaws, advice for this falls far outside of the scope of this post. I only mention the personality component in the unlikely event that someone out there reading this does not recognize that being a nominally well-adjusted human being actually matters in a job interview.

Interviews can be unnerving experiences and the whole process can throw you off your game. It’s important to note that interviewers will be understanding of this but it is still critical to practice your general interviewing skills. I found it helpful to rehearse mock interviews while imagining a person in front of me. I personally tend to rush my speech when nervous and sometimes say boneheaded things that I otherwise wouldn’t have to fill silence. By rehearsing I was able to recognize and mitigate this pattern. I was able to catch myself when I felt I would start rambling and remind myself to slow down, breathe deeply and think clearly. Ample amounts of rehearsing by yourself or in front of someone else will do wonders for your nerves, confidence, and interview performance.

*Bonus Tip – One trick that I’ve found extremely useful is the following: In most interviews you’ll be sent an interview schedule a few days prior to the interview date with the names and titles of the interviewers. Interviewers tend to field questions that are related to their active projects. Searching their names on Linkedin and looking at their job descriptions and what they are working on has been enormously helpful in figuring out what material to cover in the days leading up to the interview.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s