loading...
WorksHub

Functional Programming Interview Questions

charliejrgower profile image Charlie Gower ・2 min read

They liked your CV. You’ve got the date in your calendar. Very soon you’ll be sitting in a room about to do the interview.

Multiple things can happen. Maybe you won’t be a culture fit. Maybe you’ll hit it off straight away. The main thing is that you nail the technical part. Of course there’s an infinite amount of questions that can be asked, but after asking our network and speaking with our own team, these are some of the more common questions that you should know…. or at least be aware of.

Scala

  • Why does Scala prefer immutability?
  • Explain ‘Scala higher order’ functions?
  • What is Monad in Scala?
  • What is String Interpolation?
  • Explain the difference between ‘concurrency’ and ‘parallelism?
  • Could you comfortably explain the difference between a Monad and an applicative functor?
  • Could you explain the actor model and what problem it solves?

Haskell

  • Mention what are the benefits of Haskell expression?
  • What are Monads in Haskell?
  • Why is“lazy evaluation” useful in Haskell?
  • Explain Haskell Compilation, Debugging, Performance Analysis?

Erlang

  • Explain how messages are sent and received in Erlang?
  • List out the pre-defined Macros in Erlang?
  • Explain what is a record and how you can define records in Erlang?

Clojure

  • Where do Clojure projects use multimethods?
  • When do you use Macros in Clojure?
  • How you can filter/map/reduce?
  • Tell me the Pros/Cons of Immutability.
  • What’s the difference and when would you use a ref/agent/atom/var?

JVM

  • What are some different types of memory used by JVM?
  • What are the different class loaders used by JVM?
  • Is JVM a compiler or interpreter ?
  • How does JVM perform Garbage Collection?

General

  • When is it okay to get rid of efficiency for readability?
  • Can an Impure Function be Referentially Transparent?

Now who wants to write all the answers for us??

You could also practice some Clojure on WorksHub Open Source Issues feature - https://www.works-hub.com/issue/f59afe47-5961-4dc1-8005-2a1a2a0df519

WorksHub

WorksHub is the future of tech hiring. Through Open Source Issues, Software Developers on WorksHub can contribute to interesting projects, get paid to learn new skills and find their next career opportunity!

Discussion

markdown guide