Front End Developer chính thức tại các công ty, tập đoàn lớn là mong muốn của nhiều lập trình viên. Vậy nếu bạn nhận được lời mời từ một doanh nghiệp thì những điều cần chuẩn bị trước buổi phỏng vấn vị trí Front end là gì? Đừng lo lắng vì bài viết hôm nay của topviecit.vn sẽ chia sẻ tuyển tập những câu hỏi phỏng vấn Front End thường gặp giúp bạn tự tin và có sự chuẩn bị kỹ càng hơn.
Câu hỏi về thông tin cá nhân
Hãy giới thiệu về bản thân của bạn?
Với câu hỏi này bạn nên giới thiệu sơ bộ về bản thân: số năm kinh nghiệm, vị trí từng làm, mong muốn về công việc trong tương lai. Lưu ý chỉ nên dành khoảng 2-3 phút cho câu hỏi này
Một số dự án bạn tham gia với vị trí Front End là gì?
Với câu hỏi này, nhà tuyển dụng có thể khai thác thêm một số thông tin như: vị trí bạn đảm nhiệm, những công việc phải thực hiện, kết quả của dự án. Ngoài việc cung cấp các thông tin trên thì bạn có thể kể thêm những khó khăn bạn đã gặp phải và cách giải quyết nó trong quá trình thực hiện dự án. Cách bạn vượt qua vấn đề sẽ thể hiện giá trị và kinh nghiệm chuyên môn của bạn với vị trí Front End.
Câu hỏi phỏng vấn Front End về chuyên môn
Sau những câu hỏi về thông tin cá nhân, nhà tuyển dụng tiếp tục buổi phỏng vấn bằng những câu hỏi chuyên môn. Thông qua những câu hỏi này, họ sẽ đánh giá được những kiến thức và kỹ năng của lập trình viên Front End chính xác. Những câu hỏi phỏng vấn Front End này sẽ xoay quanh 3 phần chủ yếu: HTML, CSS và JavaScript.
Các câu hỏi về HTML
- DOM trong HTML là gì?
- Điểm khác biệt giữa HTML và XHTML?
- Các thẻ meta là gì?
- Data có những thuộc tính gì?
- Doctype có tác dụng gì trong HTML? Có những loại Doctypes nào?
- Làm thế nào để tạo được public key trong HTML?
- Sự khác biệt giữa thuộc tính và thẻ là gì?
- Có những cách nào để tối ưu hóa hiệu suất khi tải nội dung trang web? (1 số cách bạn có thể tham khảo như: lưu trữ CDN, nén tập tin, nối tập tin, tải xuống song song,…)
- Mô tả cấu trúc bố cục của HTML
Gợi ý trả lời: Cấu trúc bố cục của HTML sẽ bao gồm những phần sau:
- Header: Lưu trữ thông tin mở đầu của trang web.
- Footer: Đại diện cho phần chân trang.
- Nav: Menu điều hướng của trang HTML.
- Article: Đây là tập hợp thông tin.
- Section: Nó được dùng bên trong khối bài viết nhằm xác định được cấu trúc cơ bản của một trang.
- Aside: Nội dung thanh bên của trang.
Tìm hiểu thêm: Html Là Gì? Html Có Phải Là Ngôn Ngữ Lập Trình Không?
Các câu hỏi về CSS
- CSS là gì? – CSS là viết tắt của Cascading Style Sheet. Đây là 1 loại ngôn ngữ tạo kiểu thông dụng được dùng với HTML để thiết kế các trang web. Nó cũng được dùng với bất kỳ loại tài liệu XML nào gồm có XML thuần túy, SVG và XUL.
- CSS framework là gì?
- Có những cách nào để tích hợp CSS vào trang HTML?
Gợi ý trả lời: Có 3 cách là: Dùng các style-tags trong phần head của trang HTML, dùng inline-styling hoặc viết CSS vào 1 tập tin riêng biệt và thêm nó vào HTML bằng cách dùng thẻ liên kết.
- Bạn hiểu BEM là gì? Tại sao lập trình cần sử dụng BEM?
- Bạn đánh giá như thế nào về ưu và nhược điểm của việc sử dụng External Style Sheets?
- Box model là gì trong CSS? Thuộc tính CSS nào là một phần của nó?
- Bạn biết gì về thiết kế responsive?
- CSS selector là gì?
- Trong CSS Pseudo-class là gì?
- Phân biệt ID selector và Class selector trong CSS?
- Nêu những cách có thể sử dụng CSS trên web?
- Giải thích các CSS sprite và làm thế nào để triển khai chúng trên 1 trang web?
Các câu hỏi về JavaScript
- Bạn biết gì về event delegation?
- Hãy cho biết sự khác biệt giữa các native objects và host objects là gì?
- Hoisting trong JavaScript là gì?
- Giá trị Falsy trong JavaScript là gì?
- Dùng Ajax có những ưu nhược điểm gì?
- Câu lệnh “use strict” là gì? Sử dụng câu lệnh này cần lưu ý những thuận lợi và khó khăn gì?
- Biến “this” trong Javascript có nghĩa là gì và dùng để làm gì?
- Khi nào cần dùng document.write ()?
Gợi ý trả lời: Document.write () thường được nhiều người đánh giá là nguy hiểm và khả năng bị lạm dụng cao. Document.write () ghi một chuỗi văn bản vào trong một luồng tài liệu đã được mở bởi document.open (). Khi document.write () được triển khai sau khi trang được tải, nó sẽ gọi lên document.open để xóa đi toàn bộ tài liệu (đã xóa và !). Đồng thời nó cũng sẽ thay thế nội dung bằng giá trị tham số đã cho.
- Sự khác biệt giữa var và let là gì?
- Hàm constructor là gì?
- Làm thế nào để kiểm tra xem 1 biến có phải là 1 số trong JavaScript hay không?
- Hãy nêu khái niệm về JavaScript templating? Bạn đã biết đến những thư viện nào?
Có thể bạn quan tâm: Tổng Hợp Câu Hỏi Phỏng Vấn NodeJS Thông Dụng Và Phổ Biến Nhất
Câu hỏi phỏng vấn Front End theo cấp bậc
Câu hỏi phỏng vấn Front End dành cho Intern và Fresher
Intern và Fresher là 2 vị trí chưa hoặc có dưới 1 năm kinh nghiệm. Vậy nên khi phỏng vấn Intern và Fresher Front End, nhà tuyển dụng sẽ tập trung vào những vấn đề cơ bản, nền tảng và những kỹ năng cần có trong lĩnh vực này. Cụ thể bạn có thể tham khảo 1 số câu hỏi và cách trả lời như sau:
Câu 1: Những kỹ năng mà kỹ sư Front End cần có?
Lập trình Front End cần có những kỹ năng sau
- Am hiểu về HTML & CSS
- Kỹ năng về JavaScript
- Hiểu biết về các framework của Javascript
- Hiểu biết về thiết kế responsive
- Thành thạo các công cụ phát triển trình duyệt
- Kỹ năng xử lý, giải quyết vấn đề
- Kỹ năng giao tiếp, làm việc nhóm với các đồng nghiệp, phòng ban khác
Tìm hiểu thêm: Front End Developer Là Gì? Kỹ Năng Cần Có Của Một Front End Developer
Câu 2: Hãy định nghĩa ReactJS theo góc nhìn của bạn
ReactJS được dùng để xây dựng giao diện người dùng, nhất là cho các ứng dụng 1 trang. ReactJS cũng được dùng để xử lý các lớp xem cho các ứng dụng trên di động và web.
React có đặc điểm dễ mở rộng, nhanh chóng và sử dụng đơn giản. Nó cũng có thể ứng dụng với sự kết hợp của các thư viện hoặc các khung JavaScript khác, ví dụ như AngularJS trong MVC.
Câu 3: Dịch vụ web REST mang lại những lợi ích gì?
1 số ưu điểm bạn có thể đưa ra như
- Hoạt động trên giao thức HTTP nên khá đơn giản
- Ứng dụng gần như được kết hợp với nhau do không có hợp đồng rõ ràng giữa máy khách và máy chủ
- Là 1 giao thức nhẹ
- Hỗ trợ nhiều loại công nghệ để truyền như hình ảnh, XML, văn bản, JSON,…
Các câu hỏi khác dành cho vị trí Intern và Fresher
- Hệ thống Grid trong CSS là gì?
- Các thẻ meta HTML bao gồm những gì?
- Hãy nêu khái niệm Cross-Site Scripting (XSS)
- Khi nào nên dùng jQuery?
- Lợi ích nổi bật của CoffeeScript so với JavaScript là gì?
Tìm hiểu thêm: Câu Hỏi Phỏng Vấn Front-End ReactJS Và Hướng Dẫn Trả Lời
Câu hỏi phỏng vấn Front End dành cho Senior và Manager
Đây là những vị trí yêu cầu cao về kinh nghiệm, kiến thức chuyên môn sâu rộng. Thông qua những câu hỏi sâu về chuyên môn này, nhà tuyển dụng sẽ đánh giá được khả năng của ứng viên và đề xuất được mức lương phù hợp với năng lực.
Nếu bạn mong muốn có buổi phỏng vấn thành công và có được công việc, mức đãi ngộ hấp dẫn, hãy chú ý tới những câu hỏi phỏng vấn Front End dành cho Senior và Manager sau:
Câu 1: Hãy so sánh MySQL và MongoDB
- MySQL: MySQL là hệ thống quản lý cơ sở dữ liệu quan hệ, dùng SQL làm ngôn ngữ chuẩn để xử lý cơ sở dữ liệu. MySQL cũng như các hệ quản trị cơ sở dữ liệu quan hệ khác, chúng dùng cấu trúc giống bảng nhằm lưu trữ dữ liệu.
- MongoDB: MongoDB khác MySQL ở chỗ, đây là cơ sở dữ liệu NoSQL dùng cấu trúc giống JSON nhằm lưu trữ phần tử dữ liệu. Lập trình viên phải dùng ngôn ngữ truy vấn MongoDB (MQL) để sửa đổi hay truy cập dữ liệu MongoDB
Câu 2: Nêu hiểu biết của bạn về CSS image sprites. Tại sao nó lại được sử dụng?
CSS image sprites mang ý nghĩa là hỗ trợ hợp nhất nhiều hình ảnh thành 1 ảnh lớn duy nhất. Bất cứ trang web nào hiện nay cũng có rất nhiều hình ảnh khác nhau. Nếu với mỗi hình ảnh trình duyệt đều phải gửi đi yêu cầu HTTP riêng biệt thì quá trình tải web sẽ tốn nhiều thời gian hơn.
Vậy nên sprites có tác dụng giúp bạn hiển thị nhiều ảnh thành 1 ảnh lớn và chỉ cần 1 yêu cầu gửi đi, giảm đáng kể tốc độ tải web.
Câu 3: Hãy đưa ra phương án đề xuất tối ưu hóa trang giao diện dành cho người dùng
1 số cách có thể được ứng dụng như:
- Tăng phản hồi của máy chủ để giảm tiêu thụ tài nguyên
- Dùng CSS và JavaScript bên ngoài thay vì dùng nội dòng hoặc nội bộ
- Dùng các khuôn khổ để chắc chắn giao diện dành cho người dùng phản hồi nhanh với nhiều thiết bị khác nhau.
- Dùng tính năng như Lazy Loading – tải liên tục để nâng cao được khả năng hiển thị các yếu tố nặng, ví dụ như hình ảnh hay video.
- Dùng bộ nhớ của trình duyệt nhằm giữ các dữ liệu riêng tư của người dùng
- Kết nối các biểu định kiểu trong tập lệnh và tiêu đề ở đầu thẻ nội dung của HTML
Tìm hiểu thêm: Top 10 Câu Hỏi Phỏng Vấn JavaScript Cho Người Mới Bắt Đầu
Câu 4: Prototype Design Pattern là gì?
Prototype Design Pattern sẽ tạo ra đối tượng mới bằng việc khởi tạo các giá trị được sao chép từ đối tượng nguyên mẫu cụ thể.
Các câu hỏi phỏng vấn Front End khác dành cho vị trí Senior và Manager
- Chính sách bảo mật nội dung là gì?
- Khi nào sẽ cần dùng AngularJS và jQuery?
- ClickJacking là gì?
- So sánh các khái niệm Set, WeakSet, Map và WeakMap trong JavaScript. Chúng khác nhau như thế nào?
Câu hỏi phỏng vấn Front End về những vấn đề khác
Câu hỏi tình huống
Ngoài những câu hỏi về chuyên môn, bạn có thể gặp 1 số câu hỏi tình huống khác khi phỏng vấn vị trí lập trình viên Front End như:
- Mô tả về trang web hoặc ứng dụng web bạn đã làm việc. Bạn làm như thế nào để nâng cao trải nghiệm người dùng trên web/ ứng dụng web?
- Kể về khoảng thời gian bạn gặp phải nhiều phản ứng trái chiều từ stakeholder. Bạn đã xử lý vấn đề này như thế nào?
- Mô tả trải nghiệm về dự án web tương đối khó khăn có sự tham gia của nhiều bên liên quan. Bạn đã hoàn thành dự án đó như thế nào? Dùng những cách thức, công cụ gì?
Nếu có thể trả lời, bạn nên trả lời những câu hỏi tình huống này ngắn gọn, đúng trọng tâm. Còn nếu chưa từng tiếp xúc với tình huống mà nhà tuyển dụng đưa ra, bạn có thể trả lời theo ý kiến riêng của mình. Điều này cũng sẽ chứng tỏ khả năng phản xạ và xử lý tình huống của bạn. Đừng nên im lặng hoặc để nhà tuyển dụng chờ đợi quá lâu.
Câu hỏi về nhu cầu, mong muốn của ứng viên
Sau khi kết thúc những câu hỏi phỏng vấn Front End về chuyên môn, nhà tuyển dụng có thể đặt thêm một số câu hỏi để tìm hiểu về nhu cầu và mong muốn của bạn về vị trí công việc này. Một số câu hỏi thường được đặt ra là:
- Bạn muốn làm việc trong môi trường như thế nào?
- Mức lương mong muốn của bạn ở vị trí lập trình viên Front End là gì?
- Bạn mong muốn thay đổi điều gì ở bản thân trong quá trình làm việc ở công ty?
- Bạn đang hứng thú với ứng dụng công nghệ nào không?
Một số câu hỏi cho nhà tuyển dụng
Cuối buổi phỏng vấn, nhà tuyển dụng sẽ dành thời gian cho bạn đặt những câu hỏi, thắc mắc cần giải đáp. Đây cũng là một phần quan trọng mà bạn không nên bỏ qua. Những câu hỏi sẽ thể hiện rằng bạn thực sự quan tâm và mong muốn được làm việc tại công ty. Bạn có thể hỏi một số câu như sau:
- Những công việc ngoài lề của vị trí Front End là gì?
- Định hướng, lộ trình thăng tiến của công ty với vị trí Front End là gì?
- Hiện tại bộ phận Front End có bao nhiêu người, tôi sẽ làm việc với những ai?
- Những kỹ năng mới mà tôi có thể học hỏi được trong quá trình làm việc ở vị trí Front End là gì?
- Đãi ngộ, thời gian làm việc của vị trí Front End như thế nào?
Tìm hiểu thêm: Nên Học Lập Trình Frontend Hay Backend Tốt Hơn?
Trên đây là trọn bộ những câu hỏi phỏng vấn Front End thường gặp nhất. Hy vọng với những mẹo tìm việc trên, bạn đã nắm rõ những kiến thức và kỹ năng cần thiết cho buổi phỏng vấn Front End là gì để có sự chuẩn bị tốt nhất. Nếu bạn cũng đang tìm kiếm việc làm liên quan đến ngành IT, hãy truy cập vào TopCV để tiếp cận nhiều cơ hội hấp dẫn hơn nhé.
Có thể bạn quan tâm: Tester là gì? Tester là làm gì? Mô tả chi tiết công việc