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.
* 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?
*How do you create Singleton classes in Scala?
*What is the benefit of a tail recursion in Scala?
* 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?
* 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?
* 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?
* 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?
* When is it okay to get rid of efficiency for readability?
* Can an Impure Function be Referentially Transparent?
Now that you’re prepped, why not go check out what Functional Programming roles are live? Find your next Scala, Clojure, Haskell, Erlang or Elm role at Functional Works.
Good luck in the Interview!