Assignment Help logo
Trò Chuyện Trực Tuyến

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Câu 1. Bytecode Scala có thể chạy trên Java VM. Sự khác biệt cơ bản giữa Java object.clone() và Scala object.copy() là gì?

  • Một là một đối tượng Java, một là một đối tượng Scala.
  • clone() sẽ sao chép cấu trúc lớp nhưng không phải dữ liệu, trong khi copy() cũng sẽ sao chép dữ liệu vào các đối tượng mới.
  • Không có sự khác biệt.
  • copy() cho phép bạn thay đổi giá trị trong quá trình sao chép; clone() không.

Câu 2. Giá trị nào được trả về bởi đoạn mã này?

val m1 = Map("a"->1,"b"->2,"c"->3)
m1("a")
  • a
  • 2
  • b
  • 1

Câu 3. Cách nào để tránh chi tiết song song cấp thấp?

  • monads
  • các hàm literal
  • các hàm áp dụng một phần
  • các bộ sưu tập song song

Câu 4. Bạn sử dụng cái gì trong ScalaTest để xem biểu đồ chi tiết của các thông báo lỗi khi một bài kiểm tra thất bại?

  • ArgumentExceptions
  • AssertionException
  • DiagrammedAssertions
  • JUnit

Câu 5. Loại dữ liệu nào bạn sẽ sử dụng để lưu trữ một bộ sưu tập không thay đổi của các đối tượng chứa một số lượng cố định các loại khác nhau?

  • Array
  • ImmutableCollection
  • List
  • Tuple

Câu 6. Sau khi xác định một hàm trong trình thông dịch, Scala trả về sau đây. () chỉ ra điều gì?

myfnc: ()Unit
  • Hàm không có tác động phụ.
  • Hàm không có tham số.
  • Hàm không trả về giá trị.
  • Trả về các loại đơn vị cho hàm là các đóng.

Câu 7. Loại số nào là 1234.e5?

  • hệ thập lục phân
  • ngắn
  • dấu chấm động
  • dài

Câu 8. Khi bạn chuyển đổi một bản đồ thành một danh sách bằng phương thức toList của bản đồ, kết quả sẽ là loại nào?

  • List[(String, String)]
  • List[(Array, Array)]
  • List[(Collection, Collection)]
  • List

Câu 9. Đoạn mã này tạo ra đối tượng loại gì?

val x = (1234, "Active")
  • List
  • Map
  • Tuple
  • Array

Câu 10. Lớp con nào của tất cả các lớp?

  • AnyVal
  • AnyRef
  • Method
  • Null

Null trong thư viện tiêu chuẩn Scala. Câu hỏi không chính xác một chút - Null là một loại con của mọi loại trừ các loại lớp giá trị

Câu 11. Đối với cấu trúc for-yield, phạm vi có phân biệt riêng biệt giữa for-body và yield-body không?

  • Có và không. Nó khác nhau tùy thuộc vào cấu trúc for và điều nó làm.
  • Có, vì phần for không tiết lộ phạm vi của nó.
  • Không, vì for-yield chia sẻ cùng một phạm vi, ngay cả khi chúng ở trong các dấu ngoặc nhọn khác nhau.
  • Có, vì chúng ở trong các dấu ngoặc nhọn khác nhau.

Ví dụ: yield-body có quyền truy cập vào biến e từ for-body

val a = Array(1, 2, 3, 4, 5)
for {
     e <- a if e > 2
} yield e

Câu 12. Cách nào để thực hiện so khớp mẫu trên các phương thức?

  • sử dụng regex
  • sử dụng monads
  • sử dụng so khớp chuỗi
  • sử dụng các lớp case

Lưu ý: câu hỏi mơ hồ, không rõ loại so khớp mẫu nào được đề cập ở đây.

Câu 13. Giá trị của z sau khi thực thi mã này là gì?

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))

Câu 14. Thuật ngữ nào được sử dụng để chỉ định một điều kiện tiên quyết?

  • assert
  • require
  • precondition
  • mustHave

Câu 15. Loại Scala nào có thể ném ra

một ngoại lệ hoặc một giá trị được tính toán thành công, và thường được sử dụng để bắt và truyền các lỗi?

  • scala.util.ExceptionHandling
  • scala.Catch.Throw
  • scala.exception.TryFinally
  • scala.util.Try

scala.util.Try

Câu 16. Loại dữ liệu của y sau khi mã này được thực thi là gì?

val y = (math floor 3.1415 * 2)
  • ngắn
  • double
  • int
  • bigInt

Câu 17. Khi sử dụng so khớp mẫu, ký tự nào phù hợp với bất kỳ đối tượng nào?

  • %
  • _
  • ^
  • -

So khớp mẫu

Câu 18. Bạn đã tạo một mảng bằng val. Bạn có thể thay đổi giá trị của bất kỳ phần tử nào của mảng không—và tại sao hoặc tại sao không?

  • Có, tham chiếu đến mảng là bất biến, vì vậy vị trí mà mảng chỉ vào là không thay đổi. Các giá trị trong mảng có thể thay đổi.
  • Phần tử thứ 0 là bất biến và không thể được sửa đổi. Tất cả các phần tử khác có thể được sửa đổi.
  • Có, val không làm cho mảng không thay đổi.
  • Không, val làm cho mảng và các giá trị của mảng không thay đổi.

Giải thích:

val a1 = Array(1, 2, 3)
a1{1} = 3 // OK
a1 = Array(1, 3, 3) // lỗi: gán lại cho val

Câu 19. Đầu ra của hàm này là gì?

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

Câu 20. Bạn gọi các đối tượng có trạng thái không thay đổi là gì?

  • singletons
  • stationary objects
  • functional objects
  • fixed objects

Ghi chú: singletons có thể có trạng thái thay đổi