- vừa được xem lúc

Bộ câu hỏi phỏng vấn ReactJS từ cơ bản đến nâng cao

0 0 19

Người đăng: Nguyen Le Than

Theo Viblo Asia

Mở đầu

Bài viết này mình sẽ liệt kê một vài câu hỏi thường xuyên được hỏi khi phỏng vấn ReactJS.

Các bạn có thể xem thêm một số câu hỏi khác tại https://viblo.asia/p/bo-cau-hoi-phong-van-intern-fresher-cho-front-end-tu-a-z-Do754rgVZM6.

Nội dung

Javascript

1. This là gì ?

2. Các những loại biến nào, phân biệt chúng.

Var, Let: có thể reassigned

Const: không thể reassigned

3. Trình bày các loại scope

Global: Bao gồm biến var, const, let được khai báo ở ngoài cùng file javascript.

Block code: Bao gồm biến let, const được khai báo trong block code như: if else, switch case sẽ có phạm vi block code, trường hợp var được khai báo trong block code sẽ có phạm vi global.

Local: Còn được gọi là phạm vi hàm, bao gồm let, const, var hoặc hàm được khai báo trong một hàm sẽ tạo ra phạm vi hàm

4. Khái niệm Closure

5. Trình bày sự khác nhau giữa local stogare, cookies, session storage ?

6. Xử lý bất đồng bộ ( Cách hoạt động, cú pháp của Promise, Callback, Async await )

7. Khái niệm Hoisting

Di chuyển phần khai báo biến lên đầu, xuất hiện ở biến var và hàm

8. Những thay đổi ở ES6

9. Truthy, Falsy

10. Bất đồng bộ và đồng bộ trong Javascript là gì ?

11. Tham trị, tham chiếu

ReactJS

1. ReactJS là gì? Tại sao sử dụng ReactJS

2. Trình bày life cycle của ReactJS

3. useEffect có thể dùng trong các giai đoạn nào của life cycle?

4. Virtual DOM

Trong React, mỗi phần giao diện người dùng là một Component. Khi trạng thái của một Component thay đổi, React sẽ cập nhật DOM ảo. Khi DOM ảo đã được cập nhật, React sau đó sẽ so sánh phiên bản hiện tại của DOM ảo với phiên bản trước của DOM ảo. Quá trình này được gọi là "diffing".

Khi React biết đối tượng DOM ảo nào đã thay đổi, thì React chỉ cập nhật các đối tượng đó trong DOM thực. Điều này làm cho hiệu suất tốt hơn nhiều so với thao tác trực tiếp với DOM thực. Do đó làm cho React nổi bật như một thư viện JavaScript hiệu suất cao.

5. Key là gì?

Key sẽ được dùng khi sử dụng hàm map để render một danh sách, key có tác dụng giúp cho React so sánh giữa trạng thái cũ và mới của các thành phần trong danh sách để đưa ra quyết định thành phần nào được re-render.

6. Trình bày một số cách để tối ưu performance

Để tối ưu performance cần tránh những lần re-render không cần thiết, có một số cách để tránh re-render như sau:

  • Khi sử dụng useEffect cần Kiểm tra chặt chẽ dependency, sử dụng eventListenner cần phải có clean up.
  • Sử dụng useMemo và useCallback để hạn chế khởi tạo những tác vụ phức tạp.
  • Sử dụng memo để hạn chế re-render không cần thiết
  • Sử dụng key khi render list
  • Sử dụng useRef để lưu value trong một vài trường hợp không cần re-render

7. Có thể gán trực tiếp state mà không thông qua hàm setState được không?

Có thể gán trực tiếp state bằng giá trị mới, nhưng component chỉ re-render khi thay đổi state thông qua hàm setState

9. Phân biệt state và props

State: quản lý các trạng thái của component

Props: được dùng để chia sẽ các trạng thái của component này cho các component khác

10. Khi nào component re-render

Khi các state của component thay đổi

Khi component cha re-render

11. Cách ngăn component re-render khi không có sự thay đổi

Sử dụng memo

12. Trình bày cách thức hoạt động của useEffect?

13. Custom hook là gì ?

14. Phân biệt useCallback và useMemo và memo

15. Có nên sử dụng useCallback và useMemo trong mọi trường hợp hay không

16. Tại sao cần state management

17. Phân biệt Context API so với Redux

18. Code splitting

19. React là CSR hay SSR

20. Trình bày một số design pattern trong React

Bạn có thể tham khảo một số pattern phổ biến tại https://reactpatterns.com/

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 500

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 414

- vừa được xem lúc

Một số phương thức với object trong Javascript

Trong Javascript có hỗ trợ các loại dữ liệu cơ bản là giống với hầu hết những ngôn ngữ lập trình khác. Bài viết này mình sẽ giới thiệu về Object và một số phương thức thường dùng với nó.

0 0 136

- vừa được xem lúc

Tìm hiểu về thư viện axios

Giới thiệu. Axios là gì? Axios là một thư viện HTTP Client dựa trên Promise.

0 0 117

- vừa được xem lúc

Imports và Exports trong JavaScript ES6

. Giới thiệu. ES6 cung cấp cho chúng ta import (nhập), export (xuất) các functions, biến từ module này sang module khác và sử dụng nó trong các file khác.

0 0 93

- vừa được xem lúc

Bài toán đọc số thành chữ (phần 2) - Hoàn chỉnh chương trình dưới 100 dòng code

Tiếp tục bài viết còn dang dở ở phần trước Phân tích bài toán đọc số thành chữ (phần 1) - Phân tích đề và những mảnh ghép đầu tiên. Bạn nào chưa đọc thì có thể xem ở link trên trước nhé.

0 0 229