Kinh nghiệm phỏng vấn lập trình phần 2: Framework, CMS

OOP là phần quan trọng nhất khi bắt đầu học lập trình. Vì vậy, OOP luôn được phỏng vấn đầu tiên. Vậy kế đến là gì? Chính là Framework, CMS mà công ty đó yêu cầu. Bạn hãy tìm hiểu xem công ty đó theo trường phái nào? Framework hay CMS?

Bạn hãy thuộc nằm lòng những câu hỏi sau. Vì đây là những câu hỏi CHẮC CHẮN nhà tuyển dụng sẽ hỏi bạn.

Hãy mô tả dự án/những gì em đã làm với CMS

Nếu bạn chỉ biết sử dụng như một user bình thường, bạn sẽ bị loại ngay lập tức. Làm việc với CMS nghĩa là bạn đã từng làm 1 trong 2 việc sau: tạo plugin mới hoặc lấy 1 template và gắn vào CMS đó.

Ví dụ: bạn có 1 template miễn phí download trên mạng về. Bạn cắt ghép làm sao để template đó chạy được trên WordPress, Magento… Người dùng thêm sửa xóa sản phẩm, bài viết trên đó đều được.

Hoặc bạn đã từng viết plugin cho PrestaShop, kết nối database, truy xuất ra danh sách sản phẩm và thêm sửa xóa danh sách đó.

Nói chung, câu hỏi này thường dành cho CMS để nhà tuyển dụng phân biệt user và developer. Nếu bạn ứng tuyển vào dự án dùng Framework thì có thể bỏ qua.

Tạo Plugin/Template cần những file gì?

NVHAI đã từng bị hỏi 2 lần và vẫn nhớ mãi.

Đầu tiên là phỏng vấn ở công ty tuyển lập trình viên làm CMS. Anh Team Leader hỏi: Plugin Magento 2 gồm có những file nào? Dù đã làm cách đó 1 tháng nhưng NVHAI không nhớ và bị fail.

Kế đến là một công ty làm Framework của Nhật đã được tạo 15 năm. Chị Team Leader hỏi: muốn tạo 1 trang web cần có những file gì? Đáp án là 7 file nhưng NVHAI kể sai tên.

Vì vậy, bạn hãy hệ thống lại kiến thức sau khi học và làm. Hãy viết ra 1 file word ghi tất cả các file cần thiết và chức năng của chúng khi tạo Plugin/Website. Chỉ cần làm vậy, bạn sẽ đỡ mất thời gian khi bắt đầu vào việc và nhà tuyển dụng cũng tin tưởng bạn hơn. Đó cũng là kiến thức basic nhất khi bạn sử dụng một Framework/CMS.

Đó là lý do bạn cần phải học cấu trúc file

Vọc các thư viện của Framework/CMS

Tại sao gọi là thư viện? Thư viện ngoài đời thật là một căn phòng đầy sách. Bạn sẽ đi tìm quyển sách, nội dung mình cần.

Framework/CMS cũng vậy. Các lập trình viên đã viết cả trăm hàm, biến, chức năng ẩn. Bạn phải lục lọi, tìm kiếm như việc tháo tung chiếc xe máy để xem kết cấu bên trong. Hiểu cặn kẽ đến thế mới gọi là thành thạo Framework/CMS.

NVHAI đã làm 1 task như sau: làm 1 màn hình PrestaShop có bảng danh sách đơn hàng, sửa nút download CSV lại theo đúng yêu cầu của dự án. NVHAI đã Override (ghi đè) hàm download CSV của PrestaShop vì PretaShop download tất cả các cột. Dự án chỉ cần download vài cột trong bảng danh sách đơn hàng. Và để làm task này, NVHAI phải xem luồng chạy và hàm download CSV của PrestaShop và bắt chước theo để đảm bảo plugin cài đặt vào phải chạy đúng.

Framework là một thư viện. Bạn vào đó và tra cứu thư viện, tìm tên sách, đọc lướt hay đọc kỹ và lưu lại tên quyển sách.

Bạn còn phải vọc cả hướng đối tượng. Trong Framework/CMS có những Abstract Class (Lớp Trừu Tượng), cách gọi, cách viết đa dạng, phức tạp. Cách để tăng kiến thức, hiểu rõ nhất là phải HIỂU TỪNG DÒNG CODE mà các lập trình viên kỳ cựu đã viết ra.

Leave a Comment