Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save trungpq163/d68a82f3f5f4ef3aba44c0005a5a3126 to your computer and use it in GitHub Desktop.
Save trungpq163/d68a82f3f5f4ef3aba44c0005a5a3126 to your computer and use it in GitHub Desktop.
Bí kíp cho buổi phỏng vấn ReactJS thành công 🎉

Bí kíp cho buổi phỏng vấn ReactJS thành công 🎉

From unplash.com

AGENGA:

  1. Một vài lưu ý chung
  2. Ôn tập kiến thức JS/ReactJS
  3. Cày thuật toán, giải thuật
  4. Tìm hiểu về công ty mà mình xin ứng tuyển

Lưu ý:

  • Tuỳ mỗi công ty có một style phỏng vấn khác nhau, nên các bạn chỉ tham khảo, đừng mặc định là công ty nào cũng làm giống như bài này chia sẻ nhé 😉
  • Đây là chia sẻ chung cho tất cả level: từ junior tới senior. Tuỳ level mà các câu hỏi có thể có hay không, hoặc độ khó sẽ khác nhau.

Một vài lưu ý chung

Một buổi phỏng vấn thường gồm các phần:

  • Làm quen, chào hỏi.
  • Tìm hiểu về kinh nghiệm làm việc ở các project trước đây, tập trung vào project gần nhất.
  • Giải quyết các tình huống đưa ra:
    • Xử lý tình huống trong công việc.
    • Xử lý bài toán coding về giải thuật.
  • Tìm hiểu về mong muốn, nguyện vọng của bạn
  • Đặt câu hỏi về công ty, dự án sắp tới sẽ làm nếu bạn được nhận.

Lưu ý trước và trong buổi phỏng vấn:

  • Ăn mặc: gọn gàng là được, không cần phải thiệt là đẹp nè. Làm IT ko có nhu cầu đẹp hihi. Đơn giản quần jean, áo thun cũng được òi. Không nhất thiết phải là áo sơ mi mới được nhé. 😉
  • Thời gian: Nên đến trước giờ hẹn 10-15p, đừng đến đúng giờ nhé. Vì tới nơi, các bạn có chút thời gian ngồi nghỉ xíu trước khi vào phỏng vấn nè. 😜 Nhưng cũng đừng tới sớm quá đáng, như sớm 30p chẳng hạn thì hơi lố 😅
  • Liên lạc: Nên xin số điện thoại để khi tới nơi không biết gì thì hỏi. Ví dụ như: chỗ để xe, đi tháng máy chỗ nào, lầu mấy, vân vân mây mây.
  • Thái độ: giữ cho mình cái mong muốn sẵn sàng học hỏi, tìm tòi cái mới, chứ đừng bảo thủ, em biết cái này, em chỉ làm cái này thôi, em không muốn tìm hiểu công nghệ mới thì dễ tạch nè.
  • Thoải mái, tự nhiên: cái này tuỳ tâm lý từng bạn, không dễ để có được trạng thái này. Cố gắng hít một hơi thât sâu rồi thở ra cho nhẹ người rồi giữ bình tĩnh. Tự nhiên nhất có thể nhé. Nếu cần nước cứ lịch sử xin một ly nước (nếu ko có) chứ đừng để khát khô cổ họng rồi không nói nổi nha hehee.
  • Thẳng thắn chia sẻ: một điều chắc chắn là bạn sẽ không thể nào biết hết tất cả mọi thứ, sẽ có những câu bạn không biết trả lời, cứ thẳng thắn nói là em chưa biết phần này, em sẽ tìm hiểu thêm ạ. Hoặc là em thấy rất hay và thú vị, nếu có cơ hội được làm việc thì em chắc chắn sẽ nghiên cứu thêm để học hỏi ạ. 😉
  • Hiểu được mong muốn của bản thân:
    • Bạn mong muốn được làm gì ở công ty này?
    • Bạn mong muốn được học hỏi công nghệ nào?
    • Bạn dự định tương lai sẽ phát triển theo hướng nào: technical hay management.
    • Bạn có kế hoạch gì cho riêng mình để hoàn thành mục tiêu đó hay không? Đại loại nếu bạn không biết bạn muốn gì thì làm sao bạn biết bạn có phù hợp với công ty này hay không?

1. Ôn tập kiến thức JS/ReactJS

Phần này mục đích là để trả lời phần câu hỏi về kiến thức liên quan tới project gần nhất của bạn. Tuỳ bạn nói bạn biết gì mà sẽ bị hỏi liên quan tới những cái bạn biết hehee

TIP: Đừng chém gió phần bạn không biết, kẻo bị hỏi thêm là tạch 😉

HTML/CSS

  • Layout bằng flexbox, grid.
  • Hỏi về UI library bạn sử dụng: Bootstrap, Material Design, Ant Design.
  • Hỏi về cách bố trí layout.
  • Cho một phần giao diện nào đó, hỏi bạn làm thế nào để ra được như vậy (chỉ trình bày, ko code)
  • Hỏi về cách tổ chức styles trong project.
  • BEM là gì? Apply như thế nào?
  • SCSS: có gì vui với ông này, có những tính năng nào mà bạn đã sử dụng.
  • Specificity: độ cụ thể trong css
  • Làm sao customize được styles của một thư viện UI nào đó.
  • Reset CSS vs Normalize CSS
  • ...

JAVASCRIPT

  • "use strict"
  • var, const, let khác nhau ra sao?
  • Block scope với Function scope
  • Hoisting là gì? Cái này có thể bị hỏi dạng cho đoạn code rồi hỏi kết quả và giải thích.
  • Closure
  • Value type vs reference type
  • Bất đồng bộ trong javascript
  • setTimeout(), setInterval()
  • Callback
  • Promise
  • Module trong javascript: import, export, ...
  • ES6: arrow function, for...of, async for...of, async/await, ...
  • Cho các tình huống xử lý javascript, bạn vận dụng kiến thức để cung cấp giải pháp giải quyết nó.
  • ...

REACTJS

  • Component vs PureComponent
  • Life cycle: cái nào nên sử dụng cho mục đích nào (cái này mình có share trên kênh Youtube của mình)
  • Phân biệt component state, Context APIRedux: khi nào sử dụng cái nào và lý do.
  • Refs trong reactjs: bạn có dùng nó chưa và dùng cho việc gì? Hoặc ngược lại cho tình huống xài refs để giải quyết xem bạn có biết hay không ?
  • Routing thì có phần nested routing, nó là gì và khi nào cần nó.
  • Setup routing cho mấy trang cần phải log in như thế nào?
  • Form bạn dùng thư viện nào để quản lý: Formik, Redux-Form, React-Hook-Form. Mỗi cái sẽ có những vấn đề riêng có thể hỏi.
  • Auth: bạn handle phần authentication trong app như thế nào? Token, refresh token, expired token? ( nâng cao )
  • React hooks: bạn sử dụng hooks nào và cho mục đích gì?
  • Custom hook: bạn có tự viết một custom hook nào chưa, nếu có thì nó dùng để làm gì ?
  • Redux thì giờ có Redux Toolkit : nó là gì vậy ta ?
  • Quản lý state bên Facebook đang có thư viện mới là Recoil: bạn có nghe về nó không? bạn thấy thế nào? 🤣
  • Những thư viện bạn hay dùng trong reactjs project.
  • ...

2. Cày thuật toán, giải thuật

Cái này thì đa dạng lắm nên mình không biết sẽ bị hỏi về vấn đề gì nhen. Nên ôn luyện hết cho chắc 😉 Thường người ra đề sẽ cho một bài toán gì đó, mình tự phân tích và sử dụng thuật toán thích hợp để giải nó.

  • Tìm kiếm, sắp xếp đơn giản.
  • Tìm chuỗi con dài nhất, ngắn nhất và các biến thể của dạng này.
  • Đệ quy.
  • Tìm số bí ẩn trong mảng thoả điều kiện gì đó.
  • Đồ thị (cái này cũng ít bị hỏi)
  • Design pattern (Singleton, Observer, ...)
  • Cho đoạn code, hỏi kết quả và giải thích.
  • Quy hoạch động (cái này hơi nâng cao òi, chắc ít bị hỏi trừ khi công ty làm về thuật toán)
  • ... nói chung cái này tuỳ khả năng logic của các bạn đó 😉

3. Tìm hiểu về công ty mà mình xin ứng tuyển

Tìm hiểu công ty:

  • Công ty làm lĩnh vực gì?
  • Size bao nhiêu người?
  • Thành lập khi nào?
  • Những dự án công ty đã thực hiện.
  • Reviews về công ty.
  • ...

Hỏi về dự án bạn "sẽ" được nhận vào làm

  • Dự án làm về cái gì?
  • Sử dụng công nghệ gì, techstack có những gì trong đó.
  • Có bao nhiêu người rồi, và bạn sẽ làm việc với ai?
  • Tính của team có vui vẻ, hoà đồng không?
  • ... nói chung bạn quan tâm gì về team của bạn sắp làm thì cứ hỏi hen hehee

Hi vọng bài chia sẻ này hữu ích với mọi người!
Chúc các bạn có một buổi phỏng vấn thành công tốt đẹp nhé! 🎉

From Easy Frontend with ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment