Exam subjects
1. Virtual CPU and tail recursion
- What is an instruction?
- What is a CPU?
- What is tail recursion?
- When can tail recursion be applied?
- Why is tail recursion necessary in FP?
2. Map and flatmap
- What is the difference between an array and a linked list?
- What is recursion?
- What is a higher-order function?
- What does mapping mean?
- What does flattening a list mean?
3. Elm
- What are some of the differences between OOP and FP?
- Why do we need the Elm runtime?
- What are some of the benefits of using Elm?
- What is the
Maybe
type in Elm? When is it used?
- What is the
Result
type in Elm? When is it used?
- Can you reverse a string in Elm?
- Can you write a call to a HTTP endpoint?
4. Haskell
- What is a side-effect?
- How do Haskell handle side-effects? What does ‘IO ()’ mean?
- What does it mean that functions are first-class citizens?
- What is recursion?
- What are some of the benefits of using Haskell?