Thư Viện Câu Hỏi Phỏng Vấn

Tổng hợp các câu hỏi tuyển dụng thực tế theo nhiều cấp độ từ Entry đến Expert để bạn tự tin chinh phục nhà tuyển dụng.

01

SOA (Service-Oriented Architecture) là gì? So sánh sự khác nhau giữa kiến trúc SOA và kiến trúc Microservices?

Senior

SOA là kiến trúc hướng dịch vụ, chia hệ thống thành các dịch vụ độc lập giao tiếp với nhau qua mạng. Microservices được coi là sự tiến hóa và tối giản hóa của SOA:

  • Phạm vi & Chia nhỏ: SOA tập trung vào việc tích hợp các ứng dụng doanh nghiệp lớn khác nhau (Enterprise Application Integration). Microservices tập trung vào việc chia nhỏ một ứng dụng đơn lẻ thành các dịch vụ siêu nhỏ hoạt động độc lập.
  • Giao tiếp: SOA sử dụng một trục tích hợp dịch vụ trung tâm lớn (Enterprise Service Bus - ESB) chứa nhiều logic chuyển đổi định dạng phức tạp (như SOAP/XML). Microservices sử dụng cơ chế giao tiếp đơn giản, gọn nhẹ (như RESTful API / JSON, gRPC, Message Broker).
  • Quản lý dữ liệu: Trong SOA, các dịch vụ có thể chia sẻ chung một cơ sở dữ liệu lớn. Trong Microservices, mỗi dịch vụ bắt buộc phải sở hữu cơ sở dữ liệu riêng của nó (Database-per-Service) để đảm bảo tính cô lập hoàn toàn.
02

Enterprise Service Bus (ESB) đóng vai trò gì trong kiến trúc SOA truyền thống và tại sao nó bị loại bỏ trong Microservices?

Senior

Trong kiến trúc SOA, ESB hoạt động như một hệ thống bưu điện trung tâm trung chuyển và điều phối toàn bộ thông tin liên lạc giữa các dịch vụ:

  • Vai trò của ESB: Chuyển đổi định dạng dữ liệu (ví dụ: XML sang JSON), chuyển đổi giao thức (HTTP sang JMS), định tuyến tin nhắn thông minh và quản lý các giao dịch phức tạp.
  • Lý do bị loại bỏ trong Microservices:
    1. Quá nhiều Business Logic tập trung: ESB vi phạm nguyên tắc "Smart endpoints and dumb pipes" (Điểm cuối thông minh, đường ống ngu ngốc). Việc đưa quá nhiều logic vào ESB biến nó thành một khối Monolith mới, khiến việc nâng cấp, thay đổi một dịch vụ đòi hỏi phải cấu hình lại ESB, gây chậm trễ.
    2. Single Point of Failure: ESB bị sập sẽ làm toàn bộ hệ thống tê liệt.
    3. Microservices thay thế bằng API Gateway (chỉ làm nhiệm vụ routing, rate limiting, authentication đơn giản) và để các dịch vụ tự xử lý dữ liệu của chúng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học