10 câu hỏi có thể gặp khi phỏng vấn
Chọn theo kỹ năng và cấp của tin (Network & System Admin, Java, C# & .NET). Gợi ý trả lời do Drama Công Ty biên soạn để bạn ôn nhanh, không phải đề của công ty.
01Mô hình OSI có mấy tầng? Switch, router và firewall hoạt động ở tầng nào?Network & System Admin · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Network & System Admin →OSI có 7 tầng: Physical, Data Link, Network, Transport, Session, Presentation, Application. Thực tế người ta hay dùng mô hình TCP/IP 4 tầng, nhưng vẫn gọi tên theo OSI.
- Switch (L2): chuyển frame theo địa chỉ MAC; switch L3 có thêm định tuyến.
- Router (L3): định tuyến gói theo địa chỉ IP giữa các mạng.
- Firewall: lọc ở L3/L4 (IP, port); firewall thế hệ mới đọc được tới L7 (ứng dụng, URL).
- TCP/UDP ở L4; HTTP, DNS ở L7.
Người phỏng vấn muốn nghe: dùng OSI để khoanh vùng sự cố, ví dụ "ping được nhưng không mở được web" là vấn đề từ L4 trở lên.
02TCP khác UDP thế nào? Kể vài dịch vụ dùng mỗi loại.Network & System Admin · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Network & System Admin →TCP có kết nối (bắt tay 3 bước), đảm bảo thứ tự và gửi lại gói mất; UDP không kết nối, không đảm bảo, nhưng nhẹ và độ trễ thấp.
- TCP: HTTP/HTTPS (trừ HTTP/3), SSH (22), SMTP, RDP, database.
- UDP: DNS (53, chuyển sang TCP khi trả lời lớn), DHCP (67/68), NTP (123), VoIP, game, video call.
- HTTP/3 chạy trên QUIC, mà QUIC dựa trên UDP.
Hay sai: chỉ mở TCP 53 hoặc UDP 53 trên firewall cho DNS server; nên mở cả hai.
03Một máy tính mới cắm mạng sẽ nhận IP qua DHCP thế nào? Nếu máy nhận IP 169.254.x.x thì sao?Network & System Admin · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Network & System Admin →DHCP gồm 4 bước DORA: Discover (máy phát broadcast tìm server), Offer (server đề nghị IP), Request (máy xin IP đó), Acknowledge (server xác nhận, kèm gateway, DNS, thời hạn lease).
IP
169.254.x.x(APIPA) nghĩa là máy không liên lạc được DHCP server. Kiểm tra:- Cáp, cổng switch, Wi-Fi có kết nối không.
- Cổng switch có đúng VLAN không.
- DHCP server còn chạy, scope còn IP trống không.
- Khác VLAN thì router/switch L3 đã cấu hình DHCP relay (
ip helper-address) chưa.
Người phỏng vấn muốn nghe: đi từ tầng vật lý lên, không vội cài lại máy.
04Vì sao
Stringlà immutable? Khi nào dùngStringBuilderthay choString?Java · JuniorGợi ý trả lời
Ôn thêm câu hỏi Java →Stringbất biến: mọi thao tác "sửa" đều tạo object mới. Nhờ vậy nó an toàn khi chia sẻ giữa nhiều thread, dùng làm key choHashMapđược (hash không đổi) và JVM có thể dùng chung qua string pool.- Nối chuỗi trong vòng lặp bằng
+tạo nhiều object trung gian, nên dùngStringBuilder:
var sb = new StringBuilder(); for (String s : items) sb.append(s).append(','); String result = sb.toString();StringBuffergiốngStringBuildernhưng các method cósynchronized, chậm hơn và hiếm khi cần.- Nối vài chuỗi trên một dòng thì cứ dùng
+, compiler đã tối ưu sẵn.
Người phỏng vấn muốn nghe: bạn hiểu lý do thiết kế (an toàn, hash, pool), không chỉ thuộc định nghĩa.
- Nối chuỗi trong vòng lặp bằng
05Checked exception và unchecked exception khác nhau thế nào?
try-with-resourcesdùng để làm gì?Java · JuniorGợi ý trả lời
Ôn thêm câu hỏi Java →Checked exception (kế thừa
Exceptionnhưng không phảiRuntimeException) bị compiler bắt buộc phảicatchhoặc khai báothrows, ví dụIOException. Unchecked (RuntimeExceptionvà con của nó) thì không, ví dụNullPointerException,IllegalArgumentException.- Checked hợp với lỗi bên ngoài mà caller có thể xử lý được; unchecked thường là lỗi lập trình hoặc vi phạm điều kiện.
try-with-resourcestự gọiclose()cho mọi object implementAutoCloseable, kể cả khi có exception:
try (var reader = Files.newBufferedReader(path)) { return reader.readLine(); }Hay sai:
catch (Exception e) {}rồi bỏ trống, làm mất dấu lỗi. Ít nhất phải log kèm stack trace, hoặc bọc lại thành exception có ý nghĩa và ném tiếp.06Interface và abstract class khác nhau thế nào? Khi nào dùng cái nào?C# & .NET · Junior
Gợi ý trả lời
Ôn thêm câu hỏi C# & .NET →Interface mô tả khả năng (hợp đồng) mà nhiều kiểu không liên quan có thể cùng thực hiện; abstract class là lớp cha dùng chung code và trạng thái cho một họ lớp gần nhau.
- Một class implement nhiều interface nhưng chỉ kế thừa một class.
- Abstract class có field, constructor, method có sẵn thân.
- Từ C# 8 interface có default implementation, nhưng vẫn không có field trạng thái.
Dùng interface cho các phụ thuộc cần thay thế hoặc mock trong test (
IEmailSender,IOrderRepository). Dùng abstract class khi các lớp con thật sự chia sẻ logic, vd.BaseHandlerxử lý log và retry chung.Người phỏng vấn muốn nghe: bạn ưu tiên composition và interface, chỉ dùng kế thừa khi có quan hệ "là một" rõ ràng.
07Người dùng báo "không vào được mạng". Bạn kiểm tra theo thứ tự nào?Network & System Admin · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Network & System Admin →Đi từ gần ra xa và từ tầng thấp lên cao, mỗi bước loại trừ một khả năng.
ip a # hoặc ipconfig /all: có IP, gateway, DNS? ping <gateway> # mạng nội bộ ổn? ping 1.1.1.1 # ra Internet được bằng IP? nslookup example.com # DNS phân giải được?- Ping IP được mà tên miền không được: lỗi DNS.
- Chỉ một người bị hay cả phòng: cả phòng thì nghi switch, DHCP, đường truyền.
- Chỉ một trang web: proxy, firewall, hoặc chính trang đó.
- Dùng
tracert/tracerouteđể xem gói dừng ở chặng nào.
Người phỏng vấn muốn nghe: hỏi thêm thông tin trước (ai, từ khi nào, có gì thay đổi).
08VLAN là gì và vì sao cần chia VLAN? Trunk port khác access port thế nào?Network & System Admin
Gợi ý trả lời
Ôn thêm câu hỏi Network & System Admin →VLAN chia một switch vật lý thành nhiều mạng L2 logic tách biệt, giúp thu nhỏ vùng broadcast và cô lập các nhóm (kế toán, khách, camera, server).
- Access port: thuộc một VLAN, nối với máy trạm; frame không gắn tag.
- Trunk port: mang nhiều VLAN giữa switch với switch hoặc router, frame gắn tag 802.1Q.
- Các VLAN muốn nói chuyện với nhau phải qua thiết bị L3 (router, switch L3, firewall), nơi có thể đặt ACL.
Hay sai: để Wi-Fi khách chung VLAN với mạng nội bộ, hoặc cho phép mọi VLAN đi qua trunk khi không cần.
09Server Linux chạy chậm. Bạn dùng những lệnh nào để tìm nguyên nhân?Network & System Admin
Gợi ý trả lời
Ôn thêm câu hỏi Network & System Admin →Xác định tài nguyên nào đang nghẽn: CPU, RAM, ổ đĩa hay mạng.
uptime; top # load average, process ngốn CPU/RAM free -h # còn RAM không, có dùng swap nhiều? df -h; df -i # đầy dung lượng hoặc hết inode iostat -x 1 # ổ đĩa có quá tải (%util, await)? ss -tunap # kết nối mạng journalctl -p err -b # lỗi từ lần boot này- Load cao nhưng CPU rảnh: thường là chờ I/O (
wacao trongtop). dmesgcó OOM killer: thiếu RAM.
Hay sai: xoá file log đang được process mở; dung lượng không giải phóng cho tới khi restart process (xem
lsof +L1).- Load cao nhưng CPU rảnh: thường là chờ I/O (
10Bạn nghĩ sao về việc làm thêm giờ (OT)?Câu hỏi hành vi & văn hoá
Gợi ý trả lời
Ôn thêm câu hỏi Câu hỏi hành vi & văn hoá →Trả lời thẳng thắn và cân bằng: sẵn sàng khi thật sự cần, nhưng không coi OT kéo dài là bình thường.
Câu mẫu: "Em sẵn sàng làm thêm khi có việc gấp như sự cố production hay trước một đợt release quan trọng. Nhưng nếu OT diễn ra thường xuyên, em nghĩ cần xem lại cách estimate hoặc phạm vi, và em sẽ chủ động nêu điều đó với team. Em cũng muốn hỏi thêm: ở team mình OT thường xảy ra trong trường hợp nào và được tính như thế nào ạ?"
Đây cũng là lúc bạn tìm hiểu ngược: OT có được trả lương hoặc nghỉ bù theo quy định không, tần suất ra sao. Câu trả lời của họ cho bạn biết nhiều về văn hoá công ty.
Hay sai: hứa "OT thoải mái" để lấy điểm, rồi vào làm mới thấy không chịu nổi.
Bạn đã phỏng vấn ở Công ty Cổ phần Bất động sản Sài Gòn Vi Na?
Kể lại các vòng và câu hỏi đã gặp (ẩn danh) để người sau ôn đúng trọng tâm.
Chia sẻ kinh nghiệm phỏng vấn