1. Góc tối của Live Coding: Khi áp lực lấn át thực lực
Hầu hết các Senior đều đồng ý rằng: Live Coding tạo ra một môi trường phi thực tế.
-
Áp lực tâm lý: Trong công việc hàng ngày, bạn có Google, có StackOverflow, có thời gian để suy ngẫm. Trong Live Coding, bạn bị tước bỏ "vũ khí" và đặt dưới áp lực thời gian khủng khiếp.
-
Sai lệch mục tiêu: Nhiều bài test tập trung quá mức vào cấu trúc dữ liệu và giải thuật (Competitive Programming) – thứ mà một Senior có thể không chạm tới hàng năm trời vì bận thiết kế kiến trúc hệ thống hoặc tối ưu quy trình team.
2. Tại sao các "ông lớn" vẫn chưa từ bỏ?
Dù bị chỉ trích, Live Coding vẫn tồn tại. Tại sao? Vì nếu được thực hiện đúng cách, nó bộc lộ những thứ mà CV không thể nói lên:
-
Khả năng truyền đạt (Communication): Nhà tuyển dụng không tìm đáp án đúng nhất, họ tìm cách bạn giải thích vấn đề. Bạn có đặt câu hỏi ngược lại để làm rõ yêu cầu không? Bạn có giải thích được tại sao chọn
Mapthay vìArraykhông? -
Tư duy dưới áp lực: Cách bạn xử lý khi gặp một lỗi "ngớ ngẩn" trước mặt người khác thể hiện bản lĩnh và sự điềm tĩnh – tố chất quan trọng của một người dẫn dắt (Lead).
-
Khả năng "Debug" tư duy: Quan sát bạn sửa code quan trọng hơn việc thấy bạn viết code chạy ngay từ lần đầu.
3. Tố chất Senior: Nằm ở "Cái đầu" hay "Đôi tay"?
Một Senior thực thụ được trả lương cao không phải vì họ gõ phím nhanh hơn Junior, mà vì họ biết nơi nào không nên viết code.
-
Senior quan tâm đến: Tính mở rộng (Scalability), tính bảo trì (Maintainability), và Clean Code.
-
Live Coding thường chỉ thấy được: Cú pháp (Syntax) và logic ngắn hạn.
Nếu một bài Live Coding chỉ dừng lại ở việc bắt ứng viên đảo ngược chuỗi hay giải bài toán cái túi, thì đúng, nó đã lỗi thời. Nhưng nếu bài test là cùng nhau giải quyết một bài toán thực tế (Pair Programming), đó lại là cơ hội để Senior tỏa sáng.
4. Lời khuyên cho các ứng viên Senior
Thay vì phản đối Live Coding, hãy thay đổi cách tiếp cận nó:
-
Đừng im lặng: Hãy nói ra suy nghĩ của mình (Think-aloud). Biến buổi phỏng vấn thành một cuộc thảo luận kỹ thuật thay vì một bài kiểm tra.
-
Tập trung vào Trade-offs: Thay vì cố tìm lời giải hoàn hảo, hãy nói: "Cách này nhanh hơn về thời gian nhưng tốn bộ nhớ hơn, trong trường hợp hệ thống của anh/chị, tôi sẽ ưu tiên..." Đó mới là phong thái của Senior.
-
Chấp nhận sai sót: Một lỗi nhỏ không khiến bạn mất điểm, nhưng cách bạn bối rối và bỏ cuộc thì có.
Live Coding không lỗi thời, nhưng cách chúng ta đặt đề bài đang lỗi thời. Một quy trình tuyển dụng hiện đại cho Senior nên là sự kết hợp giữa thảo luận kiến trúc (System Design) và thực hành giải quyết vấn đề thực tế.
.png)