Vinova tuyển lập trình viên Mobile & Web ở Hà Nội, lương $300-1000

Article: Chứng chỉ Ruby 1238

ngocdaothanh.myopenid.com 172
Updated over 3 years ago

Có học là có thi, có kiến thức là có chứng chỉ nhằm chuẩn hoá. Hiệp hội Ruby đã đề ra chứng chỉ Ruby gồm 3 cấp độ: Silver, Gold, Platinum. Thi bằng tiếng Nhật hoặc Anh trên máy tính. Cấp Gold và Platinum từ khoảng 2009 mới bắt đầu thi.

Dưới đây là 20 câu hỏi mẫu (thi thật 50 câu) đã được dịch từ tiếng Nhật sang tiếng Việt của cấp Silver. Chú ý nếu có nhiều câu trả lời đúng, thì phải chọn hết.

1. Ở điều kiện if, giá trị nào sau đây được coi là đúng?

  1. 1
  2. 0
  3. true
  4. ""
  5. null

2. Chọn từ khoá của Ruby.

  1. do
  2. end
  3. goto
  4. until
  5. case
  6. this
  7. super

3. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
if !nil then
  p "true"
else
  p "false"
end

  1. "true"
  2. Khi chạy bị lỗi
  3. "false"
  4. Không xuất gì ra

4. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
p (1000000000000/10000000000).class

  1. 100
  2. Bignum
  3. Fixnum
  4. nil

5. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
even_number = 101%2 == 0
if even_number == true
  p "even number"
elsif even_number
  p "odd number"
end

  1. "even number"
  2. "odd number"
  3. Không xuất ra gì
  4. nil
  5. Khi chạy bị lỗi

6. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
a = [1, 2]
b = "hello"
a.each { p b }


  1. "hello"
    "hello"
  2. Khi chạy bị lỗi

  3. nil
    nil

  4. ""
    ""

  5. 1
    2

7. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
a = [1, 2]
b = "world"
a.each { |b| a[0] = "hello" }
print a[0], " ", b, "\n"

  1. hello world!
  2. hello 2
  3. 1 world!
  4. 1 2

8. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
a = [1, 2]
a.each { p c }

  1. Khi chạy bị lỗi
  2. ""
  3. nil
  4. Không xuất ra gì

9. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
a = "asdf"
b = "hello"
b = a
a.reverse!
p b

  1. "fdsa"
  2. "asdf"
  3. nil
  4. ""
  5. "hello"

10. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
a = "asdf"
b = "asdf"
puts a.eql?(b)
puts a.equal?(b)


  1. true
    true

  2. true
    false

  3. false
    false

  4. false
    true

11. Chọn giải thích đúng về xử lí lỗi: "Để bắt lỗi, dùng..."

  1. try và catch
  2. begin và rescue
  3. catch và throw
  4. begin và catch

12. Để giá trị xuất ra như ở dưới, _(1)_ phải là gì?
_(1)_ { |x| print x }
[Xuất ra]
123

  1. (1..3).each
  2. 1...3.each
  3. (1...3).each
  4. (1)..(3).each

13. Để giá trị xuất ra như ở dưới, _(1)_ phải là gì?
h = {"a" => 1}
puts _(1)_
[Xuất ra]
1

  1. h[:a]
  2. h['a']
  3. h["a"]
  4. h[$a]

14. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
a = "asdf"
a.reverse
p a

  1. "fdsa"
  2. "asdf"
  3. nil
  4. ""

15. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
(1...10).each { puts "Ruby" }

  1. Khi chạy bị lỗi
  2. Hiện 10 dòng Ruby
  3. Hiện 9 dòng Ruby
  4. Hiện 11 dòng Ruby

16. Toán tử nào dưới đây có thể được định nghĩa lại?

  1. []
  2. !
  3. =
  4. <=>

17. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
ary1 = ["Windows", "MacOS", "Solaris", "Linux"]
ary2 = ["MacOS", "Linux", "FreeBSD"]
p ary1 - ary2

  1. ["Windows", "Solaris", "FreeBSD"]
  2. ["Windows", "Solaris"]
  3. ["Windows", "MacOS", "Solaris", "Linux", "FreeBSD"]
  4. Khi chạy bị lỗi

18. Để giá trị xuất ra như ở dưới, _(1)_ phải là gì?
ary1 = ["Windows, "MacOS", "Solaris", "Linux"]
ary2 = ["MacOS", "Linux"]
p ary1 _(1)_ ary2
[Xuất ra]
["Windows", "MacOS", "Solaris", "Linux"]

  1. +
  2. -
  3. |
  4. &

19. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
p "foo".delete("o")

  1. "foo"
  2. "fo"
  3. "f"
  4. "fff

20. Khi chạy đoạn mã sau, giá trị xuất ra là gì?
t1 = Time.parse("S54.7.16 12:00")
puts t1.strtime("%Y/%m/%d %H:%M:%S")

  1. Khi chạy bị lỗi vì phương thức parse chưa được định nghĩa
  2. Xuất ra "1979/07/16 12:00:00"
  3. Khi chạy bị lỗi vì không cho nhập năm có dạng S54
  4. Khi chạy bị lỗi vì thư viện date chưa được load

Comments

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content