wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

VTI - RabbitMQ, Git, Monitor, Log,

Total questions: 75

Worksheet time: 1hrs 15mins

Name
Class
Date
1.

RabbitMQ là gì?

a)

Một hệ thống quản lý cơ sở dữ liệu

b)

Một message broker mã nguồn mở sử dụng giao thức AMQP

c)

Một web server

d)

Một framework Java

2.

RabbitMQ sử dụng giao thức nào để giao tiếp giữa producer và consumer?

a)

HTTP

b)

FTP

c)

AMQP

d)

MQTT

3.

RabbitMQ hoạt động dựa trên mô hình nào?

a)

Publish-Subscribe

b)

Request-Response

c)

Point-to-Point

d)

Tất cả đều đúng

4.

Thành phần nào chịu trách nhiệm lưu trữ và quản lý message trong RabbitMQ?

a)

Producer

b)

Exchange

c)

Queue

d)

Consumer

5.

Trong RabbitMQ, exchange có nhiệm vụ gì?

a)

Gửi message đến queue theo routing key

b)

Lưu trữ message tạm thời

c)

Trực tiếp gửi message đến consumer

d)

Xóa message khỏi queue

6.

Các loại exchange trong RabbitMQ gồm có những loại nào?

a)

Direct, Fanout, Topic, Headers

b)

Direct, Random, Topic, Delay

c)

Load Balancer, Direct, Topic, Queue

d)

Header, Priority, Load Balancer

7.

Routing key được sử dụng như thế nào trong exchange Direct?

a)

Routing key phải khớp chính xác với queue binding key

b)

Routing key không có tác dụng

c)

Routing key chỉ dùng cho exchange kiểu Fanout

d)

Routing key sẽ tự động được hệ thống RabbitMQ tạo

8.

Điều gì xảy ra nếu một message được gửi đến một exchange mà không có queue nào được bind với nó?

a)

Message sẽ bị mất

b)

Message sẽ được lưu lại chờ có queue bind sau này

c)

Exchange sẽ tự động tạo queue mới

d)

Message sẽ được gửi đến tất cả consumer

9.

Cách tốt nhất để đảm bảo message không bị mất khi RabbitMQ gặp sự cố là gì?

a)

Sử dụng queue bền vững (durable queue) và message persistent

b)

Luôn giữ một bản sao message trên producer

c)

Gửi message đến nhiều exchange khác nhau

d)

Không có cách nào đảm bảo 100%

10.

RabbitMQ có hỗ trợ xử lý message ưu tiên (priority messages) không?

a)

Có, bằng cách sử dụng queue có priority

b)

Không, RabbitMQ xử lý tất cả các message như nhau

c)

Chỉ khi sử dụng Fanout Exchange

d)

Chỉ khi sử dụng AMQP 2.0

11.

Cách cài đặt RabbitMQ trên Ubuntu bằng lệnh nào?

a)

sudo apt install rabbitmq

b)

sudo apt install rabbitmq-server

c)

sudo install rabbitmq

d)

sudo apt-get install rabbit-mq

12.

Lệnh nào được dùng để kiểm tra trạng thái của RabbitMQ service?

a)

rabbitmq status

b)

systemctl status rabbitmq-server

c)

rabbitmqctl check_status

d)

service rabbitmq status

13.

Làm thế nào để tạo một queue trong RabbitMQ bằng Python (pika library)?

a)

channel.declare_queue(queue='test')

b)

channel.queue_declare(queue='test')

c)

channel.create_queue('test')

d)

queue.new('test')

14.

Để gửi một message đến queue, lệnh nào sau đây là đúng (với Python và pika)?

a)

channel.basic_publish(exchange='', routing_key='test', body='Hello!')

b)

channel.send_message(queue='test', body='Hello!')

c)

queue.send('Hello!')

d)

channel.push_message(queue='test', message='Hello!')

15.

Làm thế nào để nhận message từ RabbitMQ queue bằng Python?

a)

channel.basic_consume(queue='test', on_message_callback=callback, auto_ack=True)

b)

channel.receive(queue='test', callback=callback)

c)

queue.get_message(callback=callback)

d)

channel.listen(queue='test', callback=callback)

16.

Lệnh nào dùng để thêm user mới vào RabbitMQ?

a)

rabbitmqctl add_user newuser newpassword

b)

rabbitmqctl create_user newuser newpassword

c)

rabbitmqctl add newuser newpassword

d)

rabbitmqctl useradd newuser newpassword

17.

Làm thế nào để xóa một queue có tên "my_queue"?

a)

rabbitmqctl delete_queue my_queue

b)

rabbitmqadmin delete queue name=my_queue

c)

rabbitmq remove_queue my_queue

d)

queue.remove('my_queue')

18.

Làm thế nào để cấu hình RabbitMQ web management plugin?

a)

rabbitmq-plugins enable rabbitmq_management

b)

rabbitmq enable management

c)

systemctl enable rabbitmq_management

d)

rabbitmqctl enable management

19.

Cách tốt nhất để đảm bảo consumer không bị quá tải khi nhận message từ RabbitMQ?

a)

Sử dụng cơ chế Prefetch count

b)

Giới hạn số lượng queue

c)

Giới hạn số lượng exchange

d)

Chặn message đến consumer

20.

Làm thế nào để kiểm tra danh sách các queue trong RabbitMQ?

a)

rabbitmqctl list_queues

b)

rabbitmq queue list

c)

rabbitmqctl show_queues

d)

rabbitmq-admin queues

21.

Git là gì?

a)

Một hệ thống quản lý cơ sở dữ liệu

b)

Một hệ thống quản lý phiên bản phân tán (VCS)

c)

Một ngôn ngữ lập trình

d)

Một công cụ CI/CD

22.

Sự khác biệt giữa Git và GitHub là gì?

a)

Git là một hệ thống quản lý phiên bản, còn GitHub là một dịch vụ lưu trữ Git trực tuyến

b)

GitHub là phiên bản nâng cấp của Git

c)

Git chỉ hoạt động trên GitHub

d)

Không có sự khác biệt

23.

Lệnh nào được sử dụng để kiểm tra trạng thái của repository?

a)

git check

b)

git status

c)

git log

d)

git state

24.

Lệnh nào dùng để khởi tạo một Git repository mới?

a)

git init

b)

git start

c)

git new

d)

git create

25.

Trong Git, "staging area" là gì?

a)

Một nơi lưu trữ tạm thời các thay đổi trước khi commit

b)

Một khu vực chứa tất cả các commit trước đó

c)

Một thư mục chứa các file đã bị xóa

d)

Một nhánh đặc biệt

26.

Lệnh nào dùng để commit các thay đổi trong Git?

a)

git save

b)

git commit -m "Message"

c)

git push commit

d)

git stage commit

27.

Lệnh nào dùng để xem lịch sử commit của repository?

a)

git history

b)

git show

c)

git log

d)

git list

28.

Lệnh nào dùng để tạo một nhánh mới trong Git?

a)

git new branch

b)

git checkout -b branch_name

c)

git create branch_name

d)

git branch -n branch_name

29.

Lệnh nào dùng để hợp nhất (merge) một nhánh vào nhánh hiện tại?

a)

git merge branch_name

b)

git combine branch_name

c)

git join branch_name

d)

git integrate branch_name

30.

Sự khác biệt giữa git pull và git fetch là gì?

a)

git pull lấy về thay đổi và tự động cập nhật, còn git fetch chỉ tải về mà không cập nhật

b)

git fetch lấy về thay đổi và cập nhật, còn git pull chỉ tải về mà không cập nhật

c)

Chúng hoàn toàn giống nhau

d)

git fetch chỉ hoạt động với branch chính

31.

Làm thế nào để kiểm tra phiên bản Git đang sử dụng?

a)

git --version

b)

git version

c)

git show-version

d)

git info

32.

Lệnh nào dùng để thêm file vào staging area?

a)

git add file.txt

b)

git stage file.txt

c)

git commit file.txt

d)

git push file.txt

33.

Làm thế nào để xóa một file khỏi Git nhưng vẫn giữ lại trong thư mục làm việc?

a)

git remove file.txt

b)

git delete file.txt

c)

git rm --cached file.txt

d)

git forget file.txt

34.

Làm thế nào để khôi phục một file đã bị thay đổi trước khi commit?

a)

git reset file.txt

b)

git checkout -- file.txt

c)

git restore file.txt

d)

git revert file.txt

35.

Lệnh nào dùng để xóa một nhánh trong Git?

a)

git remove branch_name

b)

git delete branch_name

c)

git branch -d branch_name

d)

git drop branch_name

36.

Làm thế nào để đặt lại (reset) commit cuối cùng nhưng giữ lại thay đổi trong thư mục làm việc?

a)

git reset --hard HEAD~1

b)

git reset --soft HEAD~1

c)

git revert HEAD~1

d)

git commit --undo

37.

Làm thế nào để đẩy (push) code lên remote repository?

a)

git upload origin main

b)

git push origin main

c)

git commit origin main

d)

git send origin main

38.

Lệnh nào dùng để xem sự khác biệt giữa hai commit?

a)

git log --diff

b)

git show diff

c)

git diff commit1 commit2

d)

git compare commit1 commit2

39.

Làm thế nào để undo (hủy bỏ) một commit đã push lên remote?

a)

git revert commit_id && git push origin main

b)

git reset commit_id && git push origin main

c)

git undo commit_id

d)

git commit --undo commit_id

40.

Làm thế nào để tạo một Git repository mới và liên kết với một remote repository trên GitHub?

a)

-git init

git remote add origin <repository_url>

git add .

git commit -m "Initial commit"

git push -u origin main

b)

git create

git connect <repository_url>

git add .

git commit "Initial commit"

git upload

c)

git init

git connect <repository_url>

git commit -m "Initial commit"

git push origin main

d)

git start

git link <repository_url>

git commit -m "Initial commit"

git push origin main

41.

Zabbix là gì?

a)

Hệ thống giám sát mã nguồn mở

b)

Công cụ phân tích dữ liệu

c)

Hệ thống quản lý cơ sở dữ liệu

d)

Phần mềm tường lửa

42.

Những thành phần chính của Zabbix bao gồm?

a)

Zabbix Server, Zabbix Agent, Zabbix Proxy, Zabbix Frontend

b)

Zabbix Server, MySQL, Apache

c)

Zabbix Monitor, Zabbix Collector, Zabbix Analyzer

d)

Zabbix Core, Zabbix Firewall, Zabbix Log

43.

Chức năng của Zabbix Agent là gì?

a)

Thu thập dữ liệu từ máy chủ hoặc thiết bị và gửi về Zabbix Server

b)

Lưu trữ dữ liệu giám sát

c)

Hiển thị giao diện quản lý Zabbix

d)

Tạo cảnh báo và gửi thông báo

44.

Zabbix Proxy được sử dụng khi nào?

a)

Khi cần giám sát các thiết bị từ xa mà không thể kết nối trực tiếp với Zabbix Server

b)

Khi Zabbix Server bị lỗi

c)

Khi cần tăng tốc độ thu thập dữ liệu

d)

Khi cần giám sát dữ liệu từ các hệ thống cloud

45.

Cơ sở dữ liệu nào có thể được sử dụng với Zabbix?

a)

MySQL

b)

PostgreSQL

c)

Oracle

d)

Tất cả các lựa chọn trên

46.

Item trong Zabbix có nhiệm vụ gì?

a)

Thu thập dữ liệu từ hệ thống

b)

Hiển thị đồ thị trong giao diện web

c)

Lưu trữ dữ liệu trong cơ sở dữ liệu

d)

Gửi thông báo khi có sự cố

47.

Trigger trong Zabbix là gì?

a)

Một cách để hiển thị dữ liệu trên dashboard

b)

Một tập hợp các máy chủ được giám sát

c)

Một điều kiện để xác định khi nào xảy ra sự cố

d)

Một loại cảnh báo trong Zabbix

48.

SNMP được sử dụng trong Zabbix để làm gì?

a)

Gửi thông báo khi có lỗi phần cứng

b)

Giám sát thiết bị mạng như switch, router

c)

Tăng tốc độ giám sát của Zabbix

d)

Mở rộng dung lượng cơ sở dữ liệu của Zabbix

49.

Một Action trong Zabbix có thể thực hiện những gì?

a)

Gửi email thông báo

b)

Gửi cảnh báo qua Telegram hoặc Slack

c)

Chạy một script tự động để khắc phục sự cố

d)

Tất cả phương án trên

50.

Để giám sát trạng thái một dịch vụ trên Linux, Zabbix Agent sử dụng key nào?

a)

system.uptime

b)

net.tcp.listen[80]

c)

service.info[apache2]

d)

proc.num[httpd]

51.

Lệnh nào kiểm tra trạng thái của Zabbix Server trên Linux?

a)

service zabbix-agent status

b)

systemctl status zabbix-server

c)

zabbix_server --check

d)

zabbix_agentd --status

52.

Lệnh nào để kiểm tra Zabbix Agent có đang hoạt động hay không?

a)

zabbix_agentd --status

b)

systemctl start zabbix-agent

c)

zabbix_get

d)

ps aux | grep zabbix_agentd

53.

Để thêm một host mới vào Zabbix, bước đầu tiên cần làm là gì?

a)

Thêm host vào danh sách trên Zabbix Frontend

b)

Cài đặt và cấu hình Zabbix Agent trên host đó

c)

Tạo trigger để cảnh báo sự cố

d)

Tạo biểu đồ giám sát

54.

Tập tin cấu hình chính của Zabbix Server trên Linux nằm ở đâu?

a)

/etc/zabbix/zabbix_server.conf

b)

/usr/local/etc/zabbix_server.conf

c)

/etc/zabbix/zabbix_agentd.conf

d)

/var/lib/zabbix/zabbix_server.conf

55.

Lệnh nào để kiểm tra dữ liệu từ Zabbix Agent trên Linux?

a)

zabbix_get -s <IP> -k system.cpu.load

b)

zabbix_agentd --status

c)

systemctl check zabbix-agent

d)

zabbix_check -a

56.

Để giám sát mức sử dụng CPU của một máy chủ Linux, ta sử dụng key nào?

a)

cpu.usage

b)

process.cpu

c)

system.cpu.load

d)

monitor.cpu

57.

Làm thế nào để kiểm tra dữ liệu thu thập được từ một host trong Zabbix?

a)

Kiểm tra qua giao diện web

b)

Dùng zabbix_get để lấy dữ liệu

c)

Truy vấn trực tiếp từ cơ sở dữ liệu

d)

Cả A, B và C

58.

Cách tốt nhất để giám sát một website bằng Zabbix là gì?

a)

Sử dụng Web Scenario

b)

Viết script kiểm tra uptime

c)

Dùng SNMP kiểm tra trạng thái website

d)

Dùng email để thông báo khi website bị lỗi

59.

Làm thế nào để tạo cảnh báo khi CPU đạt 90%?

a)

Tạo item để thu thập dữ liệu CPU

b)

Tạo trigger khi CPU đạt 90%

c)

Cấu hình action để gửi thông báo

d)

Cả A, B và C

60.

Lệnh nào để restart Zabbix Server?

a)

systemctl restart zabbix-server

b)

service zabbix restart

c)

zabbix_server --restart

d)

systemctl restart zabbix-agent

61.

Thành phần nào trong Zabbix tạo ra Alert?

a)

Item

b)

Trigger

c)

Template

d)

Graph

62.

Alert trong Zabbix có thể được gửi qua phương thức nào?

a)

Email

b)

Telegram

c)

SMS

d)

Cả A, B và C

63.

Thành phần nào trong Zabbix quyết định ai sẽ nhận Alert?

a)

Action

b)

Media Type

c)

User Group

d)

Cả A, B và C

64.

Để một Trigger có thể gửi Alert, trạng thái của nó phải là gì?

a)

OK

b)

Problem

c)

Resolved

d)

Disabled

65.

Trong Zabbix, Action là gì?

a)

Một cấu hình để tự động gửi thông báo khi có sự kiện xảy ra

b)

Một phương thức thu thập dữ liệu từ máy chủ

c)

Một phương pháp vẽ biểu đồ dữ liệu

d)

Một tính năng để lưu trữ thông tin giám sát

66.

Một Action trong Zabbix có thể thực hiện những hành động nào?

a)

Gửi thông báo

b)

Thực hiện một lệnh tự động

c)

Chạy một script

d)

Cả A, B và C

67.

Làm thế nào để kiểm tra lịch sử các Alert đã được gửi trong Zabbix?

a)

Vào phần Monitoring → Problems

b)

Vào phần Monitoring → Event

c)

Vào phần Administration → Audit Logs

d)

Vào phần Reports → Alert Logs

68.

Trong Zabbix, Media Type dùng để làm gì?

a)

Xác định phương thức gửi Alert (email, SMS, Telegram, v.v.)

b)

Xác định điều kiện kích hoạt Alert

c)

Quản lý người dùng trong hệ thống

d)

Xác định cách thu thập dữ liệu từ thiết bị

69.

Làm thế nào để tắt Alert cho một Trigger mà không xóa Trigger đó?

a)

Disable Trigger

b)

Disable Action liên quan đến Trigger đó

c)

Thay đổi điều kiện của Action

d)

Cả A, B và C

70.

Làm thế nào để kiểm tra danh sách Alert đang hoạt động?

a)

Vào Monitoring → Problems

b)

Vào Monitoring → Events

c)

Vào Administration → Notifications

d)

Vào Configuration → Hosts

71.

Để gửi Alert qua Telegram, bạn cần làm gì trước tiên?

a)

A. Tạo một bot trên Telegram và lấy API Token

b)

B. Cài đặt module Python cho Zabbix

c)

C. Cấu hình SMS gateway

d)

D. Cả A và B

72.

Làm thế nào để gửi Alert khi một máy chủ bị mất kết nối (ping timeout)?

a)

A. Tạo Item sử dụng key icmpping

b)

B. Tạo Trigger với điều kiện icmpping=0

c)

C. Tạo Action để gửi thông báo khi Trigger kích hoạt

d)

D. Cả A, B và C

73.

Trong Action, điều kiện nào có thể được sử dụng để kiểm soát việc gửi Alert?

a)

A. Trigger name

b)

B. Host group

c)

C. Severity level (Cảnh báo mức độ)

d)

D. Cả A, B và C

74.

Làm thế nào để gửi Alert khi dung lượng ổ đĩa trên server giảm xuống dưới 10%?

a)

A. Tạo Item với key vfs.fs.size[/,pfree] để lấy % dung lượng trống

b)

B. Tạo Trigger với điều kiện {host:vfs.fs.size[/,pfree].last()}<10

c)

C. Tạo Action để gửi thông báo khi Trigger được kích hoạt

d)

D. Cả A, B và C

75.

Nếu gặp lỗi "Permission denied (publickey)", khi kết nối đến máy từ xa bằng Ansible, cách khắc phục là gì?

a)

A. Kiểm tra và cấu hình khóa SSH chính xác (ssh-copy-id <user>@<host>)

b)

B. Sử dụng --ask-pass để nhập mật khẩu SSH

c)

C. Cấu hình tài khoản root có quyền truy cập

d)

D. Cả A và B