Site reliability engineer (viết tắt là SRE), chức danh này thường lạ lẫm với đa số anh em làm việc bên ngành lập trình, bài viết này sẽ cung cấp cho anh em cái nhìn rõ ràng SRE và phỏng vấn Site reliability engineer như thế nào?
Viết tới đây chắc một số anh em vẫn còn chưa nắm rõ SRE cụ thể là gì? Xin anh em đừng vội, cùng bắt đầu với câu hỏi phỏng vấn Site reliability engineer nha.
1. Vị trí site reliability engineer (SRE) là gì?
Câu hỏi phỏng vấn Site reliability engineer đầu tiên lạị hỏi vị trí đó là gì thì hơi kì. Tuy nhiên đối với vị trí SRE thì câu hỏi này không có gì là lạ.
Vị trí SRE có đôi điểm khác biệt so với các vị trí khác. Dẫn tới việc hiểu rõ công việc mà mình sẽ làm, nếu apply vào vị trí này sẽ làm gì là điều rất quan trọng.
Đầu tiên chưa bàn tới định nghĩa thì anh em biết cho dù có sử dụng techstack là gì, sử dụng cloud service như thế nào thì hệ thống đôi khi sẽ có lúc down. Tính là downtime. Ngoài thời gian do trục trặc hệ thống và các bên cung cấp, một số lỗi (bugs) cũng ảnh hưởng tới thời gian hệ thống hoạt động ổn định. Vậy vị trí SRE sinh ra với mục đích gì?
The site reliability engineer is responsible for the stability and performance of websites, mobile applications, web services, and other online services. They’re in charge of monitoring the performance of websites and apps to check for issues and make sure they’re running smoothly.Site reliability engineer (thường gọi là kỹ sư độ tin cậy). Họ là người chịu trách nhiệm về tính ổn định và hiệu suất của các trang web, ứng dụng di động, dịch vụ web và các dịch vụ trực tuyến khác. Họ chịu trách nhiệm giám sát hiệu suất của các trang web và ứng dụng để kiểm tra các vấn đề và đảm bảo rằng chúng đang chạy trơn tru.
2. SRE và Devops khác nhau như thế nào?
Câu hỏi phỏng vấn Site reliability engineer đầu tiên đã cho anh em biết nhiệm vụ chính của SRE. Nhưng khổ cái là trách nhiệm giám sát hiệu suất và đảm bảo các ứng dụng, web hoạt động trơn tru nghe như là trách nhiệm của Devops.
Kì thực thì 2 vị trí này có gì khác nhau? Nếu có thì khác nhau như thế nào? Đầu tiên ta đi tới 2 điểm giống nhau về công việc và việc làm của 2 vị trí Devops và SRE.
DevOps and Site Reliability Engineer are the two terms used to describe a person who specializes in improving applications and services while they are being used. Devops và Site Reliability Engineer là hai thuật ngữ được sử dụng để mô tả một người chuyên cải tiến các ứng dụng và dịch vụ trong khi chúng đang được sử dụng.
Thứ hai:
DevOps and Site reliability engineering are both important roles in modern IT organizations. However, there is a big difference between them. Devops và Site reliability engineering đều có vai trò quan trọng trong các tổ chức CNTT hiện đại. Tuy nhiên, có một sự khác biệt lớn giữa chúng.
2.1 Khác biệt chính
Tuy có trách nhiệm chung nhưng vẫn tồn tại một số khác biệt như sau:
DevOps | SRE |
Devops liên quan đến việc phát triển phần mềm có thể được cập nhật và sửa đổi trong khi phần mềm đang chạy. | SRE thì ngược lại tập trung vào việc duy trì và chạy một ứng dụng hoặc dịch vụ. |
DevOps thường sử dụng các công cụ tự động hóa để cải thiện quy trình làm việc của họ. | SRE làm việc với cả công cụ tự động hóa và con người để đảm bảo dịch vụ tiếp tục hoạt động trơn tru. |
DevOps quyết định lúc nào và cách thức phần mềm được xây dựng. | SRE tập trung vào những gì xảy ra sau khi nó được xây dựng |
Tham khảo tin tuyển dụng DevOps hấp dẫn trên TopDev
3. DHCP là gì? Sử dụng DHCP như thế nào?
Câu hỏi thứ ba phỏng vấn Site reliability engineer liên quan tới protocols. Tuy nhiên anh em lưu ý câu hỏi chỉ là câu hỏi ví dụ.
Về các kiến thức khác liên quan tới kĩ thuật, anh em cố gắng cập nhật hoặc ôn lại chuẩn bị trước khi phỏng vấn.
Đầu tiên DHCP là viết tắt của Dynamic Host Configuration Protocol. Giao thức này cho phép phân bố các IP động trong mạng máy tính (networks). DHCP sử dụng để gán các địa chỉ IP address cho các thiết bị (PCs, các thiết bị mạng).
Về cơ bản khi một thiết bị kết nối vào mạng, nó sẽ cần IP để truy cập internet. Trong trường hợp này DHCP là bên quản lý và cấp phát các IP động tới từng thiết bị. Đảm bảo cho network hoạt động thông suốt
4. Bạn sẽ xử lý như thế nào trong trường hợp hệ thống có sự cố?
Câu hỏi thứ 4 phỏng vấn Site reliability engineer là kinh nghiệm thực tế trong quá trình làm việc.
Qua câu hỏi thứ nhất, anh em cũng đã hiểu trách nhiệm, công việc cần làm của SRE, vậy trường hợp có sự cố, SRE sẽ xử lý sự cố như thế nào?
Câu hỏi này tập trung vào kỹ năng ở các nhóm chính, cũng có thể nói là các nhóm công cụ chính sử dụng trong quá trình làm việc. Đơn cử có thể liệt kê theo các nhóm sau:
-
- Metrics và Monitoring
-
- Capacity và Planning
-
- Change Management
-
- Emergency Response
Vậy trong trường hợp có sự cố, bằng việc sử dụng kết hợp các nhóm kể trên. SRE có thể dễ dàng nhanh chóng phát hiện sự cố. Trường hợp không thể xử lý sự cố một mình, SRE có thể yêu cầu trợ giúp từ dev team, devops team. Với các thông tin đánh giá sự cố đã có sẵn.
5. Horizontal và Vertical Scaling khác nhau như thế nào?
Câu hỏi thứ 5 và cũng là câu hỏi cuối cùng phỏng vấn Site reliability engineer liên quan tới scale hệ thống. Tất nhiên câu hỏi này đôi khi không phải là trách nhiệm chính của SRE.
Tuy nhiên, kiến thức về scale và các hệ thống lớn luôn là điểm cộng khi tham gia phỏng vấn SRE. Dữ liệu càng ngày càng nhiều.
Về cơ bản thì Vertical Scaling (scale theo chiều dọc) là quá trình mở rộng hệ thống bằng cách tăng tài nguyên của chính hệ thống đó. Việc tăng tài nguyên có thể được hiểu là RAM, CPU, Chip. Các thiết bị phần cứng khác có liên quan.
Ở chiều ngược lại, Horizontal Scaling (scale theo chiều ngang) nói tới việc thêm các virtual machine trong cùng 1 host. Tạo ra nhiều hơn các instance nằm ngang cùng cấp với nhau.
Cả hai loại hình scale đều có điểm yếu và điểm mạnh. Anh em có thể tìm hiểu thêm thông tin để biết trong trường hợp có xảy ra sự cố, sẽ cần xử lý như thế nào cho từng loại hệ thống lớn.
6. Tham khảo thêm câu hỏi phỏng vấn Site reliability engineer
Để chuẩn bị tốt cho buổi phỏng vấn Site reliability engineer. Anh em có thể tham khảo thêm các bài viết dưới đây:
Cảm ơn anh em đã đọc bài – Thank you so much for your time – Happy coding!
Tác giả: Kiên Nguyễn
Có thể bạn quan tâm:
- Top 5 câu hỏi phỏng vấn Devops Engineer thường gặp và cách trả lời
- DevOps trend – 8 dự đoán trong nhiều năm tới
- Top 10 khóa huấn luyện kỹ sư DevOps cho dân Dev
Xem thêm Việc làm Developer hấp dẫn trên TopDev