Exercise Thursday

Technical Interview Questions

  • What are some of the key differences between functional and object-oriented programming?
  • What are some of the advantages of using functional programming over object-oriented programming?
  • What is immutability and why is it important?
  • What is the difference between imperative and declarative programming?
  • What are pure functions and why are they important to functional programming?
  • What does it mean when a function is a first-class citizen? Why is it useful for a language like JS to offer this functionality?
  • What is a closure? What are some of their use cases?
  • Demonstrate the differences between writing a loop and using recursion to solve a problem. What are the advantages of using recursion? What are potential disadvantages?
  • What is the difference between composition and classical inheritance? What are some of the advantages of composition?
  • What does it mean to mutate state? Why do we want to avoid this in functional programming?

Stories and Examples

Offering a tangible story or example that highlights your skills usually goes much further in an interview than simply telling your interviewer you're good at something. For example, it's better to tell a story about a time you tracked down a tricky bug versus simply saying "I'm good at problem-solving!"

Review the STAR method discussed in this lesson on non-technical interviews. Use the STAR method to practice answering non-technical questions with your partner.

Again, if you come up with a story or example you feel good about, jot it down somewhere. It's tough to come up with stories like this in an interview on the spot. Having a few tucked away to review before an interview will be a huge benefit to you later.