Để trở thành lập trình viên Front End của một công ty/đơn vị, bạn sẽ cần vượt qua vòng phỏng vấn với các câu hỏi liên quan đến kỹ thuật và hành vi. Hầu hết các đơn vị tuyển dụng đều có sẵn bộ câu hỏi phỏng vấn Front End, bạn nên chuẩn bị kỹ lưỡng các câu trả lời để tự tin thể hiện bản thân hơn. Cùng CodeGym tìm hiểu bộ câu hỏi phỏng vấn vị trí Front End qua bài viết dưới đây nhé!
Nội dung
1. Câu hỏi phỏng vấn Front End về kỹ thuật
1.1. Phỏng vấn Front End Css
Câu hỏi 1: BEM là gì? Tại sao lại cần dùng BEM?
BEM là viết tắt của 3 từ Block, Element và Modifier. Đây là quy ước đặt tên CSS giúp viết các lớp CSS rõ ràng và dễ đọc hơn. BEM cũng được áp dụng trong viết các khối CSS độc lập để dùng lại sau này trong các dự án khác.
BEM chưa cần sử dụng ở những dự án nhỏ nhưng rất cần thiết cho các dự án lớn và làm việc nhóm, bởi:
- BEM giúp hỗ trợ teamwork dễ dàng. Sử dụng BEM giúp hạn chế vấn đề mỗi người đặt một tên class riêng và bị conflict với nhau.
- Sử dụng BEM, các class của mỗi block không bị ảnh hưởng bởi các yếu tố nên không lo vấn đề CSS của class này ảnh hưởng đến class khác.
- Sử dụng BEM giúp tái sử dụng code CSS, giảm số lượng code hiệu quả.
- BEM giúp hỗ trợ cấu trúc CSS vững chắc và dễ hiểu.
=>>> Xem ngay lịch khai giảng các khoá học lập trình web tại CodeGym ở đây.
Câu hỏi 2: Bạn hãy chỉ một vài cách khác nhau để tích hợp CSS vào trang HTML?
Cách 1: Dùng style-tags ở phần head của trang HTML để tích hợp CSS.
Cách 2: Tích hợp style bằng cách dùng thẻ inline-styling.
Cách 3: Viết CSS trong tập tin riêng và thêm nó vào HTML qua thẻ liên kết.
Câu hỏi 3: Khi dùng External Style Sheets có ưu nhược điểm là gì?
Ưu điểm: Sử dụng External Style Sheets giúp lập trình viên kiểm soát Style của một số documents từ trang web. Ngoài ra, người dùng dễ dàng tạo nhiều lớp với nhiều phần tử HTML và nhiều Documents. Trong một số trường hợp kiểu phức tạp, External Style Sheets sẽ được dùng để chọn chiến lược và nhóm sử dụng.
Nhược điểm: Cho tới khi External Style Sheets được tải lên, trang web sẽ không được tải hoàn toàn.
1.2. Phỏng vấn front-end JavaScript
Câu hỏi 1: Bạn hãy nêu một số thao tác DOM cơ bản mà bạn biết?
Có nhiều thao tác DOM và ý nghĩa của từng thuộc tính, phương thức là khác nhau. Tiêu biểu là:
Thuộc tính:
- id: Định danh – là duy nhất cho mỗi phần tử và được dùng để truy xuất DOM trực tiếp.
- className: Tên lớp – Thuộc tính này cũng giúp truy xuất trực tiếp như id, tuy nhiên 1 className có thể dùng cho nhiều phần tử.
- tagName: Đây là tên thẻ HTML.
- innerHTML: Trả về mã HTML, đây là chuỗi ký tự chứa tất cả phần tử bên trong gồm cả nút phần tử và nút văn bản.
- outerHTML: Trả về mã HTML, outerHTML = tagName + innerHTML.
- textContent: Trả về 1 chuỗi ký tự, chuỗi này chứa nội dung của tất cả nút văn bản bên trong phần tử hiện tại.
- attributes: Chứ nhiều thuộc tính tệp như id, name, class, href, title…
- style: Tập về định dạng của phần tử hiện tại.
- value: Thành phần được chọn lấy giá trị thành một biến.
Phương thức:
- getElementById(id): Tham chiếu tới 1 nút duy nhất có thuộc tính id giống với id cần tìm.
- getElementsByTagName(tagname): Tham chiếu tới tất cả các nút có thuộc tính tagName.
- getElementsByName(name): Tham chiếu tới tất cả các nút có thuộc tính name cần tìm.
- getAttribute(attributeName): Lấy giá trị của thuộc tính.
- setAttribute(attributeName, value): Là phương thức sửa đổi giá trị của thuộc tính.
- appendChild(node): Là phương thức thêm 1 nút con vào vị trí nút hiện tại.
- removeChild(node): Là phương thức xóa 1 nút con khỏi vị trí nút hiện tại.
=>>> Xem thêm bài viết: Phân biệt C với C++: Nên lựa chọn ngôn ngữ nào tốt hơn?
Câu hỏi 2: Truthy, Falsy là gì?
- Truthy là những giá trị mà khi lập trình viên ép kiểu về boolean sẽ khiến nó bằng true.
- Falsy là những gì trị khi lập trình viên ép kiểu về boolean cho nó sẽ bằng false.
Câu hỏi 3: Tham trị, tham chiếu chứa những giá trị và địa chỉ nào?
- Tham trị chứa các giá trị như: String, Number, Boolean.
- Tham chiếu chứa các địa chỉ là: Object, Array.
1.3. Câu hỏi phỏng vấn HTML
Những câu hỏi phỏng vấn HTML thường gặp cho vị trí thực tập sinh Front End là:
Câu hỏi 1: Bạn hãy cho biết thẻ là gì?
Thẻ được khai báo ở đầu một file HTML và được dùng cho trình duyệt web khi lập trình sử dụng phiên bản ngôn ngữ đánh dấu.
Câu hỏi 2: Thẻ Meta là như thế nào?
Thẻ meta sẽ cung cấp thông tin về web cho công cụ tìm kiếm. Một số thẻ Meta tiêu biểu mà tôi thường sử dụng gồm: title, content-type, description, view-port…
Câu hỏi 3: Thế nào là HTML semantic?
HTML semantic có nghĩa là dùng thẻ thích hợp cho ý nghĩa của nó. Hiểu một cách đơn giản là dùng các phần tử có ý nghĩa như: form, article và table thay cho việc dùng Span và div.
Câu hỏi 4: HTML5 là gì?
HTML5 là phiên bản thử 5 của ngôn ngữ lập trình HTML và đang được dùng rất phổ biến. Sử dụng HTML5 có thể một số thẻ mới như: header, footer, nav, article, section, audio, video….
Câu hỏi 5: Thẻ Span và Div khác nhau như thế nào?
Thẻ Div là thẻ đại diện cho thẻ block, thẻ này dùng để gom nhóm các thẻ block với nhau. Trong khi đó, thẻ Span đại diện cho thẻ inline và thẻ này được dùng để gom nhóm các thẻ inline với nhau.
2. Câu hỏi phỏng vấn Front End về hành vi
Câu hỏi hành vi 1
Hãy mô tả ngắn gọn về ứng dụng web hoặc trang web gần đây nhất mà bạn đã làm việc. Khi thực hiện, bạn đã làm gì để đảm bảo nó thân thiện với người dùng cũng như có thể truy cập?
Gợi ý trả lời:
Các nhà tuyển dụng muốn hiểu về việc đảm bảo tính usability và accessibility của bạn trong lập trình. Bạn cần đề cập về việc thực hiện kiểm tra người dùng ở các thiết bị khác nhau để đảm bảo ứng dụng hoặc website hoạt động liên tục, trực quan và có sự tương tác tốt với người dùng.
Câu hỏi hành vi 2
Bạn đã từng gặp khó khăn gì về việc lập trình web Front End có sự tham gia của nhiều bên. Bạn đã vượt qua những khó khăn này như thế nào?
Gợi ý trả lời:
Nhà tuyển dụng muốn thấy được sự chủ động và khả năng chịu trách nhiệm của ứng viên khi làm việc nhóm. Bạn cần nêu được những vấn đề khó khăn trong công việc và có sự trợ giúp xử lý của nhóm giúp bạn vượt qua được những khó khăn và cả nhóm hoàn thành tốt dự án.
Trên đây là một số câu hỏi phỏng vấn Front End thường gặp trong các buổi phỏng vấn. Nhìn chung, những câu hỏi này không khó nếu bạn có kiến thức lập trình vững. Những kiến thức này được CodeGym tổng hợp, cô đọng và dạy thực chiến trong các chương trình học. Chính vì vậy, tham gia các khóa học CodeGym giúp bạn tự tin trả lời tốt 100% câu hỏi phỏng vấn của các nhà tuyển dụng.
0 Lời bình