Interview questions

I’m publishing all the interview questions I’ve had (that I still remember) with tech companies (e.g. Microsoft, Google, Nvidia and others) in no particular order. Hopefully it will help you prepare for your interview and land the job!

1. Determine if an input string is a palindrome.

2. Determine the longest palindrome in a given string (e.g. racecarhellobobmalayalam should return malayalam)

3. How would you test Notepad?

4. Reverse the order of words in a given string. Do it in place as a bonus. Test your function.

5. What do you find most exciting about technology?

6. What is the most disappointing project you’ve worked on?

7. What’s the best project you’ve worked on?

8. Insert a node at the end of a circular singly-linked linked list. (e.g. a->b->c->a with node n becomes a->b->c->n->a). Do it in O(1). Test the function.

9. Why are you applying here? What do you find the most fascinating aspect of this company? What are your future plans?


  • You have 8 identical balls, one of them is heavier than all the rest. Given a scale, determine which one it is. As a bonus, do it in 2 weighings.
  • You have the same scenario, but this time the ball is either heavier or lighter than all the rest (you don’t know which way it is). Determine which one it is in 3 weighings.

11. Given a peer-to-peer architecture, test the system. (Solution should cover a wide variety of scenarios and categories to test).

12. Reverse a singly-linked linked list.

13. Given an array of integers, determine the subarray that gives the largest sum.

14. Given two registers and combination logic in between, determine the clock relationships and slacks.

15. Given the system in 14, assume it has negative setup time slack. How would you make it meet timing? (Assume you can’t touch the logic or change the clock speed)

16. Construct a NAND gate with 2-to-1 multiplexers only.

17. Construct any function with 2-to-1 multiplexers.

18. Create circuit to determine 2’s complement of a 32-bit number (e.g. you have 32 bit bus as input)

19. Given a FIFO that has input rate of 20 cycles idle and 80 cycles valid and output rate of 8 cycles valid and 2 cycles idle, determine the smallest size the FIFO can be without stalling either the input or output.

20. Given a convoluted system with different requirements, create an FSM that meets those requirements.


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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: