Friday, 25/12/2020

Câu hỏi phỏng vấn ReactJS - Bí quyết để phỏng vấn thành công

Reactjs với sự phổ biến của mình hiện nay thì chúng ta cũng không thể bàn cãi vì yêu cầu cho các nhà phát triển ngày càng nhiều hơn. Tuy nhiên, số ứng viên mới bước vào nghề với số năm kinh nghiệm ít ỏi khi tham gia vào quá trình phỏng vấn sẽ thực sự là ác mộng, luôn lo lắng về các câu hỏi phỏng vấn Reactjs là gì? Để giải quyết điều đó thì bạn đừng bỏ qua bài viết sau. 

1. Những câu hỏi phỏng vấn ReactJS bao quát nhất thường gặp

Dưới bài viết này sẽ là phần thông tin là chúng tôi sẽ đề cập tới dành cho bạn về TOP các câu hỏi phỏng vấn ReactJS. Những câu hỏi thường gặp nhất từ phía nhà tuyển dụng đặt ra mang tính bao phủ kiến thức rộng. Đặc biệt hơn là còn kèm theo gợi ý giúp bạn nắm chắc tỷ lệ ghi điểm và trúng tuyển ReactJS. 

1.1. Bạn có biết DOM ảo là gì? 

Kiểm tra nền tảng kiến thức cơ bản nhất là điều mà nhà tuyển dụng sẽ thường bắt đầu với một ứng viên và câu hỏi về DOM ảo chính là như vậy. Do đó bạn hãy cứ thể hiện bản thân với một sự tự tin nhất và trả lời ngắn gọn về cách hiểu. 

>> Gợi ý TL là: DOM ảo hay virtual DOM là một đại diện nằm trong chính bộ nhớ cho một thành phần HTML thật cấu thành nên giao diện cho chương trình. Và khi một component đã được thông dịch dịch lại DOM ảo sẽ so sánh về sự thay đổi với DOM thật tạo nên danh sách cập nhật để thực hiện. 

Những câu hỏi phỏng vấn ReactJS bao quát nhất thường gặp
Những câu hỏi phỏng vấn ReactJS bao quát nhất thường gặp

Bạn sẽ cần căn cứ theo lời văn và biến tấu cho chính mình có thể thêm đôi chút về điểm chức năng giúp ghi điểm hiệu quả hơn. Dù thế nào vẫn luôn ưu tiên sự ngắn gọn nhé. 

1.2. Bạn hiểu về JSX là gì? 

Cũng vẫn là một câu hỏi về lý thuyết nhưng sự vận dụng sẽ luôn được chú ý tới và xem xét việc bạn có thực sự là ứng viên với một nền tảng căn bản hay không. 

>> Gợi ý TL là: JSX đó là một phần mở rộng của cú pháp JavaScript. Thông qua sử dụng cho phép viết code trông giống với HTML và hiện về biên dịch thành các lợi gọi là hàm JavaScript thông thường. Từ đó biến sự tiếp cận trở lên dễ dàng hơn tạo các markup cho component và đừng quên đưa ra minh chứng phù hợp. 

1.3. Sự khác biệt giữa Class component và functional component là gì? 

Câu hỏi mang tính kiểm tra sự chắt lọc hay như thực tế bạn áp dụng trong làm việc ra sao mà nhà tuyển dụng xem xét đưa ra quyết định phù hợp hay không phù hợp cho vị trí dự tuyển. 

Sự khác biệt giữa Class component và functional component là gì?
Sự khác biệt giữa Class component và functional component là gì?

>> Gợi ý TL là:

Nếu tính theo phiên bản React 16.8 trước khi giới thiệu về hooks thì component sẽ dựa theo class thường để tạo ra component lưu giữ trạng thái bên trong cũng như tận dụng các phương thức vòng đời. Ví dụ như component DidMount/ shouldComponentUpdate, một component dựa theo class chính là một class ES6 và nó mở rộng class React Component kèm theo sự tối thiểu thực hiện phương thức render ().

Về Functional component sẽ không có trạng thái stateless khi dùng ở phiên bản Reactor trước 16.8 cũng như trả về output mà sẽ cần được render. Tức là sẽ phù hợp hơn với việc renderUI chỉ phụ thuộc trực tiếp vào props có nghĩa là Functional component sẽ đơn giản và nhanh hơn việc sử dụng component dựa theo class. 

1.4. Vậy keys được sử dụng để làm gì? 

Nếu bạn bắt gặp về những câu hỏi kiểm tra sự ứng dụng thì hãy nên thật chú ý và đưa ra kèm các ví dụ minh chứng theo ý hiểu, có thể là sai chút ít nhưng điều đó sẽ giúp bạn nhận được nhiều sự gợi ý khác. 

>>Gợi ý TL là: Bắt đầu thực hiện việc render một tập hợp trong chính React thì việc thêm một key cho mỗi thành phần được lặp lại là rất cần thiết. Từ đó giúp cho React có thể theo dấu liên kết giữa những thành phần và dữ liệu. Nếu chọn key nên là một ID duy nhất như UUID/ một chuỗi duy nhất khác từ tập hợp phần tử hay như index của array không nên lựa chọn key dần đến sự thay đổi lạ và xóa các phần tử từ tập hợp.

Câu trả lời xác thực và kèm theo ví dụ chắc chắn sẽ là yếu tố ăn điểm dễ dàng nhất và ghi danh cạnh tranh. 

1.5. Bạn hãy thể hiện sự khác nhau giữa State và props?

Khi muốn tạo điểm nhấn cho chính mình thì bạn sẽ cần trau dồi rất nhiều yếu tố nền tảng kiến thức và cách thức vận dụng đi kèm. Dù là bạn chưa có nhiều kinh nghiệm nhưng nếu bạn nắm chắc kiến thức nhà tuyển dụng vẫn sẽ đặt sự tin tưởng dành cho bạn. 

Bạn hãy thể hiện sự khác nhau giữa State và props?
Bạn hãy thể hiện sự khác nhau giữa State và props?

>>Gợi ý TL là: 

Props được biết là dữ liệu truyền tải vào bên trong của một component từ cha của nó. Do đó mà chúng không nên bị thay đổi cũng như chỉ dùng để hiển thị hay như tính toán các giá trị khác. 

State lại là dữ liệu bên trong của một component và có thể thay đổi trong vòng đời của component hay như duy duy qua các lần re- render. 

1.6. Giải đáp Props drilling là gì? Các cách để phòng chống? 

Đối với câu hỏi này dù là hai ý hỏi nhưng bạn cũng không nhất thiết trình bày dài dòng hãy chủ động tóm lược kiến thức ngắn nhất giúp nhà tuyển dụng hiểu về điều mà họ cần biết. Vì nhà tuyển dụng luôn cho rằng ứng viên biết cách tóm lược sẽ là ứng viên nảy sinh nhiều ý tưởng. 

Giải đáp Props drilling là gì?
Giải đáp Props drilling là gì?

>>Gợi ý TL là: 

Hiểu đơn giản nhất Prop drilling là điều xảy ra khi mà bạn cần truyền dữ liệu từ một component cha xuống 1 component thấp hơn trong cây và drilling sẽ khoan vào các component khác mà có thể các component đó không cần tới giá trị props và sẽ chỉ có một số component cần tới. 

Đối với việc prop drilling có thể phòng tránh thông qua các refactor component, tránh việc chia nhỏ các component, có thể lựa chọn giữ các state chung vào component cha chung gần nhất,...Bên cạnh đó việc chia sẻ state giữa các component không cần phù thuộc vào vị trí xa gần trong cây component thì có thể sử dụng đến React Context API. viện quản lý state tập trung. 

1.7. Vậy về React context đó là gì? 

Nếu bắt gặp câu hỏi này thì cũng không cần quá lo lắng nếu không biết bạn có thể xin phép lựa chọn trả lời câu hỏi thay thế tuy nhiên câu hỏi cũng không quá khó. 

Vậy về React context đó là gì?
Vậy về React context đó là gì?

>> Gợi ý TL là: Bạn có thể nếu ngắn gọn về Context API được cung cấp bởi React giải quyết vấn đề chia sẻ state chính giữa các component tạo 1 ứng dụng. Trước khi bắt đầu context và được giới thiệu giải pháp duy nhất là sử dụng về 1 thư viện quản lý state ví dụ như Redux nhưng có điều sẽ nhiều nhà phát hành cảm thấy Redux cung cấp nhiều thứ phức tạp chú ý hơn là về ứng nhỏ nhỏ. 

1.8. Vậy bạn biết Redux là gì hay không?

Tất nhiên mỗi câu hỏi sẽ luôn là mẹo mà nhà tuyển dụng lồng ghép đánh giá về kỹ năng của ứng viên. Thông qua câu trả lời nhận được đánh giá cái nhìn chung nhất và đặc biệt là nền tảng kiến thức sâu hơn như Redux. Nếu bạn bỏ qua kiến thức này tức là bạn đã đánh mất đi nhiều cơ hội trúng tuyển rồi. 

>> Gợi ý TL là: Thực tế Redux là một thư viện quản lý state tức là bên thứ ba cho React và được tạo trước Context API. Redux dựa theo khái niệm của một kho chứa state (còn gọi là store) và các component có thể tiếp nhận dữ liệu từ các props. Chỉ có cách duy nhất để update store đó là dispatch 1 hành động tới store và thực hiện thi qua reducer. Sau đó reducer sẽ nhận action cùng với state hiện tại và trả về một state mới kết hợp kích hoạt cho các component đã đăng ký trang thái re- render lại. 

1.9. Nêu về cách tiếp cận phổ biến để style ứng dụng cho React?

Tất nhiên về cách tiếp cận sẽ có nhiều theo sự tìm hiểu của chính bạn nhưng cũng cần nhớ rằng bạn không có quá nhiều thời gian trình bày vậy nên tối ưu nhất để nhà tuyển dụng thấy được bạn hiểu về nó là được. 

Nêu về cách tiếp cận phổ biến để style ứng dụng cho React?
Nêu về cách tiếp cận phổ biến để style ứng dụng cho React?

>>Gợi ý TL là: 

Sẽ có rất nhiều cách để tiếp cận style  React component tuy nhiên mỗi cách sẽ có ưu nhược điểm riêng như: 

+ Về Inline styling hữu ích cho chỉnh sửa về style nhưng lại không có nhiều giới hạn. 

+ Về Class based CSS styles với tính năng hữu ích hơn inline styling rất phù hợp với người mới sử dụng. 

+ Về CSS in JS styling có rất nhiều thư viện cho phép như chính style và được định nghĩa như Javascript trong component cùng với thao tác giống như việc code JS thông thường.

1.10. Bạn hãy phân biệt controlled với uncotrolled component?

Có thể là với câu hỏi phỏng vấn reactjs bạn sẽ bắt gặp rất nhiều câu hỏi về phân biệt do đó hãy tự chủ động chắt lọc kiến thức cho bản thân. 

>>Gợi ý TL là: Một tài liệu HTML sẽ thường có rất nhiều thành phần quản lý trạng thái của chính nó như một uncontrolled component không tự điều khiển sẽ coi DOM như nguồn state input của chúng. Còn khi một controlled component tự điều khiển thì state bên trong sẽ sử dụng để theo dấu giá trị của thành phần và nếu giá trị input thay đổi thì React sẽ tiến hành re- render lại input. Đặc biệt là uncontrolled component sẽ hữu ích khi tích hợp code không React với nhau.

2. Cập nhật về các câu hỏi phỏng vấn ReactJS khác nâng cao

Bên cạnh những câu hỏi phổ biến thường được nhà tuyển dụng lựa chọn hỏi nhiều nhất thì cũng sẽ còn rất nhiều câu hỏi khác mà bạn nên nắm bắt. Vì bất kỳ câu hỏi nào nhà tuyển dụng cũng có thể linh hoạt kiểm tra xen kẽ đánh giá năng lực của bạn có thật sự phù hợp hay không? 

Cập nhật về các câu hỏi phỏng vấn ReactJS khác nâng cao
Cập nhật về các câu hỏi phỏng vấn ReactJS khác nâng cao

Các câu hỏi có thể bắt gặp khác như sau: 

Câu 1: Bạn hiểu về phương thức vòng đời là gì? 

Câu 2: Hãy cho biết Rect hook là gì? 

Câu 3: Đưa ra ưu điểm của Rect hook?

Câu 4: Vì sao nên sử dụng ReactJS?

Câu 5: Lý do tại sao lại cần gọi setState thay thì trực tiếp thay đổi về state?

Câu 6: Vậy ‘synthetic events’ sẽ được sử dụng làm gì? 

Câu 7: Tương tự ‘error boundaries’ hiểu là gì? 

Câu 8: ‘arrow function’ đó là gì?

Câu 9: Bạn hiểu các giai đoạn tuổi thọ của component là gì?

Câu 10: Trên trình duyệt web có thể độc được JSX hay không? 

Ngoài ra nếu bạn muốn dành lợi thế nhiều hơn cho bản thân thì hãy thử đặt ra một số câu hỏi ngược với nhà tuyển dụng. Bên cạnh việc bạn và nhà tuyển dụng cùng khai thác thêm được thông tin về nhau thì đó còn là cách để tạo điểm nhấn trong phỏng vấn so với các ứng viên khác. 

3. Bí quyết giúp bạn vượt qua buổi phỏng vấn ReactJS đơn giản nhất

Tùy theo từng môi trường mà phong cách hay như các câu hỏi phỏng vấn khác nhau sẽ được đưa ra do đó mà những gợi ý chắc chắn sẽ chỉ là tính chất tham khảo đừng mặc định chắc chắn. Có điều là một buổi phỏng vấn sẽ luôn tuan theo phần chi tiết từ làm quen chào hỏi, sau đó tới tìm hiểu kinh nghiệm, đưa ra tình huống để giải quyết, xem xét về mong muốn và bắt đầu đặt câu hỏi.

Bí quyết giúp bạn vượt qua buổi phỏng vấn ReactJS đơn giản nhất
Bí quyết giúp bạn vượt qua buổi phỏng vấn ReactJS đơn giản nhất

Sau đó trước những buổi phỏng vấn bạn cần chú ý về việc ăn mặc gọn gàng, đảm bảo thời gian hẹn nên tới trước từ 10 - 15 phút và nhớ xin số liên hệ để liên lạc. Đặc biệt với buổi phỏng vấn bạn cũng nên thể hiện một thái độ sẵn sàng học hỏi tìm tòi những điều mới, có một sự thoải mái tự tin, chia sẻ và hiểu về những điều bản thân muốn. 

Ngoài ra, bạn cũng cần chủ động ôn tập về kiến thức JS và ReactJS, cày thuật toán và giải thuật nhiều hơn. Chú ý là tìm hiểu thêm về thông tin công ty mà bản thân ứng tuyển. 

Hy vọng bài viết sẽ hữu ích vì đã cập nhật đủ về những câu hỏi phỏng vấn reactjs. Nắm bắt và giúp bản thân có một buổi phỏng vấn tốt đẹp hơn sau đó cùng ứng tuyển với timviec365.com.vn nhé!

Tác giả: Trần Hồng Giang
captcha
Chưa có bình luận nào