Ngày cập nhật 2024-04-27 18:11:43

Bộ câu hỏi phỏng vấn ReactJS phổ biến cho cơ bản và nâng cao

Bộ câu hỏi phỏng vấn ReactJS thông dụng gồm những câu hỏi nào? Bạn đang muốn vượt qua vòng phỏng vấn tuyển dụng trở thành nhân viên fresher ReactJS, điều này đòi hỏi bạn phải có hiểu biết về components, render,...trong react. Tìm hiểu ngay cùng Tanca.

ReactJS là gì?

ReactJS la gi

ReactJS là thư viện JavaScript front-end được nhắc đến nhiều nhất trong lĩnh vực phát triển web, tên gọi ngắn gọn React. React được tạo ra nhằm xây dựng giao diện người dùng một cách nhanh và dễ tương tác cho ứng dụng web và di động.

React dần trở nên phổ biến nhờ sở hữu nhiều tính năng nổi bật – sử dụng để phát triển ứng dụng web cùng với thiết bị di động, luồng dữ liệu một chiều, các thành phần có thể tái sử dụng, phát triển ứng dụng, sử dụng động,...

Xem thêm: Bộ câu hỏi phỏng vấn C#

Tổng hợp bộ câu hỏi phỏng vấn ReactJS cơ bản

Dưới đây là các câu hỏi cùng câu trả lời cơ bản mà nhà tuyển dụng hay hỏi ứng viên.

Những đặc điểm của React là gì?

JSX là phần mở rộng cú pháp JavaScript. JSX sử dụng với React để mô tả giao diện người dùng. Sử dụng JSX, chúng ta có thể viết cấu trúc HTML trong cùng một tệp chứa code JavaScript.

Components là nền tảng của bất kỳ ứng dụng React nào và một ứng dụng React đơn lẻ thường được tạo thành từ nhiều thành phần. Nó chia giao diện người dùng thành các phần có thể tái sử dụng độc lập có thể được quản lý riêng.

Virtual DOM React lưu trữ trong bộ nhớ một phiên bản "đại diện" nhưng nhẹ hơn của DOM "thực", được gọi là DOM ảo.

Liên kết dữ liệu một chiều Liên kết dữ liệu một chiều của React cung cấp tính mô đun và tốc độ.

High Performance React chỉ cập nhật các thành phần đã thay đổi, thay vì cập nhật tất cả các thành phần cùng một lúc. Điều này làm cho việc phát triển ứng dụng web nhanh hơn nhiều.

Những câu hỏi phỏng vấn intern front-end ReactJS: Sự kiện trong React là gì?

Sự kiện là hành động mà hệ thống hoặc người sử dụng có thể kích hoạt, chẳng hạn như nhấp chuột, nhấn phím,...

Các sự kiện React được đặt tên bằng camelCase thay vì các chữ cái HTML viết thường.

Trong JSX, bạn chuyển một hàm dưới dạng trình xử lý sự kiện thay vì một chuỗi trong mã HTML.

Trình duyệt web có đọc JSX trực tiếp được không?

Trình duyệt web không thể đọc JSX trực tiếp. 

Để trình duyệt web đọc tệp JSX, tệp phải được chuyển đổi thành đối tượng JavaScript đơn giản. Đối với điều này, chúng tôi sử dụng Babel.

DOM ảo là gì?

DOM là viết tắt của Mô hình đối tượng tài liệu. DOM đại diện cho 1 tài liệu HTML có cấu trúc cây logic. Mỗi nhánh sẽ kết thúc bằng 1 nút và mỗi nút chứa các đối tượng.

React lưu trữ trong bộ nhớ một "đại diện", nhưng là phiên bản nhẹ hơn của DOM "thực", được gọi là Virtual DOM. Khi trạng thái của đối tượng thay đổi, DOM ảo chỉ thay đổi đối tượng đó ở trong DOM thực thay vì cập nhật hết mọi đối tượng.

Xem thêm: Bộ câu hỏi phỏng vấn Android

Câu hỏi phỏng vấn ReactJS senior: Form trong React là gì?

phong van ReactJS senior

Đây là một trong các câu hỏi dễ bắt gặp nhất khi phỏng vấn.

React dùng các form cho phép người sử dụng tương tác cùng các ứng dụng web.

Sử dụng form, người sử dụng có thể tương tác với ứng dụng và nhập thông tin cần thiết nếu cần. Biểu mẫu chứa các thành phần cụ thể như hộp văn bản, nút, hộp kiểm, nút radio,...

Form được sử dụng cho các tác vụ khác nhau như xác thực người sử dụng, tìm kiếm, lọc, lập chỉ mục,...

Tại sao nên dùng React thay vì framework khác

Dễ dàng phát triển các ứng dụng web động: React giúp dễ dàng tạo các ứng dụng web động vì ít code hơn cung cấp nhiều chức năng hơn, trong khi với các ứng dụng JavaScript, mã thường trở nên phức tạp.

Cải thiện hiệu suất: React sử dụng một DOM ảo để làm cho các ứng dụng web chạy nhanh hơn. Virtual DOM so sánh trạng thái trước đó của nó và chỉ cập nhật các phần tử có trạng thái thay đổi trong DOM thực, thay vì cập nhật tất cả các phần tử như các ứng dụng web thông thường.

Các thành phần có thể tái sử dụng: Components là nền tảng của mọi ứng dụng React và 1 ứng dụng đơn lẻ thường gồm nhiều components. Các components này có logic và điều khiển riêng và có thể được sử dụng lại trong toàn bộ ứng dụng, giúp giảm đáng kể thời gian phát triển ứng dụng.

Luồng dữ liệu 1 chiều: Điều này có nghĩa là khi thiết kế một ứng dụng React, chúng ta thường lồng các component con vào trong các component cha. Và vì dữ liệu chảy theo một hướng nên việc gỡ lỗi và biết vấn đề nằm ở đâu trong ứng dụng sẽ dễ dàng hơn.

Các công cụ chuyên dụng để gỡ lỗi dễ dàng: Facebook đã phát hành một tiện ích mở rộng của Chrome mà chúng tôi có thể sử dụng để gỡ lỗi các ứng dụng React. Điều này làm cho việc gỡ lỗi React cho các ứng dụng web nhanh hơn và dễ dàng hơn.

Xem thêm: Bộ câu hỏi phỏng vấn Java quan trọng

Sự kiện tổng hợp trong React là gì?

Các sự kiện tổng hợp kết hợp các phản hồi sự kiện gốc từ các trình duyệt khác nhau vào một API duy nhất, đảm bảo tính nhất quán của sự kiện trên các trình duyệt.

App phải nhất quán cho dù nó đang chạy trên trình duyệt nào. Ở đây, PreventDefault là một sự kiện phức hợp.

Danh sách hoạt động của React như thế nào?

Chúng tôi tạo danh sách trong React như chúng tôi thường làm trong JavaScript. Danh sách hiển thị dữ liệu theo định dạng thứ tự.

Việc xem danh sách được thực hiện bằng hàm map().

Vì sao cần sử dụng key trong danh sách?

Key quan trọng trong danh sách vì:

  • Key là mã định danh duy nhất và được sử dụng để xác định các mục đã được thay đổi, cập nhật hoặc xóa khỏi danh sách.
  • Key cũng giúp xác định thành phần nào cần được kết xuất lại thay vì kết xuất lại tất cả các thành phần mỗi lần. Do đó, khóa cải thiện hiệu suất vì chỉ các thành phần được cập nhật mới được render lại.

Làm thế nào để tạo form trong React?

Bạn cần viết một đoạn code để tạo một trường đầu vào có nhãn Name và nút gửi. Khi người dùng nhấn nút gửi thì nó sẽ cảnh báo.

Làm sao để viết comment trong React?

Có 2 cách viết content cơ bản trong react:

  • Comment một dòng
  • Comment nhiều dòng

Arrow function là gì và cách sử dụng

Hàm mũi tên là một phím tắt chức năng trong React. Không cần thiết phải liên kết "this" bên trong hàm tạo khi sử dụng các hàm mũi tên.

Điểm khác nhau giữa React Native và React?

React Native được nhóm phát triển Facebook đưa ra 2 năm sau khi ReactJs ra mắt, nó được sử dụng để phát triển các app di động (không hoạt động trên web).

React Native và ReactJs có chung nguyên tắc lập trình, ngôn ngữ React và các tính năng, vì vậy thật dễ dàng để học và sử dụng cả hai nền tảng cùng một lúc.

Sự khác biệt là trong khi React Native là một framework hoàn chỉnh có thể giao tiếp với API gốc để xây dựng các ứng dụng chạy trên nền tảng di động như Android hoặc iOS; ReactJs vốn dĩ chỉ là một thư viện UI cho web, nó cần thêm một vài thư viện khác hỗ trợ xây dựng và cấu hình môi trường để tạo ra một ứng dụng hoàn chỉnh. 

Một điểm khác biệt nữa về mã hóa là React Native không sử dụng HTML vì nó không được viết để chạy trên web như ReactJs, thay vào đó, nó cung cấp cho các nhà phát triển các thành phần hoạt động tương tự.

Xem thêm: Bộ câu hỏi phỏng vấn PHP được dùng nhiều

Điểm khác nhau giữa Angular và React?

 

Angular

React

Tác giả

Google

Facebook

DOM

DOM thực

DOM ảo (Virtual DOM)

Mô hình

Mô hình MVC toàn diện

Các lớp (layer) MVC

Rendering

Client-Side

Server-Side

Liên kết dữ liệu

Hai chiều

Đơn chiều

Hiệu suất

Khá chậm

Nhanh hơn nhờ DOM ảo

Câu hỏi phỏng vấn ReactJS nâng cao về Components

cau hoi phong van nang cao ve lap trinh

Component trong React là gì?

Components là nền tảng của hầu hết ứng dụng React và một ứng dụng đơn lẻ thường gồm nhiều thành phần. Một Component cơ bản là 1 phần trong giao diện người dùng. Nó chia giao diện người dùng thành các phần có thể tái sử dụng độc lập có thể được quản lý riêng.

Có hai loại thành phần trong React:

Functional Components: Các loại components này không có trạng thái của riêng chúng và chỉ chứa các phương thức render, do đó chúng còn được gọi là các stateless components.

Thành phần lớp: Loại thành phần này có thể lưu trữ và quản lý trạng thái của riêng chúng và có phương thức kết xuất riêng để đưa JSX trở lại màn hình. Chúng còn được gọi là các thành phần trạng thái vì chúng có thể có một trạng thái.

Cách sử dụng hàm render() trong React?

Mỗi component phải có 1 hàm render(). Hàm này trả về mã HTML sẽ được hiển thị trong phần tử.

Nếu bạn muốn hiển thị nhiều phần tử thì tất cả các phần tử phải nằm trong thẻ cha như <div>, <form>.

State trong React là gì?

State là một đối tượng React tích hợp được sử dụng để lưu trữ dữ liệu hoặc thông tin về component. State của một component có thể thay đổi theo thời gian và mỗi lần nó thay đổi, component sẽ được render lại.

Làm thế nào để triển khai State?

State giúp giữ data mà 1 component sẽ hiển thị ở web

Bạn có thể truy cập vào state properties bằng cách:

trien khai State

Làm thế nào để cập nhật State trong component 

Bạn có thể cập nhật State của component bằng cách dùng ‘setState ()’ được tích hợp sẵn như sau:

cap nhat State trong component

Props trong React là gì?

Props là viết tắt của từ Properties. Đây là đối tượng React tích hợp giữa việc lưu trữ giá trị của thuộc tính thẻ và hoạt động tương tự như các thuộc tính HTML.

Props cung cấp một cách để truyền dữ liệu từ thành phần này sang thành phần khác. Các props được truyền cho component giống như cách các arguments được truyền trong một hàm.

Điểm khác nhau giữa State và Props?

 

Props

State

Cách dùng

Cho phép truyền dữ liệu từ component sang những components khác 

Chứa dữ liệu về components

Chỉ đọc (Read-Only)

Là read-only

Có thể thay đổi

Khả năng thay đổi (Mutability)

Không thể thay đổi

Có thể thay đổi

Component con

Component con có thể truy cập

Component con không thể truy cập

Stateless components

Có thể có props

Không thể có state

HOC trong React là gì?

Higher-order component (HOC) hoạt động như 1 thùng chứa các thành phần khác. Điều này giúp giữ cho các thành phần "gọn gàng" và sẵn sàng để tái sử dụng. HOC thường được sử dụng khi nhiều thành phần cần sử dụng logic chung.

Làm thế nào để nhúng 2 hoặc nhiều component thành 1?

Để nhúng 2 hoặc nhiều components vào 1 thành phần bạn có thể dùng phương pháp dưới đây:

nhung nhieu component

Điểm khác nhau giữa Functional components và Class components

 

Functional Components

Class Components

State

Không thể giữ hoặc quản lý state

Có thể giữ hoặc quản lý state

Độ đơn giản

Đơn giản và dễ hiểu

Phức tạp hơn so với stateless component

Lifecycle methods

Không hoạt động chung lifecycle method nào

Có hoạt động với mọi lifecycle methods

Khả năng tái sử dụng

Không thể

Có thể

Câu hỏi phỏng vấn ReactJS Fresher về ReactJS Redux

Các components của Redux là gì?

  • Store: Lưu trữ state của ứng dụng.
  • Action: Nguồn thông tin về store.
  • Reducer: Chỉ định state thay đổi như thế nào theo các hành động được gửi đến store.

Flux là gì?

Flux là kiến ​​trúc phần mềm mà Facebook sử dụng để phát triển các web. Đây là phương pháp xử lý dữ liệu phức tạp trong ứng dụng khách và quản lý kích thước dữ liệu trong React.

Có một nguồn dữ liệu (cửa hàng) và cách duy nhất để cập nhật chúng là gọi các hành động cụ thể. Hành động gọi người điều phối và sau đó các cửa hàng được phát hành và cập nhật thông tin chi tiết của họ cho phù hợp.

Điểm khác nhau giữa Redux và Flux là gì?

 

Redux

Flux

1.

Redux là thư viện mã nguồn mở trong JavaScript được dùng quản lý trạng thái ứng dụng

Flux là kiến trúc, không phải framework hay thư viện

3.

Chỉ có thể có một store

Có thể có nhiều store

2.

Trạng thái của store là bất biến

Trạng thái của store là tùy biến

4.

Sử dụng reducer

Sử dụng dispatcher

Câu hỏi phỏng vấn ReactJS về React Router: So sánh React routing với conventional routing

 

Định tuyến React

Định tuyến quy ước

1.

Trang HTML đơn

Mỗi view là một tệp HTML mới

3.

Trang không làm mới vì là một tệp duy nhất

Trang làm mới mỗi khi người dùng điều hướng

2.

Người dùng để điều hướng nhiều chế độ xem trong một tệp

Người dùng điều hướng nhiều tệp cho mỗi chế độ xem

4.

Cải thiện hiệu suất

Hiệu suất chậm hơn

Câu hỏi phỏng vấn ReactJS về Styling

Làm thế nào để style components trong React?

Có một vài cách để style components trong React”

  • Inline Styling
  • JavaScript Object
  • CSS Stylesheet

Giải thích cách sử dụng CSS modules trong React

  • Tệp CSS mô-đun được tạo bởi .module.css extension
  • CSS trong tệp mô-đun chỉ khả dụng cho components đã nhập nó, vì vậy không có xung đột đặt tên khi tạo style cho components.

Kết luận

Vậy là bạn đã cùng Tanca điểm qua bộ câu hỏi phỏng vấn ReactJS thường gặp nhất 2023 dành cho mọi cấp bậc. Hy vọng qua bài viết này sẽ giúp bạn có sự chuẩn bị tốt hơn trong buổi phỏng vấn sắp tới.

Lê Thị Thuỳ Vi
Bài viết mới
Có thể bạn quan tâm