First round:
Behavioral:
*Tell me about a project you worked on.
*Are you familiar with our company?
Technical:
*Tell me about some concepts in object-oriented programming.
*What is an abstract class and function(s)?
*What is an interface?
*What are virtual functions?
*What is the static keyword in classes? How would you use it to implement a counter to track the total number of objects of a class instantiated?
*You have a memory-mapped register with the 4 least significant bits controlling whether or not a specific relay is on or off (bits 0 to 3 respectively turning relays 0 to 3 on/off). Write me a function that takes the relay number and desired state (on or off) and turns that specific relay on or off. Write me a function that takes a relay number, reads the register, and returns if that relay is on or off.
Second round:
First interviewer:
*What is a stack (both as a data structure and in the context of memory)?
*How would you implement a stack using C#?
*How does the garbage collector in C# work? Why would you want to set references to null?
*Please describe and give UML models of a project you worked on (block diagram, state machines diagram, user-interaction diagram, activity diagrams, etc).
Second interviewer:
*How familiar are you with C#/C++?
*Talk about previous experiences using both languages.
*What is a deadlock in multi-threaded progamming? What is a mutex?
*You have a base class which implements a bank account that has the ability to add funds, withdraw funds, and read account information including account ID, balance, and full name. If you withdraw and reach a negative balance, 20 dollars are further deducted from your account. A derived "gold account" class does not have this overdraw functionality. Please implement this using C#, C++, Python, or pseudocode.
*Further bit-shifting embedded systems question. Nothing too different from first round.
Manager:
Mostly casual conversation. Positive experience.
*What do you want to get out of this experience?
*Tell me about your previous role.
And talked about their various open projects to see which is of interest/best fit.