Over the past few years, a software engineer interview prep industry has emerged, from Cracking the Coding Interview to Leetcode. Sadly, no similar resource currently exists for electrical engineers.
But in my experience interviewing for jobs, most interviewers ask questions about a common set of subjects. This is a quick study guide of common interview topics that I encountered while interviewing for jobs recently.
Disclaimer: this list was mostly acquired by interviewing for generalist, PCB-level EE positions at Bay Area tech companies. Sorry, IC designers! I tried to add links to useful resources where I could find them.
SPI and I2C
Explaining SPI and I2C seems to be our industry’s version of fizzbuzz. Since these interfaces are so ubiquitous, it’s a common filter question on phone screens to check for basic experience with digital electronics. In addition, comparing the interfaces is a good way to see if someone can discuss engineering trade-offs.
- Sparkfun Overview
- Bus capacitance & pull-up resistor sizing
- Start and stop conditions
Both: Compare and Contrast
- Push-pull (SPI) vs. Open drain (I2C)
- Scalability (number of devices on bus vs. PCB complexity)
Both: Potential Implementation Problems
- Clock Skew
- RF Aggressors
- Ringing and signal integrity problems
Other Host Interfaces
Again, these questions are common because they are both very important and a good way to see how a candidate discusses design trade-offs.
- Big 3 switching topologies: buck converters, boost converters, and buck-boost converters. Know how each uses an inductor to efficiently increase or reduce the input voltage. Also know how to choose a frequency, and how that affects conversion losses and inductor size.
- Linear regulators, mainly Low-Dropout Regulators (LDOs). Know how to interpret a PSRR (power supply rejection ratio) specification.
- Switching vs. linear regulators: main trade-offs: efficiency, noise, PCB area, and heat generation.
- Main uses for each: Switching regulators for general-purpose and digital circuits, and linear regulators for sensitive elements such as sensors and RF transceivers.
- Power rail capacitance: placement of converter output capacitors vs. decoupling capacitors near other components, and the purpose that each type serves.
- Charge pump: Principle of operation and common applications
- AC/DC Conversion: A less common question, but knowledge of full-wave AC rectifiers and AC/DC flyback converters is handy to have. Bonus points for knowing about UL/ETL certification.
- Isolated DC/DC converters: This is a common interview question for jobs involving more ruggedized electronics, such as those in the EV and aerospace industries.
- Multiphase buck converters: These are less common, but are often seen in high-current applications such as servers.
Basic PCB CAD
Most systems-level electrical engineering jobs involve making printed circuit boards in some form. These jobs will require knowledge of at least one major PCB CAD software package. Altium, Cadence, and Eagle are the most popular, though they all have a similar workflow.
At smaller companies, engineers typically do the whole process, from schematic capture to PCB layout and routing. Large companies often have separate engineers doing board layout and routing, though the process is supervised by the engineer who designed the schematic.
PCB CAD Interview Topics
- Basic trace and plane sizing for current loads.
- Design for assembly: thermal reliefs, component tombstoning, and clearances for solder jet assembly.
- Design for manufacturing: common trace/space specification, determining layer count.
- High density interconnect: buried & blind vias, and the tradeoffs involved in using them.
- Basic signal integrity: controlled impedance (single-ended and differential), microstrip vs. stripline traces, managing crosstalk, reference planes (especially split planes!), and trace length tuning.
- System coexistence: Identifying and preventing interactions between aggressor and victim elements, typically RF transmissions.
- Flex design: When to use hatched planes, tear-dropping traces, and routing with respect to bend regions.
Most systems-level EE jobs don’t involve making transistor amps, so questions tend to focus on op-amp based designs.
Amplifier Interview Topics
- Op-Amp topologies: Inverting, non-inverting, and differential amplifiers.
- Op-amp specifications and nonidealities: poles and zeroes, slew rates, and gain-bandwidth product. I’ve also seen questions about op-amp stability and oscillations.
- Low noise amplifiers: When to use them, and basic principles of operation.
Analog-to-Digital Converters (ADCs)
- Common topologies: pipeline, sigma-delta, successive approximation
- Sampling frequencies: Nyquist criterion as well as sampling rates in practice (e.g. sampling frequencies needed for signal characterization)
- Digital filtering of ADC samples: Basic finite impulse response (FIR) and infinite impluse response (IIR) filters.
- Calculating precision: Mapping desired input sensitivity to number of bits of sampling
- Anti-aliasing filters: Why they’re used, cutoff frequency selection, and filter order
- Calculating sampling time: constructing the RC model of sample-hold capacitance, and input impedance.
These are the less-common questions that I’ve seen, and they tend to vary more greatly from job-to-job. My interviewers at Apple did not ask about motor control, but be prepared if you’re interviewing at the hot new scooter startup.
Miscellaneous Interview Topics
- Microcontroller selection: How to go about picking an appropriate microcontroller for a certain problem. Common criteria are I/O, footprint, low power modes, and performance (clock rate and instruction set).
- Test and measure: Multimeter, RLC, 2-terminal vs. 4-terminal resistance measurement. Knowledge of more advanced equipment such as network analyzers is helpful, especially for high speed and RF signals.
- Oscilloscopes: How to determine the necessary bandwidth and sampling rate for a given signal, eye diagram characterization, and probing (passive, active, and differential probes).
- Batteries: Charge profile of lithium-ion cells, as well as battery management systems.
- Motors: Half- and H-Bridge drivers, controller design for brushed DC, brushless DC, stepper and AC motors. Also know about encoders and other sensors used as feedback for the controller.
- Programming: Questions about low-level C programming are common, as well as Leetcode-style coding riddles. Knowing how to automate testing equipment with SCPI or LabView are useful skills to have.
And Lastly …
Each of these topics has a ton of depth, far more than can be appreciated in a quick blog post. Last-minute prep can only take you so far.
If there’s anything I missed, DM me on Twitter and I’ll add it to the list! I’m also interested in putting together a list of sample circuit and system design problems, so also send me those!