Senior hardware engineer Interview Questions | Glassdoor

# Senior hardware engineer Interview Questions

81

senior hardware engineer interview questions shared by candidates

## Top Interview Questions

Sort: RelevancePopular Date

Aug 1, 2014

### Senior Hardware Verification Engineer at NVIDIA was asked...

Jan 29, 2010
 Describe a function to check if an integer is a power of 2.6 AnswersFor an integer n: If n is less than 1, return false. If the bitwise & of n and n-1 is 0, return true. Otherwise, return false.Write the number in binary and count the number of ones in that.If the number os ones is only 1 then it the number is indeed a power of 2first check if no is 1 then return false else write the number in binary and then check number of ones in that.if only one 1 is there then its a power of 2Show More ResponsesI think the main idea is to use recursion function, for the integer which is larger than 0, if it is 1 return true, else return function(n-1)See if the sum of all bits is 1. If that's the case then the number is a power of 2.function int power2(int i); if (i%2==1) return 0; else if (i/2==1) return 1; else return power2(i/2); endfunction

### Senior Hardware Verification Engineer at NVIDIA was asked...

Jan 29, 2010
 Describe a circuit that implements the following truth table using only NAND gates. A B OUT 0 0 1 0 1 1 1 0 0 1 1 17 Answers((A NAND B) NAND C)out = (A NAND (B NAND B))out = ((A NAND A) NAND (A NAND A)) NAND (B NAND B)Show More ResponsesOUT = (A NAND (B NAND 1)) or out = (A NAND (B NAND B)) like what anonymous said. One or more comments have been removed. Please see our Community Guidelines or Terms of Service for more information.

### Senior Hardware Verification Engineer at NVIDIA was asked...

Jan 29, 2010
 There are 5 bowls with 100 candies each. In 4 bowls, all of the candies are 10 grams each. In 1 bowl, all the candies are 9 grams each. Using a digital scale, how can you determine which bowl has the 9 gram candies by using only 1 weighing?2 AnswersTake 1 candy from bowl 1, 2 candies from bowl 2, 3 candies from bowl 3, and 4 candies from bowl; and weight them on the digital scale. If the total weight is 100 grams, the 9 gram candies are in bowl 5. If the total weight is 99 grams, the 9 gram candies are in bowl 1. If the total weight is 98 grams, the 9 gram candies are in bowl 2. If the total weight is 97 grams, the 9 gram candies are in bowl 3. If the total weight is 96 grams, the 9 gram candies are in bowl 4.if weighing machine can weigh the bowls: Put 2 bowls on each side, if they weigh equal then last bowl has candies with 9 grams. If the bowl weigh different then weigh the 2 bowls with lower weight and find the lowest weight bowl.

### Senior Hardware Engineer at Carnegie Technologies was asked...

Mar 6, 2019
 What is a time domain test instrument and what is a frequency domain instrument? I've never heard of these terma before.2 AnswersOscilloscope. (Maybe I should be interviewing you?)Oscope and Spectrum Analyzer :)

### Senior Hardware Engineer at Microsoft was asked...

Oct 4, 2019
 Non-trivial sender-receiver type of coding problem.2 AnswersYou need to write an FSM. For whatever they ask!Can you tell more about hour long coding interview? More detail on coding problem would help. Thank you!

### Senior Hardware Engineer at STMicroelectronics was asked...

Dec 12, 2009
 How many ping pong balls fit in a 7472 Answersabout 22 million in the main cabin depending on the installed options.The exact same number as the number of angels on the head of a pin. Go figure.

### Senior Hardware Engineer at Apple was asked...

Mar 5, 2012
 Not the most difficult question but I found this question interesting. Write a piece of code that allows you to detect if the machine you are running the program is little Endian or big Endian memory structure. 2 AnswersTo answer this question, you need to know about the union in C. 1) declare union { unsigned long ul; unsigned char tab[4] } un; 2) then: un.ul=0x12345678; for(i=0; i<4; i++) printf("%x ",un.tab[i]);Much easier than that: inline int isLE() { int v = 1; //stored in host order char *p = (char *)&v; //can access addresses &p[0], ..., &p[3] //LS byte stored at lower address in memory => LE return p[0]; } I'm sure there's a more efficient way, but that's the best I know.

### Senior Hardware Development Engineer at Aerotek was asked...

Dec 27, 2016
 Do you have firmware development experience.1 Answeryes

### Senior Hardware Engineer at Oracle was asked...

Mar 22, 2012
 Parallel Computer architecture, -Gave the MP structure and then asked How would you maintain coherency 1 AnswerI had to tweak the directory based protocol
110 of 81 Interview Questions