abdo375 said:
Just how advanced is advanced ?
It depends on the position we're interviewing for, and what the candidate's background is.
If I've been asked to interview a candidate for a Technician or Manufacturing Engineer position, the questions won't get very complicated (unless the candidate wants to bring up complex stuff that they are familiar with).
If I'm interviewing a recent graduate who doesn't have much experience yet, and if it's for a position in our R&D Lab, then I will be looking for how well they understand the coursework that they've done, and if they've done some practical projects where they put that learning into practice. So this would be some typical stuff I'd ask a recent grad for a mostly-digital position:
** What do you need to be careful about when bringing an asynchronous digital signal into a synchronous state machine? What is the circuit block that you use called, and how do you make it? Why does it help? What can happen if you don't use this interface circuit?
** What logic families are you familiar with? What can you tell me about the differences between them? Compare HC, HCT, AC, AS, VHC, etc. When would you use one versus another?
** Do you know what a Z-lead oscilloscope probe is? When would you use it, and why?
** It's common to show a logic circuit with some combinatorial logic and some flops, and ask what the behavior is. One example of this is a circuit that a friend of mine uses that has a problem with it. The candidate is expected to show the behavior, realize that it is bad, and be able to show how to fix it.
** I'll typically show the candidate one of my schematics of a fairly complex PCB assembly, and show them the physical board itself. Then I'll ask them to walk me through the schematic and board and explain what each of the parts is being used for. My boards are typically mixed signal, so I may ask a few basic analog questions along the way through this.
For more advanced digital candidates (those with a few years of relevant experience), I will go into more detailed questions, and I will try to get a feel for how they work on projects and what tools and skills they use to debug and troubleshoot the inevitable bugs and problems that come up in product development. Here would be a couple examples:
** Tell me about this 256-BGA part right here on the board -- what is it, and what is it used for? (answer -- Xilinx Spartan II FPGA, being used to emulate the digital portion of a new ASIC that we just finished.) Now, it turns out that this same chip is available in smaller packages than the 256-BGA. Can you tell me why we chose not to use the smaller size packages? Hint -- the only difference was in the number of Power and Ground connections, not in the number of IOs available.
** I'll typically go into more detail in the example schematic and board at this point, both in terms of how the external memories are hooked up, how the JTAG string is used and what for, and in terms of how the FPGA is being programmed and used. We'll probably walk through some of the Verilog code, and I'll try to get a feel for how well the candidate can get their head around the design. I'm no expert in Verilog, though, so I leave the detailed Verilog questions to our digital specialists.
For Analog or Mixed Signal candidates, we'll spend some quality time in the s domain, and discussing things like modulation schemes, filters, ADCs and DACs, noise issues, stability issues, and any other fun stuff I can think up.
