React developer là gì

NỘI DUNG CHÍNH

Show
  • ReactJS là gì?
  • Câu hỏi phỏng vấn ReactJS cơ bản
  • Câu hỏi phỏng vấn ReactJS về Components
  • Câu hỏi phỏng vấn ReactJS về ReactJS Redux
  • Câu hỏi phỏng vấn ReactJS về React Router
  • Câu hỏi phỏng vấn ReactJS về Styling

reactjs - reactjs là gì - react - phỏng vấn reactjs

ReactJS là một trong những chủ đề “nóng hổi” trong ngành IT hiện nay. Tính đến thời điểm hiện tại, React là công nghệ front-end phổ biến nhất mà ngày càng nhiều công ty sử dụng. Nếu bạn đang chuẩn bị cho buổi phỏng vấn sắp tới, sau đây là 40 câu hỏi phỏng vấn ReactJS phổ biến nhất, kèm theo câu trả lời, dành cho bạn.

Dưới đây là danh sách tổng hợp tất cả các câu hỏi phỏng vấn ReactJS phổ biến từ cấp độ cơ bản đến nâng cao thường được hỏi trong các cuộc phỏng vấn.

Read the full English version: Top 40 ReactJS Interview Questions and Answers – Basic to Advanced Level

ReactJS là gì?

Trước khi đến với những câu hỏi phỏng vấn ReactJS, hãy cùng “ôn” lại ReactJS là gì nhé.

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

Tham khảo: Top 5 framework phổ biến nhất dành cho Web Developer

React đã trở nên phổ biến nhờ vào một số tính năng nổi bật – có thể được sử dụng để phát triển cả ứng dụng web và ứng dụng di động, luồng dữ liệu một chiều, các components có thể tái sử dụng, tạo các ứng dụng động, v.v.

Câu hỏi phỏng vấn ReactJS cơ bản

Dưới đây là một số câu hỏi phỏng vấn ReactJS về các khái niệm cơ bản:

1. Những đặc điểm của React?

JSX JSX là một phần mở rộng cú pháp cho JavaScript. JSX được sử dụng với React để mô tả giao diện người dùng trông như thế nào. Bằng cách sử dụng JSX, chúng ta có thể viết các cấu trúc HTML trong cùng một tệp chứa code JavaScript.
Thành phần (Components) Components là nền tảng của bất kỳ ứng dụng React nào và một ứng dụng đơn lẻ thường bao gồm nhiều components. Nó chia giao diện người dùng thành các phần độc lập, có thể tái sử dụng và có thể được xử lý riêng.
DOM ảo (Virtual DOM) React giữ một bản “đại diện” nhưng nhẹ hơn của DOM “thực” trong bộ nhớ, gọi là DOM ảo (Virtual DOM). Khi trạng thái của một đối tượng (object) thay đổi, DOM ảo chỉ thay đổi đối tượng đó trong DOM thực, thay vì cập nhật tất cả các đối tượng.
Truyền dữ liệu một chiều (One-way data-binding) Truyền dữ liệu một chiều (one-way data binding) của React giữ cho mọi thứ đều theo modular và nhanh chóng. Luồng dữ liệu một chiều có nghĩa là khi thiết kế một ứng dụng React, bạn thường lồng các components con bên trong các components mẹ.
Hiệu suất cao React chỉ cập nhật những components đã thay đổi, thay vì cập nhật tất cả các components cùng một lúc. Điều này giúp tạo ra các ứng dụng web nhanh hơn đáng kể.

2. JSX là gì?

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

reactjs - jsx là gì

3. Các trình duyệt web có đọc JSX một cách trực tiếp được không?

  • Trình duyệt web không thể đọc JSX một cách trực tiếp. Điều này là do chúng được xây dựng để chỉ đọc các đối tượng JS thông thường và JSX không phải là một đối tượng JavaScript thông thường.
  • Để trình duyệt web có thể đọc được tệp JSX, tệp cần được chuyển đổi thành một đối tượng JavaScript thông thường. Để làm điều này, chúng tôi sử dụng Babel.

4. DOM ảo (Virtual DOM) là gì?

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

DOM ảo - Virtual DOM là gì

React giữ một bản “đại diện” nhưng nhẹ hơn của DOM “thực” trong bộ nhớ, gọi là DOM ảo (Virtual DOM). Khi trạng thái của một đối tượng (object) thay đổi, DOM ảo chỉ thay đổi đối tượng đó trong DOM thực, thay vì cập nhật tất cả các đối tượng.

DOM ảo - Virtual DOM

5. Tại sao nên sử dụng React thay vì các framework khác, ví dụ như Angular?

Dễ dàng tạo các ứng dụng động React giúp tạo các ứng dụng web động dễ dàng hơn vì ít code hơn mà lại cung cấp nhiều chức năng hơn, trong khi với các ứng dụng JavaScript, cách code thường có xu hướng trở nên phức tạp.
Hiệu suất cải thiện React sử dụng DOM ảo, giúp các ứng dụng web hoạt động 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 thành phần có trạng thái thay đổi trong DOM thực thay vì cập nhật tất cả các thành phần, như các ứng dụng web thông thường.
Các thành phần có thể tái sử dụng Các components là nền tảng của bất kỳ ứng dụng React nào và một ứng dụng đơn lẻ thường bao gồm nhiều components. Các components này có logic và các điều khiển riêng và chúng có thể được tái sử dụng thông qua ứng dụng, do đó làm giảm đáng kể thời gian phát triển một ứng dụng.
Luồng dữ liệu một chiều React tuân theo luồng dữ liệu một 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 thành phần con vào bên trong các thành phần mẹ. Và vì dữ liệu chảy theo một hướng, nên việc debug và biết vấn đề xảy ra ở đâu trong ứng dụng sẽ trở nên dễ dàng hơn.
Các công cụ chuyên dụng để debug dễ dàng Facebook đã phát hành một tiện ích mở rộng Chrome mà chúng ta có thể sử dụng để debug các ứng dụng React. Điều này làm cho quá trình gỡ lỗi React cho các ứng dụng web nhanh hơn và dễ dàng hơn.

6. Điểm khác biệt giữa tiêu chuẩn ES6 và ES5?

Đây là một vài trường hợp mà cú pháp ES6 khác so với cú pháp ES5:

  • Components và Function

es5 - es6 - components và function

  • exports vs export

es5 - es6 - exports export

  • require vs import

es5 - es6 - require import

7. Làm thế nào để tạo một ứng dụng React?

Đây là các bước để tạo một ứng dụng React:

  • Cài đặt NodeJS trên máy tính vì chúng ta cần npm để cài đặt thư viện React. Npm là trình quản lý gói nút chứa nhiều thư viện JavaScript, bao gồm cả React.

reactjs - npm - nodejs

  • Cài đặt gói create-react-app bằng command prompt hoặc terminal.

create-react-app - npm - reactjs

  • Cài đặt một trình soạn thảo văn bản mà bạn chọn, như VS Code hoặc Sublime Text.

Xem thêm: 15+ Tài liệu học NodeJS “chất” dành cho Developer

8. Sự kiện (Event) trong React là gì?

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

  • Các sự kiện React được đặt tên bằng camelCase, thay vì chữ viết thường, không in hoa trong HTML.
  • Với JSX, bạn chuyển một hàm làm trình xử lý sự kiện, thay vì một chuỗi trong HTML.