Site icon Khoa Phạm BK Blog

Top 10 câu hỏi phỏng vấn Linux hàng đầu dành cho ứng viên

Linux là một hệ điều hành không xa lạ gì với các lập trình viên, nhất là các vị trí thường xuyên thao tác với hệ thống (System). Thành thạo Linux là một yêu cầu mà nhiều nhà tuyển dụng bắt buộc khi phỏng vấn lập trình viên, vì thế để chuẩn bị tốt cho buổi phỏng vấn của mình, chúng ta cùng nhau tìm hiểu top 10 câu hỏi thường gặp liên quan đến hệ điều hành Linux này nhé.

Câu 1: Hệ điều hành mã nguồn mở là gì?

Mã nguồn mở (open-source) là thuật ngữ chung đề cập đến các phần mềm và ứng dụng chạy trên thiết bị máy tính mà cho phép người dùng có thể sử dụng, xem và tùy chọn sửa đổi các mã nguồn (source code). Hệ điều hành mã nguồn mở (Open-Source Operating System) là những hệ điều hành cho phép cá nhân hay tổ chức được phép can thiệp vào sâu bên trong để tùy biến và sử dụng với các mục đích khác nhau mà không thu phí.

Một số hệ điều hành mã nguồn mở hiện nay như Linux (cha đẻ của những Ubuntu, Fedora, Android,…) Open Solaris, Free BSD. Ngược lại với hệ điều hành mã nguồn mở là hệ điều hành đóng như iOS, macOS của Apple hay Windows của Microsoft.

Câu 2: Linux là gì?

Linux là một họ các hệ điều hành tự do mã nguồn mở dựa trên Linux kernel (hạt nhân Linux). Linux được phát hành lần đầu vào năm 1991, bản phát hành bao gồm nhân Linux (kernel), các thư viện và phần mềm hệ thống hỗ trợ.

Từ bản phát hành của Linux, nhiều hệ điều hành dựa trên Linux ra đời và trở nên phổ biến như Ubuntu, Debian hay Fedora. Android – hệ điều hành phổ biến chạy trên các smartphone hiện nay cũng là một hệ điều hành dựa trên nền tảng Linux. Ngoài ra Linux cũng chạy được trên các hệ thống nhúng, từ đó mà các thiết bị điện tử khác như Tivi, máy quay, các thiết bị điện trong smarphone,… cũng đang được chạy phần mềm hoạt động trên nền tảng Linux.

Câu 3: Nêu những ưu điểm của Linux

Ngoài việc là một hệ điều hành mã nguồn mở, hoàn toàn miễn phí thì Linux còn nhiều ưu điểm đáng để sử dụng:

Câu 4: Các thành phần cơ bản của Linux

Linux có 4 thành phần cơ bản sau:

Câu 5: Linux Shell là gì?

Linux Shell là một chương trình cung cấp giao diện dành cho người dùng để sử dụng các dịch vụ hệ điều hành. Shell nhận các lệnh mà người dùng nhập vào, đọc và thực hiện chuyển đổi chúng thành thứ mà Kernel (nhân Linux) có thể hiểu được.

Để làm được điều này thì Shell được trang bị một trình thông dịch để thực thi các lệnh mà người dùng nhập vào. Shell được chia thành 2 loại:

Câu 6: Root là gì? Có các loại chủ sở hữu nào trong Linux?

Root là tên người sử dụng (tài khoản) mặc định có quyền truy cập vào tất cả các lệnh và file trên Linux. Quyền Root dùng để chỉ quyền hạn mà tài khoản root có trên hệ thống, đây là đặc quyền lớn nhất trên hệ thống, có quyền tuyệt đối thao tác với dữ liệu, file, thư mục; ngoài ra còn có quyền cấp và thu hồi quyền truy cập đối với các tài khoản user khác trên hệ thống.

Trong Linux, có 3 loại chủ sở hữu (ownership) được gắn lên mỗi file và thư mục bao gồm:

Linux quy định 3 chủ sở hữu trên để phân quyền và kiểm soát hành vi của người dùng.

Câu 7: Permissions trong Linux. Làm sao để thay đổi quyền của file hay thư mục trong Linux?

Permissions hay quyền giúp kiểm soát hành vi của người dùng trong Linux. Mỗi file hay thư mục trong Linux đều có 3 quyền: đọc, ghi và thực thi. Cụ thể là:

Để xem được quyền của file hay thư mục, chúng ta sử dụng lệnh: “ls – l”

Để thay đổi quyền truy cập vào 1 file hay folder chúng ta sử dụng lệnh: “chmod <permissions-number> <filename>”. Trong đó permissions-number sẽ có 3 chữ số với ý nghĩa lần lượt từ trái sang phải là quyền của user, quyền của group và quyền của others.

Câu 8: Trình soạn thảo Vi trong Linux

Trình soạn thảo Vi là một trong những cách phổ biến nhất để người dùng thao tác chỉnh sửa nội dung file trong Linux, nó được ưu chuộng bởi việc nhẹ, chiếm ít tài nguyên và mặc định có sẵn trong các hệ điều hành Linux. Phiên bản nâng cấp của Vi là Vim – Vi Improved. Một số lệnh cơ bản khi thao tác với Vi

Câu 9: stdin, stdout, stderr là gì?

Stdin, stdout và stderr là ba luồng dữ liệu được tạo khi bạn khởi chạy một lệnh trong Linux, trong đó:

Nói cách khác chúng ta có 1 luồng đầu vào và 2 luồng đầu ra. Mặc định khi chạy chương trình thì kết quả sẽ được hiện ra ở 2 nơi stdout và stderr; để có thể dễ dàng kiểm tra cũng như xử lý các tiến trình tiếp theo thì chúng ta thường sử dụng kỹ thuật trong bash Linux để gửi 2 kết quả đầu ra trên về cùng 1 nơi nào đó, ví dụ như lưu vào 1 file. Kỹ thuật này gọi là sự chuyển hướng câu lệnh.

Câu 10: Những phiên bản phổ biến nhất của hệ điều hành Linux

  1. Red Hat Enterprise Linux: được sử dụng chủ yếu bởi các tổ chức có yêu cầu tính bảo mật cao như cơ quan, tổ chức nhà nước
  2. CentOS: hệ điều hành cho các server và hoàn toàn miễn phí, đây cũng là 1 bản phân phối miễn phí của Red Hat, vì thế nó được đánh giá cao nhờ mức độ bảo mật
  3. Fedora: cũng là một phiên bản được tài trợ bởi Red Hat, nó được dùng để kiểm tra các tính năng mới trước khi được thương mại hóa của Red Hat Enterprise Linux
  4. Debian Linux: bản phân phối miễn phí của Linux, chúng ta có thể dùng để tham khảo source code hay tùy biến để thương mại hóa hoàn toàn hợp pháp
  5. Ubuntu: được xem là Windows của Linux, dễ sử dụng, tương đối đầy đủ các phần mềm và công cụ với hiệu năng ổn đáp ứng nhu cầu của người dùng.

Kết bài

Trên đây là top 10 câu hỏi liên quan đến hệ điều hành Linux mà bạn có thể bắt gặp trong buổi phỏng vấn của mình. Nếu đi sâu vào hệ điều hành Linux, sẽ có rất nhiều kiến thức chuyên sâu mà bạn cần chuẩn bị thêm, liên quan đến phần nhân và cách hệ điều hành hoạt động. Hy vọng bài viết này hữu ích dành cho các bạn có cái nhìn tổng quan về Linux và chuẩn bị thật tốt cho buổi phỏng vấn sắp tới. Hẹn gặp lại các bạn trong các bài viết tiếp theo của mình.

Bài viết được đăng trên blog TopDev: https://topdev.vn/blog/top-10-cau-hoi-phong-van-linux/

Exit mobile version