Software Developer Interview Form

Why are you interested in working at “XYZ Company”?

Do you have experience with a certain coding language/technology we use here at XYZ Company?

What projects have you been focused on at your current job?

Do you have any leadership experience?

If so, how big was your team and what projects did you work on?

What are you looking for in an opportunity that would lure you away from your current employer?


What excites you about joining our team here?

What are your hobbies outside of work?

What do you love about your current job and work environment?

Describe your ideal company culture.

What’s the most important part of your work environment that will ensure you’re successful?

How would co-workers describe the role you play on the team?

Tell us a decision you made based on internal or external customer data.


Which tools do you like to use for keeping track of requirements?

What’s most important when reviewing another team member’s code?

If other, please specify:

Describe your coding process from start to finish.

How do you prepare your code for different kinds of errors?

What’s your preferred language for complex algorithms?

How do you design scalable applications?

What project are you most proud of in your career thus far? Why?

Describe a project that failed. What happened? How did you rebound?


What is the difference between a mutex and a semaphore?

What is multithreaded programming?

What is the difference between local and global variables?

What’s the difference between local and global variables?

You have a single-threaded, C standard application that’s continuously crashing, but never in the same place. What could be causing the crash?

What is the difference between a queue and a stack?

What is a regression test?


Linked lists (removing duplicates, reversing, determining if it’s circular)

Big-O complexity analysis: What is it and how is it used?

Trees: Basic construction, traversal, and manipulation algorithms. Know how to implement balanced binary trees.

Stacks (implement a queue with two stacks)

Arrays and strings (reverse strings, permutations)