Hiện tại, React vẫn đang là một trong những công nghệ được tìm kiếm nhiều hiện nay. Hãy cùng TopCV tham khảo ngay một số câu hỏi phỏng vấn React mà bạn có thể gặp sau đây để giúp buổi phỏng vấn sắp tới thành công hơn.

Tìm hiểu về ReactJS là gì?
Trước khi đến với các câu hỏi phỏng vấn React Native, bạn cần tìm hiểu rõ về khái niệm của React là gì. ReactJS là một trong những thư viện của JavaScript phổ biến nhất. React sẽ cung cấp cho người dùng các giao diện người dùng (UI) mẫu.
Hiện tại, React vẫn đang được sử dụng khá phổ biến bởi nhiều công ty khác nhau. Ví dụ một số công ty lớn như Facebook, Netflix, eBay, Whatsapp,… Lý do mà ReactJS được sử dụng nhiều như vậy bởi đây là một thư viện nguồn mở dễ sử dụng, hỗ trợ cho Reusable Component trong Java, hiệu suất tốt hơn so với Virtual DOM thông thường, viết Component dễ hơn…
Những câu hỏi phỏng vấn React cơ bản
Bởi những ưu điểm đó, các nhà tuyển dụng càng ưu tiên hơn khi lập trình viên biết sử dụng ReactJS. Và các câu hỏi phỏng vấn React sẽ là điều khó tránh khỏi.
Câu 1: Nêu khái niệm và đặc điểm của React mà bạn biết?
Khái niệm bạn có thể trả lời theo nội dung ở trên. Về đặc điểm, hãy nêu một số đặc điểm nổi bật như:
- Thích hợp phát triển đối với các website có tương tác phức tạp, UI di động.
- Nhận được hỗ trợ nhiều từ cộng đồng.
- Tiếp cận theo phương pháp dựa vào thành phần.
- Giúp xây dựng được các thành phần UI tái sử dụng được.
- Hỗ trợ luồng dữ liệu liên kết hoặc dữ liệu một hướng.
- Phụ thuộc vào kết xuất phía máy chủ (Server – side rendering).
642beb2ac74f1.jpg)
Câu 2: Các tính năng chính của React là gì?
Các tính năng chính của React là:
- Nó sử dụng VirtualDOM thay vì RealDOM vì các thao tác trên RealDOM rất tốn kém.
- Hỗ trợ kết xuất phía máy chủ.
- Tuân theo luồng dữ liệu một chiều hoặc ràng buộc dữ liệu.Sử dụng các thành phần giao diện người dùng có thể tái sử dụng / có thể kết hợp để phát triển chế độ xem.
Câu 3: Sự khác biệt giữa Thành phần và Thành phần là gì?
Phần tử là một đối tượng đơn giản mô tả những gì bạn muốn xuất hiện trên màn hình dưới dạng các nút DOM hoặc các thành phần khác. Các phần tử có thể chứa các Phần tử khác trong đạo cụ của chúng. Tạo một phần tử React rất rẻ. Khi một phần tử được tạo, nó sẽ không bao giờ bị đột biến.
Biểu diễn đối tượng của React Element sẽ như sau:
const element = React.createElement(
'div',
{id: 'login-btn'},
'Login'
)
Hàm React.createElement () ở trên trả về một đối tượng:
{
type: 'div',
props: {
children: 'Login',
id: 'login-btn'
}
}
Và cuối cùng nó kết xuất với DOM bằng cách sử dụng ReactDOM.render ():
Trong khi một thành phần có thể được khai báo theo nhiều cách khác nhau. Nó có thể là một lớp có phương thức render () hoặc nó có thể được định nghĩa như một hàm. Trong cả hai trường hợp, nó lấy props làm đầu vào và trả về cây JSX làm đầu ra:
const Button = ({ onLogin }) =>
Sau đó, JSX được chuyển sang cây hàm React.createElement ():
const Button = ({ onLogin }) => React.createElement(
'div',
{ id: 'login-btn', onClick: onLogin },
'Login'
)
Câu 4: Sự kiện tổng hợp trong React là gì?
SyntheticEvent là một trình bao bọc trình duyệt chéo xung quanh sự kiện gốc của trình duyệt. API của nó giống như sự kiện gốc của trình duyệt, bao gồm stopPropagation () và PreventDefault (), ngoại trừ các sự kiện hoạt động giống nhau trên tất cả các trình duyệt.
642beb3896438.jpg)
Câu 5: Inline Conditional Expressions là gì?
Bạn có thể sử dụng câu lệnh if hoặc biểu thức bậc ba có sẵn từ JS để kết xuất biểu thức có điều kiện. Ngoài những cách tiếp cận này, bạn cũng có thể nhúng bất kỳ biểu thức nào vào JSX bằng cách đặt chúng trong dấu ngoặc nhọn và sau đó là toán tử logic JS &&.
Hello!
{
messages.length > 0 && !isLogin?
You have {messages.length} unread messages.
:
You don't have unread messages.
}
Câu 6: Công dụng của refs là gì?
Tham chiếu được sử dụng để trả về một tham chiếu đến phần tử. Chúng nên được tránh trong hầu hết các trường hợp, tuy nhiên, chúng có thể hữu ích khi bạn cần truy cập trực tiếp vào phần tử DOM hoặc một phiên bản của một thành phần.
Câu 7: Làm thế nào để tạo refs?
Có hai cách tiếp cận:
- Đây là một cách tiếp cận được bổ sung gần đây. Refs được tạo bằng phương thức React.createRef () và được gắn vào các phần tử React thông qua thuộc tính ref. Để sử dụng các tham chiếu trong toàn bộ thành phần, chỉ cần gán tham chiếu cho thuộc tính cá thể bên trong hàm tạo.
class MyComponent extends React.Component {
constructor(props) {
super(props)
this.myRef = React.createRef()
}
render() {
return
}
}
- Bạn cũng có thể sử dụng phương pháp gọi lại ref bất kể phiên bản React. Ví dụ: phần tử đầu vào của thành phần thanh tìm kiếm được truy cập như sau:
class SearchBar extends Component {
constructor(props) {
super(props);
this.txtSearch = null;
this.state = { term: '' };
this.setInputSearchRef = e => {
this.txtSearch = e;
}
}
onInputChange(event) {
this.setState({ term: this.txtSearch.value });
}
render() {
return (
value={this.state.term}
onChange={this.onInputChange.bind(this)}
ref={this.setInputSearchRef} />
);
}
}
Bạn cũng có thể sử dụng refs trong các thành phần hàm bằng cách sử dụng ngoặc. Lưu ý: Bạn cũng có thể sử dụng lệnh gọi lại refs nội tuyến mặc dù nó không phải là cách tiếp cận được khuyên dùng.
642beb478fca5.jpg)
Câu 8: Event (sự kiện) trong React được định nghĩa như thế nào?
Là một hành động mà hệ thống/người dùng kích hoạt bằng các thao tác (ví dụ như nhấp chuột, nhấn phím,…).
Câu 9: Synthetic Event (sự kiện tổng hợp) là gì?
Là kết quả phản hồi của nhiều sự kiện gốc. Các sự kiện này có thể của nhiều trình duyệt khác nhau nhưng phải đảm bảo được tính nhất quán.
Câu 10: Các danh sách hoạt động như thế nào trong React? Vì sao phải sử dụng key?
Key là định danh độc nhất, sử dụng để xác định mục nào đã cập nhật, thay đổi, xóa khỏi danh sách. Key cũng sẽ giúp xác định được thành phần cần render lại.
Những câu hỏi phỏng vấn React chuyên sâu
Bên cạnh những câu hỏi phỏng vấn React trên, nhà tuyển dụng cũng có thể hỏi bạn một số câu hỏi chuyên sâu hơn. Đặc biệt nếu bạn đang ứng tuyển ở vị trí từ senior trở lên.
Câu 11: Bạn hiểu Component trong React như thế nào?
Component trong ReactJS hay các thành phần chính là các cấu trúc cốt lõi của React. Dễ hiểu hơn thì mọi ứng dụng bạn sẽ phát triển trong React được tạo thành từ các phần được gọi là Component. Các Component này làm việc xây dựng UIs trở nên dễ dàng hơn rất nhiều.
Giao diện người dùng được chia thành nhiều phần riêng lẻ được gọi là các Component và chúng hoạt động độc lập. Khi hợp nhất tất cả các Component riêng lẻ này thì ta sẽ nhận được giao diện người dùng cuối cùng.
642beb5d6e087.jpg)
Câu 12: Nêu khái niệm của State trong React?
State Management (State) là là một trong những tính năng quan trọng và không thể tránh khỏi của bất kỳ ứng dụng động nào. Và React cung cấp một API đơn giản và linh hoạt để hỗ trợ quản lý state trong React Component.
Câu 13: Nêu các hiểu biết của bạn về Props trong React?
Props được xem là một trong những cách giúp truyền dữ liệu từ các component cha xuống với các Component con. Nếu như bạn truyền dữ liệu thông qua Props thì component con chỉ có thể được đọc mà không thể thay đổi được các dữ liệu đó. Nhờ vậy, mà các component được sử dụng trong bất kỳ đâu và nó sẽ luôn hiển thị cùng với 1 đầu ra nếu như nó có cùng một giá trị đầu vào. Đây là điều sẽ giúp cho chúng ta kiểm soát Component một cách dễ dàng hơn.
Câu 14: Khái niệm của Redux là gì?
Redux là một thư viện Javascript giữ vai trò tạo một lớp quản lý trạng thái của các ứng dụng. Ngoài ra còn giúp viết các ứng dụng đó một cách nhất quán và dễ dàng thử nghiệm trong những môi trường khác nhau.
>> Xem thêm: Tìm việc làm Reactjs, tuyển dụng Reactjs
642beb6a56e46.jpg)
Trên đây là một số câu hỏi phỏng vấn React mà bạn có thể tham khảo để chuẩn bị tốt hơn cho buổi phỏng vấn sắp tới. Tuy vậy, những câu hỏi này chỉ được trả lời ngắn gọn nhất, bạn vẫn cần tìm hiểu chi tiết hơn trong các tài liệu chuyên môn để giúp buổi phỏng vấn thành công hơn. Ngoài ra, để ứng tuyển việc làm lập trình viên React native hoặc những việc làm khác khối ngành CNTT thì bạn hãy truy cập TOPCV ngay hôm nay nhé.
Ngoài ra, nếu bạn đang loay hoay với CV ngành CNTT, tại TopCV hiện đang có nhiều mẫu CV dành riêng cho ngành này. Với các thao tác đơn giản, bạn có thể dễ dàng có được CV hoàn chỉnh để ứng tuyển vào các công ty công nghệ tại Việt Nam.