Q1. Scala bytecode can run on top of Java VM. What is the fundamental difference between Java object.clone() and Scala object.copy()?
- One is a Java object, the other is a Scala object.
- clone() will copy class structures but not the data, while copy() will also copy data into new objects.
- There is no difference.
- copy() allows you to change values during the copying process; clone() does not.
val m1 = Map("a"->1,"b"->2,"c"->3)
m1("a")
- a
- 2
- b
- 1
- monads
- literal functions
- partially applied functions
- parallel collections
- ArgumentExceptions
- AssertionException
- DiagrammedAssertions
- JUnit
Q5. What data type would you use to store an immutable collection of objects that contain a fixed number of varying types?
- Array
- ImmutableCollection
- List
- Tuple
myfnc: ()Unit
- The function has no side effects.
- The function takes no parameters.
- The function returns no value.
- Returning unit types to the function is a closures.
- hexadecimal
- short
- floating point
- long
Q8. When you convert a map to a list using the toList method of the map, the result will be of which type?
-
List[(String, String)]
-
List[(Array, Array)]
-
List[(Array, Array)]
-
List
val x = (1234, "Active")
- List
- Map
- Tuple
- Array
- AnyVal
- AnyRef
- Method
- Null NOT SURE
- Yes and no. It is different depending on the for construct and what it does. NOT SURE
- Yes, because the for section does not expose its scope.
- No, because for-yield shares the same scope, even though they are within separate curly braces.
- Yes, because they are within different curly braces.
- using regex
- using monads
- using string matching
- using case classes
val y = List('a','b')
val z = y::List('c')
- List(a,b,c)
- List(List(a, b), c)
- List(c,a,b)
- List(c,List(a,b))
- assert
- require
- precondition
- mustHave
Q15. Which Scala type may throw an exception or a successfully computed value, and is commonly used to trap and propagate errors?
Answer should be Option: Some or None
val y = (math floor 3.1415 * 2)
- short
- double
- int
- bigInt
-
%
-
\_
-
^
-
-
Q18. You have created an array using val. Can you change the value of any element of the array—and why or why not?
- Yes, the reference to the array is immutable, so the location that the array points to is immutable. The values in the array are mutable.
- The 0th element is immutable and cannot be modified. All other elements can be modified.
- Yes, val does not make arrays immutable.
- No, val makes the array and values of the array immutable.
def main () {
var a = 0
for (a<-1 until 5){println(a)}
- 1,2,3,4,5
- 0,1,2,3,4
- 1,2,3,4
- 2,3,4,5
- singletons
- stationary objects
- functional objects
- fixed objects
- use array named args
- use tuple named args
- use numbered variables with a _ prefix for example _ 1, _ 2, _ 3
- use numbered variables with a $ prefix - for example $1, $2, $3
- 4
- an error
- 6
- 3
val MyFuture = Future {runBackgroundFunction() }
- myFuture.onComplete
- myFuture(status)
- myFuture.Finished
- complete(myFuture)
-
%
-
&
-
\_
-
-
- polyinheritance
- multilevel inheritance
- multimode inheritance
- hierarchical inheritance