- How does Scala support both object-oriented and functional programming paradigms?
- What are the basic data types in Scala?
- What are the differences between var and val in Scala?
- How do you declare a function in Scala?
- What is the difference between a method and a function in Scala?
- What is an immutable data structure in Scala?
- What is a higher-order function in Scala?
- What is pattern matching in Scala and how does it work?
- How does Scala handle null values?
- How does Scala handle type inference?
- What are tuples in Scala and how do you use them?
- What are anonymous functions in Scala and how do you declare them?
- What are packages in Scala and how do you create them?
- What are generics in Scala and how do they work?
- What are singletons in Scala and how do you create them?
- What is a case object in Scala and how is it different from a case class?
- What is a closure in Scala and how is it useful?
- What is a by-name parameter in Scala and how does it differ from a regular parameter?
- What is tail recursion and how does it work in Scala?
- What is a case class in Scala and what is it used for?
- What is the difference between an abstract class and a trait in Scala?
- What are implicit parameters in Scala and how do you use them?
- What is a partial function in Scala and how does it differ from a total function?
- What is lazy evaluation in Scala and how is it useful?
- What is a companion object in Scala and how is it different from a class?
- What is the difference between a view and a stream in Scala?
- How does Scala handle concurrency and what is the Actor model?
- How does Scala support type inference?
- What are the benefits of using the Option type in Scala?
- What is an extractor in Scala and how does it work?
- What is a type alias in Scala and how do you use it?
- What is the difference between a future and a promise in Scala?
- What is the difference between varargs and a Seq in Scala?
- What is a companion class in Scala and how does it relate to a companion object?
- What is the difference between a for-loop and a foreach loop in Scala?
- What is a context bound in Scala and how does it differ from an implicit parameter?
- What is the difference between an object and a class in Scala?
- What is a value class in Scala and how does it work?
- What is a macro in Scala and how does it differ from a regular function?
- What is the difference between an inner class and a nested class in Scala?
- What is a type class hierarchy in Scala and how does it relate to type classes?
- How does Scala support the creation of DSLs?
- What is a phantom type in Scala and how does it work?
- What is the difference between a context bound and an implicit parameter in Scala?
- What is a dependent type in Scala and how does it differ from a type parameter?
- What is the difference between an @unchecked annotation and a @tailrec annotation in Scala?
- What is the difference between a type parameter and a type member in Scala?
- What is the difference between the apply method and the update method in Scala?
- What is a higher-rank type in Scala and how does it differ from a higher-kinded type?
- What is the difference between the Reader and Writer monads in Scala?
- What is the difference between an abstract class and a sealed trait in Scala?
- What is the difference between a type class and a type trait in Scala?
- What is the difference between a view and a stream in Scala?
- What is a self type in Scala and how does it differ from inheritance?
- What is the difference between a path-dependent type and a dependent method type in Scala?
- What is the difference between type projection and type refinement in Scala?
- What is the difference between type erasure and reification in Scala?
- What is an abstract type member in Scala and how does it differ from an abstract type parameter?
- What are higher-kinded types in Scala and how are they useful?
- How does Scala support compile-time metaprogramming with macros?
- What is the difference between a monad and a functor in Scala and how are they useful?
- What are type classes in Scala and how do they differ from traits?
- How does Scala handle lazy initialization of objects and classes?
- What are the differences between a view, a stream, and an iterator in Scala?
- How does Scala support tail call optimization?
- What is the difference between currying and partial application in Scala?
- How does Scala handle implicit conversions?
- What are the different ways to create an instance of a class in Scala?
- What is the difference between the apply and update methods in Scala?
- How does Scala handle exception handling and what is the difference between try-catch and Either?
- How does Scala handle implicits resolution in the presence of ambiguity?
- What is the difference between the IO and Task monads in Scala?
- What is the difference between a case object and an object in Scala?
- How does Scala handle polymorphic function values?
- What is a literal type in Scala and how does it differ from a value type?
- What is the difference between a type and a class tag in Scala?
- What is the difference between the Product and Serializable traits in Scala?
- What is the difference between a type constructor and a type parameterized trait in Scala?
- What is the difference between an opaque type and a type alias in Scala?