Total Questions : 30
Expected Time : 30 Minutes

1. What is tail recursion, and how does Scala optimize tail-recursive functions?

2. Explain the concept of 'pattern matching' in Scala and provide an example.

3. Which keyword is used for creating an anonymous function in Scala?

4. Which type of exception handling is used in Scala?

5. What is the purpose of 'implicit parameters' in Scala?

6. What is the purpose of the 'apply' method in Scala?

7. In Scala, what is the purpose of the 'object' keyword?

8. Which of the following is a feature of Scala's type system?

9. In Scala, what is the 'apply' method commonly used for in companion objects?

10. What is the significance of 'match' keyword in Scala?

11. Which collection type is mutable in Scala?

12. How is 'foldLeft' different from 'foldRight' in Scala?

13. In Scala, how is 'case class' different from a regular class?

14. Which tool is commonly used for building Scala projects?

15. What is the purpose of the 'flatten' method in Scala?

16. What is the purpose of 'lazy val' in Scala?

17. Which feature of Scala allows concise syntax for working with lists?

18. What is the purpose of the 'lazy' keyword in Scala?

19. What does 'var' keyword represent in Scala?

20. Explain the concept of pattern matching in Scala.

21. In Scala, what does 'covariant' mean in the context of type parameters?

22. What is the difference between 'val' and 'var' in Scala?

23. How does Scala handle 'null' values, and what alternative does it provide?

24. How is 'flatMap' different from 'map' in the context of Option monad in Scala?

25. What is the significance of 'yield' in a for comprehension?

26. What is the purpose of 'scalaz' library in Scala?

27. How does Scala handle exceptions, and what is the primary construct for exception handling?

28. How does Scala support functional programming paradigms?

29. Which keyword is used for defining a method in Scala?

30. How does Scala handle concurrency, and what construct is commonly used for concurrent programming?