Câu hỏi phỏng vấn Intern Front-end developer
Lập trình viên Front End là một trong những công việc đang rất được ưa chuộng và có tiềm năng phát triển rộng mở. Bạn là một lập trình viên mảng đã lọt qua vòng duyệt hồ sơ và chuẩn bị có một cuộc phỏng vấn với bên tuyển dụng. Bạn đang lo lắng về những câu hỏi phỏng vấn Frontend mà họ đưa ra sẽ như thế nào? Dưới đây là bộ câu hỏi thường gặp nhất cho một Front-End Developer mà bạn có thể gặp phải khi đi phỏng vấn.
Bộ câu hỏi phỏng vấn về thông tin cá nhân
Giới thiệu sơ lược về bản thân bạn?
Hầu hết nhà tuyển dụng đều dùng câu hỏi này để bắt đầu câu chuyện với ứng viên. Mục đích câu hỏi này là để đánh giá phong thái và cách trình bày của ứng viên. Lúc này, tùy thuộc vào câu trả lời của ứng viên mà nhà tuyển dụng sẽ đánh giá đây có phải là một ứng viên phù hợp hay không và đưa ra các câu hỏi tiếp theo để đánh giá kỹ năng, tính cách và kinh nghiệm làm việc.
Để trả lời tốt câu hỏi này, bạn cần đưa ra khái quát những thông tin về cá nhân có liên quan, hữu ích cho vị trí mà mình ứng tuyển như: công việc hiện tại, trình độ học vấn, mục tiêu sự nghiệp,… Bạn nên cân nhắc giới thiệu bản thân theo trình tự thời gian quá khứ, hiện tại và tương lai cũng như gói gọn trong tối đa 2 phút. Chia sẻ ngắn về sở thích, tính cách cũng là một cách thu hút nhà tuyển dụng, tuy nhiên cũng không nên nói quá nhiều về những vấn đề này với nhà tuyển dụng.
Bạn có thể mô tả sơ lược về những công việc bạn đã làm? Nhiệm vụ chính ở công việc gần đây nhất của bạn là gì?
Mục đích của câu hỏi này để đánh giá về năng lực và những kinh nghiệm làm việc của bạn có phù hợp với vị trí đang ứng tuyển hay không.
Được đánh giá là một trong các câu hỏi phỏng vấn thường gặp và quan trọng, cách trả lời phỏng vấn câu hỏi này là nên chân thật, nó giống như bạn đang chia sẻ những kinh nghiệm của bản thân, đừng cố nói những gì mình không biết, bạn sẽ không trả lời được nếu nhà tuyển dụng hỏi sâu hơn về chuyên môn.
Hãy nói những gì bạn được học hay những gì biết về công việc một cách ngắn gọn và đủ, cũng không nên kể chi tiết các công việc, quá dài dòng
Những thành tựu nào đã đạt được trong công việc khiến bạn tự hào nhất?
Mục đích câu hỏi này là để nhà tuyển dụng biết được mức độ thành thạo trong công việc của ứng viên và năng suất làm việc của họ như thế nào.
Bạn cần liệt kê những thành tựu trong cả quãng thời gian đi học: bạn đạt được những giải thưởng gì, bạn tham gia cuộc thi gì,... lý do là để bạn dẫn dắt nhà tuyển dụng vào những thành tích của mình theo một chuỗi những hoạt động từ ngày bạn đi học, thể hiện bạn là một ứng viên xuất sắc, tham gia hoạt động nhiệt tình, kỹ năng mềm rất tốt. Khi nói về các thành tích trong công việc, hãy kể về các thành tích bạn đã đạt được trong các dự án trước đây, những giá trị mang lại cho công ty, kể về vai trò của bạn trong dự án, những công việc đã thực hiện hay cả những khó khăn đã gặp phải trong quá trình thực hiện. Hãy thể hiện sự tâm huyết với công việc, kể cả với công việc ở công ty cũ, bạn nên nêu cảm xúc khi bạn đạt được những thành tựu và những bài học tích cực bạn rút ra được từ những lần đó.
Trong trường hợp bạn chưa có nhiều kinh nghiệm, hãy nói bạn đang muốn theo đuổi công việc này và dành nhiều thời gian học hỏi, phát triển kỹ năng, bạn đang mong muốn tìm được một công ty tốt để gắn bó và cống hiến lâu dài.
Tình huống khó khăn nhất trong công việc bạn từng gặp là gì? Cách bạn giải quyết vấn đề khó khăn đó như thế nào?
Khi hỏi câu này, NTD muốn biết bạn có khả năng tư duy để tìm ra giải pháp cho tất cả vấn đề bạn gặp phải hay không.
Ngay cả khi vấn đề của bạn là không có đủ thời gian để học tập, nghiên cứu, bạn cũng cần cho NTD thấy cách bạn đã điều chỉnh thứ tự ưu tiên trong lịch làm việc của mình để giải quyết nó. Việc này chứng tỏ bạn là người có tinh thần trách nhiệm và có thể tự mình tìm ra giải pháp cho vấn đề gặp phải.
Bạn có thể trả lời bằng cách nêu lên các khó khăn gặp phải khi thực hiện công việc, đảm bảo tuân thủ các kế hoạch, hoàn thành đúng thời hạn và quản lý nguồn ngân sách. Hãy sử dụng đại từ “tôi” và nhấn mạnh các yếu tố quan trọng (dựa trên nhu cầu và văn hoá của công ty).
Định hướng nghề nghiệp của bạn trong 1 năm/ 3 năm tới sẽ như thế nào?
Đây là câu hỏi để nhà tuyển dụng hiểu thêm về định hướng nghề nghiệp, tham vọng của bạn, liệu bạn có gắn bó lâu dài với công ty, và lộ trình thăng tiến tại công ty có phù hợp với bạn hay không.
Hãy nói về mục tiêu (tính chất công việc mong muốn) và cách để bạn đạt được mục tiêu đó. Hãy lồng ghép các chi tiết phù hợp với mô tả công việc bạn đang phỏng vấn. Tránh nhắc đến những chi tiết liên quan đến khả năng cam kết lâu dài với công ty; tất cả chỉ là dự định của bạn, không có gì đảm bảo chắc chắn cho những kế hoạch này
Tham khảo câu trả lời phỏng vấn:
"Mục tiêu ngắn hạn của em sẽ được học và phát triển bản thân mình với những kế hoạch công việc của công ty. Và mục tiêu dài hạn của em sẽ được đảm nhận những công việc khó hơn để có thể thăng tiến lên cấp bậc cao hơn, để đạt được mục tiêu này thì kế hoạch của em sẽ tham gia các khóa học về luật lao động, tâm lý học hành vi, và cách quản lý con người."
Hãy miêu tả quy trình làm việc của bạn khi nhận được một nhiệm vụ công việc. Từ mô tả công việc cho vị trí này, bạn nghĩ mình sẽ làm gì hàng ngày?
Mục đích của nhà tuyển dụng là để tìm hiểu về kỹ năng, tư duy, cách làm việc và cách sắp xếp công việc của bạn như thế nào, có phù hợp với vị trí tuyển dụng hay không
Hãy mô tả chi tiết kế hoạch làm việc của bạn, bạn sẽ sắp xếp công việc như thế nào cho hiệu quả, những việc quan trọng và khẩn cấp nên làm trước, sau đó đến những công việc ít quan trọng và ít khẩn cấp hơn. Bên cạnh đó nêu lý do vì sao bạn chọn quy trình làm việc như vậy, ý nghĩa và hiệu quả của nó. Hãy thể hiện sự thông minh trong việc sắp xếp công việc một cách khoa học
Bạn mong đợi điều gì ở vị trí mới/ môi trường mới?
Câu hỏi này mục đích để nhà tuyển dụng biết được mong muốn của ứng viên, từ đó xem xét tính phù hợp với tính chất công việc, chế độ đãi ngộ và ngân sách của công ty. Nhà tuyển dụng thường muốn biết về những kỳ vọng của bạn trong quá khứ để xem những gì ứng viên mong muốn từ nhà tuyển dụng hiện tại có phù hợp với bạn hay không, vai trò của bạn sẽ như thế nào và những điều bạn kỳ vọng có phù hợp với vị trí và trách nhiệm với công việc đang ứng tuyển hay không.
Đây là dạng câu hỏi không có câu trả lời đúng hoặc sai, bạn nên trả lời một cách trung thực, tích cực và cụ thể. Hãy thể hiện rằng bạn hi vọng những điều kiện làm việc tốt, cơ hội phát triển, được khuyến khích đóng góp cho công ty. Bạn cũng có thể chia sẻ những kỳ vọng về công việc. Cách tốt nhất để trả lời những câu hỏi này là thảo luận về những gì bạn mong đợi, mong muốn thực hiện khi đảm nhận công việc và đưa ra các ví dụ về cách bạn thực hiện các công việc.
Mức lương và phúc lợi bạn mong đợi ở công việc mới như thế nào?
Khi đặt ra câu hỏi này, nhà tuyển dụng thường có 3 lý do sau:
-
Công ty đã có ngân sách cho vị trí này và muốn tìm hiểu về kỳ vọng của ứng viên.
-
Nhà tuyển dụng sẽ dựa vào chia sẻ của ứng viên và khả năng đáp ứng của doanh nghiệp để đưa ra một con số phù hợp. Nếu thấy hầu hết ứng viên đều đưa ra một con số cao hơn ngân sách của công ty, nhà tuyển dụng có thể sẽ phải suy nghĩ về khoảng ngân sách mới cho vị trí này.
-
Đánh giá mức độ kinh nghiệm và mức độ nhận biết về giá trị của ứng viên đối với chính mình. Một ứng viên hiểu rõ bản thân đáng giá bao nhiêu trên thị trường và tự tin nói về nó luôn được nhà tuyển dụng đánh giá cao. Dựa trên con số mà ứng viên đưa ra, nhà tuyển dụng có thể đánh giá được phần nào kinh nghiệm và khả năng làm việc của họ đối với các ứng viên còn lại.
Nếu được hỏi về mức lương mong muốn đó là đừng đưa mức lương hàng tháng lên tận trời xanh (quá cao) vượt xa với mức tưởng tượng của nhà tuyển dụng. Tuy nhiên, cũng đừng vì thiếu tự tin mà để mức lương quá thấp, hãy là một ứng viên thông minh biết sàng lọc, dung hòa đưa ra một mức lương hợp lý, không quá cao nhưng không phải thấp, đủ để thấy được giá trị bản thân. Bạn thương lượng một mức lương thấp chẳng khác nào đang tự nhận tôi là người chẳng làm được việc.
Ngoài mức lương ra, trong quá trình phỏng vấn ứng viên cũng nên hỏi trao đổi thẳng thắn về quyền lợi được hưởng ví dụ như: Bảo hiểm xã hội, tiền phụ cấp xăng, ăn uống; Chế độ nghỉ thai sản ... cho rõ ràng và cụ thể. Những câu hỏi như vậy sẽ giúp nhà tuyển dụng và ứng viên hiểu nhau hơn, nếu cả hai thấy thỏa mãn thì tiếp tục đi đến các vòng phỏng vấn lần sau.
Bạn mong đợi người quản lý của mình sẽ như thế nào?
Đây là câu hỏi để nhà tuyển dụng hiểu về tính cách của bạn cũng như những mong đợi của bạn dành cho người quản lý, qua đó biết được mức độ phù hợp của bạn khi làm việc cùng với người quản lý trực tiếp
Bạn không nhất thiết phải trả lời chi tiết vì biết đâu chính người phỏng vấn lại là sếp sau này của bạn. Hãy đưa ra những câu trả lời mà sếp thường có, ví dụ giỏi giang, tế nhị, công bằng và biết khuyến khích nhân viên làm việc
Câu hỏi phỏng vấn Front-end Developer về chuyên môn
Thẻ Meta là gì?
Thẻ Meta là đoạn văn bản mô tả nội dung của trang, các thẻ meta xuất hiện trong mã nguồn của trang mà không xuất hiện trên chính trang. Các thẻ meta giúp cho công cụ tìm kiếm nhanh chóng đọc và biết được nội dung của một trang web.
Trình bày hiểu biết về Box model trong CSS
Về lý thuyết sẽ có một khuôn hình chữ nhật bao quanh mọi phần tử HTML. Box model được dùng để xác định chiều cao và chiều rộng của hộp chữ nhật đó. Hộp CSS sẽ có các yếu tố chiều cao, chiều rộng, phần đậm, phần viền, lề. Cụ thể:
- Content: Phần nội dung của hộp nơi chứa hình ảnh hoặc văn bản.
- Padding: Là khoảng trống giữa phần nội dung và phần viền, bao quanh nội dung.
- Border: Phần bao quanh phần đệm
- Margin: Phần bao quanh đường viền
Nêu những điểm khác nhau giữa ID Selector và Class selector trong CSS
- ID là duy nhất, mỗi phần tử chỉ có thể có một ID. Mỗi trang HTML chỉ có thể có một phần tử có ID đó.
- Ngược lại, Class bạn có thể sử dụng trên nhiều phần tử và một phần tử có thể có nhiều class
Bạn hiểu Block Formatting Context là gì? Cách thức hoạt động ra sao?
Block Formatting Context viết tắt là BFC, là một phần hiển thị trực quan CSS của một trang web gồm các hộp khối được bố trí. Floats, absolutely positioned elements, inline-blocks, table-cells, table-captions, và elements có phần tràn khác với phần hiển thị thiết lập ngữ cảnh định dạng khối.
Sử dụng Block Formatting Context là rất cần thiết bởi nếu không thực hiện, hộp chứa sẽ không chứa floated children. Điều này sẽ dẫn đến việc các hộp chữ nhật sẽ bị lỗi về định dạng.
Block Formatting Context là một tài liệu HTML box có một trong các điều kiện sau:
- Giá trị float không là none
- Giá trị vị tri không phải giá trị tĩnh và cũng không là tương đố
- Màn hình sẽ có giá trị table-cell, inline-block, flex, table-caption hoặc inline-flex
- Không hiển thị giá trị của overflow
- Cạnh ngoài bên trái mỗi hộp chạm cạnh trái của khối chứa
Điểm khác biệt giữa relative, fixed, absolute và statically positioned element là gì?
- Relative là phần tử được định vị tương đối với vị trí bình thường của nó
- Fixed là phần tử được định vị liên quan đến cửa sổ trình duyệt
- Absolute là phần tử được đặt cố định ở vị trí ban đầu của nó
- Static là giá trị mặc định, tất cả các phần tử sẽ sắp xếp theo thứ tự khi chúng xuất hiện trong tài liệu.
Cors là gì?
Cors ( Cross-Origin Resource Sharing) là một cơ chế trình duyệt cho phép truy cập và kiểm soát các tài nguyên nằm bên ngoài một miền nhất định nào đó. Nó sẽ mở rộng và thêm sự linh hoạt cho chính sách cùng nguồn gốc.
Hoisting trong JavaScript là gì?
Hoisting là thuật ngữ dùng để mô tả sự di chuyển của biến và hàm lên đầu phạm vi của chúng. Tại đây chúng ta có thể xác định được biến hoặc hàm đó.
Cookies, Session Storage, Local Storage khác nhau như thế nào?
- Cookies là dữ liệu rất nhỏ lưu trữ trong trình duyệt có thể lưu trữ lên đến 4KB và có thể được truy cập thông tin qua máy chủ hoặc trình duyệt.
- Local Storage là bộ nhớ của trình duyệt có khả năng lưu trữ lên đến 10MB
- Session Storage là bộ nhớ phiên, bộ nhớ này lưu trữ được ít hơn 5MB và sẽ bị xóa khi đóng trình duyệt của bạn
Trong CSS Pseudo-class là gì?
Pseudo trong CSS dùng để xác định trạng thái đặc biệt của một phần tử. Nó có thể được kết hợp với một bộ chọn CSS (selector) để thêm hiệu ứng cho các phần tử hiện có dựa trên trạng thái của chúng.
Put và Post khác nhau như thế nào?
- Put: Thay thế tài nguyên bằng payload yêu cầu và có thể được sử dụng để cập nhập hoặc tạo một tài nguyên mới.
- Post: Thực hiện xử lý tài nguyên cụ thể trên payload và có thể được sử dụng cho các hành động khác nhau bao gồm tạo ra tài nguyên mới, tải lên tệp hoặc gửi biểu mẫu web.
Bạn biết gì về hệ thống Grid trong CSS như thế nào?
Để trả lời cho câu hỏi phỏng vấn Frontend này, bạn cần phải đề cập đến hai nội dung sau. Thứ nhất, CSS chia trang thành các lưới và sử dụng các lưới đó để xử lý nội dung HTML. Thứ hai, CSS có thể xếp chồng và làm nổi bật các phần tử khác nhau trong các phần khác nhau của lưới.
Hãy xác định các thẻ meta HTML
Các thẻ meta HTML bao gồm:
- Thẻ meta được chuyển dưới dạng cặp tên / giá trị.
- Thẻ meta có thể bao gồm dữ liệu về mã hóa, tiêu đề tài liệu, mô tả ký tự, v.v.
- Thẻ meta nằm trong thẻ head của trang HTML.
- Thẻ meta không được hiển thị trên trang nhưng nó sẽ được hiển thị trên trình duyệt.
Cross-Site Scripting (XSS) là gì?
Cross-Site Scripting (XSS) là xảy ra khi kẻ tấn công sử dụng một ứng dụng web để gửi mã độc hại đến một người dùng cuối khác. Mã này thường ở dạng tập lệnh phía trình duyệt.
Trang do máy chủ cung cấp khi ai đó yêu cầu sẽ không bị thay đổi. Cuộc tấn công XSS khai thác các điểm yếu trong trang bao gồm một biến được gửi trong một yêu cầu hiển thị ở dạng thô trong phản hồi. Trang sẽ chỉ hiển thị những gì đã được gửi cùng với yêu cầu này.
Khi nào bạn nên sử dụng jQuery?
jQuery là một lựa chọn tốt cho các tác vụ đơn giản. Nó có một số lợi thế so với các khuôn khổ khác. Bao gồm:
- Dễ dàng mở rộng
- Dễ sử dụng và học hỏi
- Dễ sử dụng để thao tác và duyệt DOM.
- Hỗ trợ nhiều trình duyệt (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)
- Hỗ trợ AJAX
- Rất nhiều plug-in cho mọi nhu cầu
Đề cập đến sự khác biệt giữa MySQL và MongoDB
- MySQL: Đây là một Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS), sử dụng SQL làm ngôn ngữ chuẩn để xử lý cơ sở dữ liệu của nó. Giống như các hệ quản trị cơ sở dữ liệu quan hệ khác nhau, MySQL sử dụng cấu trúc giống bảng để lưu trữ dữ liệu.
- MongoDB: MongoDB là một cơ sở dữ liệu NoSQL sử dụng cấu trúc giống JSON để lưu trữ các phần tử dữ liệu. Để sửa đổi và truy cập dữ liệu trong MongoDB, lập trình viên phải sử dụng Ngôn ngữ truy vấn MongoDB (MQL).
ClickJacking là gì?
ClickJacking là một kỹ thuật độc hại được sử dụng để lừa người dùng nhấp vào một phần tử nhất định mà trên thực tế khác với phần tử được hiển thị cho người dùng. ClickJacking được sử dụng để lấy thông tin cá nhân một cách bất hợp pháp hoặc chiếm quyền kiểm soát thiết bị của ai đó.
Bạn hãy chỉ một vài cách khác nhau để tích hợp CSS vào trang HTML?
- Dùng style-tags ở phần head của trang HTML để tích hợp CSS.
- Tích hợp style bằng cách dùng thẻ inline-styling.
- Viết CSS trong tập tin riêng và thêm nó vào HTML qua thẻ liên kết.
Để tự tin hơn cho buổi phỏng vấn, bạn cần nắm chắc các nội dung liên quan cũng như có am hiểu sâu về lĩnh vực.
Câu hỏi phỏng vấn
Chủ yếu được hỏi về ngăn xếp và cách cấu hình chúng. Trong hệ sinh thái javascript, điều này hoàn toàn không liên quan lắm vì mỗi dự án là duy nhất theo cách riêng của nó
Được hỏi về các câu hỏi cụ thể về phản ứng chuyển đổi, chẳng hạn như liệu bạn có kết nối với cửa hàng để lấy dữ liệu hay truyền đạo cụ hay không.
Bạn có biết nút js không?
Bạn đã làm việc với các công nghệ và ngôn ngữ lập trình front-end nào? Hãy chia sẻ một ví dụ về dự án hoặc trải nghiệm nào bạn đã có trong việc phát triển giao diện người dùng.
Làm thế nào bạn đảm bảo sự tương thích và hiệu suất của trang web trên các trình duyệt khác nhau? Bạn đã gặp phải những thách thức nào trong việc đảm bảo tích hợp đúng đắn?
Làm thế nào bạn quản lý mã nguồn và sử dụng công cụ quản lý phiên bản (version control) trong quá trình phát triển? Bạn có kinh nghiệm làm việc với các hệ thống như Git không?
Bạn dự định làm cho công ty trong bao lâu với vị trí Intern Front-end developer?
Bạn có thể làm được gì cho chúng tôi với vị trí Intern Front-end developer?
Bạn mong muốn làm việc với người sếp như thế nào với vị trí Intern Front-end developer?
Mức lương bạn mong muốn với vị trí Intern Front-end developer?
Nếu được tuyển dụng bạn sẽ làm gì với vị trí Intern Front-end developer?
Làm sao công ty tuyển dụng bạn khi bạn chưa có kinh nghiệm với vị trí Intern Front-end developer?