• .
adsads
businessperson s hand signing contract wooden desk 23 2147838596 1
Lượt Xem 802

Nếu là người đang tìm hiểu và làm về Developer và muốn ứng tuyển vào vị trí lập trình viên Node.js thì bạn sẽ cần phải có sự chuẩn bị kỹ lưỡng trong các cuộc phỏng vấn của mình. Node.js được biết đến là một nền tảng máy chủ phổ biến hiện nay trong nhiều tổ chức. Vậy nhà tuyển dụng sẽ hỏi những câu hỏi nào về Nodejs? Cùng điểm qua 15 câu hỏi phỏng vấn Nodejs thường gặp và câu trả lời để có sự chuẩn bị tốt nhất cho mình trong buổi phỏng vấn sắp tới nhé. 

1. Nodejs là gì và được sử dụng để làm gì?

Đây là câu hỏi phỏng vấn Nodejs phổ biến và cơ bản nhất. Để trả lời câu hỏi này bạn cần nắm được khái niệm về Nodejs cũng như khái quát về nó để có câu trả lời rõ ràng và chính xác. 

Trả lời: 

Nodejs được biết đến là mã nguồn xây dựng trên Javascript Engine (V8 Engine). Đây được biết đến như là một nền tảng (Platform), phát triển năm 2009 bởi Ryan Dahl. Nodejs dựa trên Chrome Javascript runtime để phát triển các ứng dụng web và tận dụng kiến trúc hướng sự kiện (event-driven), mô hình non-blocking I/O để tạo ra các ứng dụng nhẹ và hiệu quả. Những ứng dụng Nodejs được viết bằng Javascript, chúng có thể chạy trong môi trường Nodejs trên hệ điều hành Window, Linux,…

2. Nêu ra các dữ kiện quan trọng trong Nodejs? 

Trả lời: 

Tương tự như JavaScript, Nodejs sẽ bao gồm những dữ liệu sau:

– Kiểu dữ liệu nguyên thủy:

String: biểu diễn chữ, văn bản, đoạn văn bản

Number: các số bất kỳ

Bigint: biểu diễn số nguyên lớn

Boolean: true/ false

Undefined: các giá trị chưa được gán

Null: các giá trị không xác định

Symbol: tạo ra các giá trị duy nhất (unique value) và bất biến (immutable)

câu hỏi phỏng vấn nodejs

– Kiểu dữ liệu tham chiếu (Objects): tập hợp của các cặp key-value: 

  • Function
  • Array
  • Buffer

3. Cho biết những số tính năng chính của Nodejs? 

Hiện nay, Nodejs đã và đang trở thành sự lựa chọn hàng đầu của rất nhiều kỹ sư phần mềm và lập trình viên. Với câu hỏi phỏng vấn nodejs này, bạn cần đề cập đến các tính năng nổi bật của Nodejs như sau. 

Trả lời: Những tính năng nổi bật chính của Nodejs là: 

  • Lập trình hướng sự kiện và không đồng bộ: Tất cả các API đều không đồng bộ. Nghĩa là nếu Node nhận được yêu cầu nào đó thì sẽ thực hiện ở chế độ nền và tiếp tục xử lý các yêu cầu khác. Vì vậy nên Node không phải chờ đợi phản hồi từ các yêu cầu trước.
  • Thực thi mã nhanh chóng: Nodejs sử dụng công cụ V8 JavaScript Runtime. Điều này giúp quá trình thực thi mã trở nên cực nhanh chóng, việc tiếp nhận cũng như xử lý các yêu cầu cũng nhanh hơn rất nhiều.
  • Có khả năng mở rộng cao: Mặc dù sử dụng mô hình luồng đơn để lặp lại sự kiện nhưng khả năng mở rộng của Nodejs rất ấn tượng, phản hồi về sự kiện sẽ nhanh chóng được gửi đến máy chủ. Trong khi các loại máy chủ truyền thống sẽ tạo ra luồng giới hạn để xử lý các yêu cầu thì Nodejs và chỉ tạo một luồng đơn duy nhất.
  • Không có buffer: Hầu hết các ứng dụng Nodejs không có vùng nhớ tạm hay còn gọi là buffer cho bất kỳ loại dữ liệu nào. Vì thế, các dữ liệu sẽ được xuất theo khối, ứng dụng Nodejs không đệm bất kỳ dữ liệu nào.
  • License: Node.js được phát hành theo giấy phép MIT.

4. NodeJs đơn luồng hay đa luồng?

Đây là câu hỏi phỏng vấn nodejs rất hay gặp và được các nhà tuyển dụng đặt cho ứng viên nhằm đánh giá họ có hiểu được cách vận hành của nodejs hay không. Vì vậy khi trả lời, ứng viên cần chú ý, việc chọn đơn luồng hay đa luồng thì bạn cần đưa ra được lý do lựa chọn thỏa đáng. 

Trả lời: 

  • Nodejs đơn luồn thể hiện ở việc nó chỉ có một tác vụ Javascript, đó chính là được xử lý tại một thời điểm nhất định.
  • Nodejs đa luồng thể hiện việc nó cung cấp API cluster và child_process nhằm tạo các quy trình con. Trên phiên bản 13 của Nodejs có mô-đun “worker thread” để triển khai đa luồng.

câu hỏi phỏng vấn nodejs

5. Giải thích vòng lặp sự kiện trong Nodejs là gì? 

Trả lời: 

Vòng lặp sự kiện trong Nodejs hay còn được biết đến là Event Loop. Vòng lặp này cho phép Nodejs thực hiện được nhiều thao tác cùng một lúc. Nodejs có khả năng một lúc xử lý cả ngàn request dù chỉ dùng một thread duy nhất. Vòng lặp sự kiện trong Nodejs cho phép Nodejs có thể thực hiện những hoạt động I/O không chặn. 

Về bản chất thì Nodejs chính là một ứng dụng đơn luồng, nhưng nó có thể hỗ trợ xử lý đồng thời thông qua định nghĩa về event và callbacks. Mọi API của Nodejs là không đồng bộ và là một luồng, chúng sử dụng async function calls để duy trì đồng thời.

6. Cho biết EventEmitter trong nodejs là gì? 

Trả lời: 

EventEmitter là một lớp trong nodejs, với chức năng chính là phát sinh sự kiện. Vì nodejs chạy theo hướng lập trình sự kiện nên lớp này là một trong số những lớp cốt lõi của nodejs, vì thế nên dù EventEmitter không liên quan gì tới web nhưng đóng một vai trò rất quan trọng trong nodejs. 

Thông thường Module event sẽ gồm lớp EventEmitter. Tất cả các đối tượng phát ra event đều được biết đến là thành viên của lớp EventEmitter. Khi EventEmitter phát ra sự kiện, tất cả các hàm gắn liền với sự kiện sẽ đồng bộ. Những giá trị được trả về bởi các trình nghe được gọi sẽ bị loại bỏ.

7. Cho biết sự khác nhau giữa Events và Callbacks? 

Events và Callbacks là 2 khái niệm vô cùng quen thuộc khi tiếp cận với Nodejs. Để trả lời cho câu hỏi phỏng vấn nodejs này, bạn cần nói rõ về khái niệm của nó.

Trả lời: 

  • Callback là hàm gọi lại, là một hàm được truyền vào hàm khác dưới dạng đối số. Hàm này thường sẽ được thực thi sau khi một hàm khác đã được thực thi xong, vậy nên nó được đặt tên là hàm gọi lại. 
  • Event: Mỗi một hành động là một sự kiện, Nodejs cho phép tạo và tiến hành xử lý các sự kiện này bằng cách sử dụng các mô-đun sự kiện. 

Hàm Callback được gọi khi một hàm không đồng bộ được thực thi và trả về kết quả khi có event xảy ra. Khi event được kích hoạt thì các hàm lắng nghe được thực thi.

8.  RESTful Web Service trong Node là gì?

Trả lời: 

REST chính là viết tắt của cụm từ đầy đủ REpresentational State Transfer. Được hiểu là kiến ​​trúc dựa trên tiêu chuẩn web và sử dụng Giao thức HTTP. Máy chủ REST cung cấp quyền truy cập vào tài nguyên và máy khách REST truy cập và sửa đổi tài nguyên bằng giao thức HTTP.

– Phương thức HTTP: 

  • GET – Cung cấp quyền truy cập vào một tài nguyên.
  • PUT – Cập nhật tài nguyên hiện có hoặc tạo tài nguyên mới.
  • DELETE – Loại bỏ một tài nguyên.
  • POST- Tạo ra một tài nguyên mới.
  • PATCH- Cập nhật / sửa đổi tài nguyên.

– Nguyên tắc của REST:

  • Giao diện thống nhất
  • Không quốc tịch
  • Có thể lưu vào bộ nhớ đệm
  • Máy khách – Máy chủ
  • Hệ thống phân lớp
  • Mã theo yêu cầu (tùy chọn)

9. Giải thích REPL Terminal trong Node.js là gì?

 Trả lời: 

 REPL là viết tắt của các từ Read, Eval, Print và Loop. Được biết đến là một đặc tính của Node.js, cho phép lập trình viên viết code và chạy trực tiếp trên màn hình shell/ console/ terminal để debug và kiểm tra code mà không cần tạo ra bất cứ file hay folder nào.

10. Cho biết lập trình hướng sự kiện là gì? 

Trả lời: 

Lập trình hướng kiện hay lập trình hướng sự kiện, trong tiếng anh là event-driven programming là mô hình lập trình trong đó luồng thực thi chương trình được xác định bởi các sự kiện events. Node.js xây dựng dựa trên quá trình lập trình hướng sự kiện. Source code viết giúp đáp ứng các sự kiện tác động lên ứng dụng. Chúng ta cần viết code lấy thông tin của các sự kiện cùng tham số đầu vào, sau đó xử lý thực thi hành động và trả về kết quả tương ứng.

12. Nêu rõ sự khác biệt giữa Asynchronous và Non-blocking là gì?

Trả lời: 

  • Asynchronous có nghĩa là not synchronous (không đồng bộ). Ví dụ: Chúng ta đang thực hiện các yêu cầu HTTP Asynchronous, có nghĩa là chúng ta không chờ phản hồi của máy chủ mà sẽ tiếp tục xử lý các block code tiếp theo. Chúng ta sẽ trả lời yêu cầu sau khi nhận đã được kết quả từ HTTP Asynchronous.
  • Thuật ngữ Non-blocking đã được sử dụng rộng rãi với I/O. Ví dụ: Các tác vụ read/write non-blocking sẽ không bao giờ Block call stack mà thay vào đó nó sẽ thực hiện các tác vụ này một cách bất đồng bộ.

13. Hãy cho biết Tracing trong Nodejs là gì?

Trả lời: 

Tracing cung cấp cơ chế để thu thập thông tin được tạo bởi Engine V8, Node Core và có thể ghi thành một tệp nhật ký. Chúng ta có thể bật tính năng Tracing bằng cách sử dụng flag –trace-events-enabled khi khởi động ứng dụng Node.js.

câu hỏi phỏng vấn nodejs

Có thể chỉ định tập hợp các danh mục mà Tracing được ghi lại bằng cách sử dụng flag –trace-event-categories theo sau là danh sách các tên danh mục được phân tách bằng dấu phẩy. Theo mặc định, node và v8 được bật. Chạy Nodejs với tính năng theo dõi được bật sẽ tạo ra các tệp nhật ký có thể được mở trong tab chrome://tracing của Chrome.

14. Giải thích rõ về mô hình I/O non-blocking trong NodeJS

Trả lời: 

Trong Node, Non-blocking chủ yếu đề cập đến các hoạt động nhập – xuất dữ liệu (I/O – input/output). Tất cả các function xử lý I/O trong thư viện chuẩn của NodeJS đều sẽ cung cấp phiên bản đồng bộ và bất đồng bộ, chấp nhận các hàm callback. 

Thay vì chờ các hoạt động nhập xuất dữ liệu thực hiện xong thì các hoạt động tiếp theo vẫn có thể được thực thi ngay lập tức. Với luồng I/O ở trên sẽ được ủy quyền cho hệ thống để thực hiện riêng song song, khi thực hiện hoàn tất sẽ thực hiện việc gọi lại function callback để xử lý hành động tiếp theo.

15. NPM là gì?

Trả lời: 

NPM hay còn gọi là Node Package Manager – chương trình quản lý thư viện ngầm định trong môi trường NodeJS. Nó sẽ bao gồm một command line từ client (npm) và cơ sở dữ liệu trực tuyến chứa các gói public và private hay còn được gọi là npm registry.

NPM mang đến cho lập trình viên NodeJS một kho thư viện mở (dưới dạng các package). Lập trình viên từ khắp mọi nơi trên thế giới có thể đóng góp các package, chia sẻ miễn phí và sẽ được sử dụng lại ở các dự án khác nhau bằng cách khai báo trong file package.json.

Như vậy chúng ta vừa trải qua 15 câu hỏi phỏng vấn nodejs với những câu trả lời chi tiết thường gặp nhất trong các buổi phỏng vấn. Với những tổng hợp trên đây, chúng tôi hy vọng bạn sẽ có thêm cho bạn những thông tin hữu ích trong quá trình chinh phục vị trí việc làm mình mong muốn. Bạn có thể truy cập ngay vào Vietnamworks để ứng tuyển các vị trí việc làm lập trình viên nodejs với mức lương cực hấp dẫn. Khám phá ngay để có thêm nhiều cơ hội việc làm tốt nhé!

Xem thêm: Tổng hợp bộ câu hỏi phỏng vấn javascript và câu trả lời chi tiết

— HR Insider —
VietnamWorks 
– Website tuyển dụng trực tuyến số 1 Việt Nam

adsads
Bài Viết Liên Quan
cách tạo google sheet

Hướng dẫn chi tiết cách tạo google sheet dễ hiểu

Cách tạo google sheet là một kỹ thuật tuyệt vời giúp người dùng mô tả và tổ chức dữ liệu của họ một cách hiệu quả. Phương pháp này không chỉ giúp xây dựng bảng biểu và thống kê số liệu mà còn mang lại sự linh hoạt và tiện ích. Việc tạo google sheet qua nhiều thao tác khác nhau được thực hiện một cách dễ dàng, chỉ đơn giản qua vài bước hướng dẫn chi tiết sau đây.

microsoft word

Microsoft word là gì? Ứng dụng thực tế và các phiên bản Microsoft word 

Microsoft Word là một trong những ứng dụng soạn thảo văn bản phổ biến, vẫn là "bí ẩn" đối với nhiều người dùng. Bài viết dưới đây sẽ hé lộ những kiến thức cơ bản về Microsoft Word mà bạn nên nắm vững. Hãy cùng khám phá các chức năng tiện ích cùng cách sử dụng hiệu quả ngay sau đây!

cách in excel

Hướng dẫn cách in excel 1 trang, 2 mặt và vừa trang giấy A4

In ấn là một khía cạnh quan trọng trong quá trình làm việc với Microsoft Excel, giúp chúng ta chuyển đổi dữ liệu từ môi trường kỹ thuật số sang dạng vật lý để chia sẻ thông tin, lưu trữ tài liệu hoặc làm cho dữ liệu trở nên trực quan hơn. Trong bài viết này, chúng ta sẽ khám phá cách in excel một cách hiệu quả và linh hoạt, từ việc in toàn bộ bảng tính đến việc tùy chỉnh cài đặt in.

Công thức tính excel

Công thức excel được sử dụng nhiều nhất trong công việc

Các công thức excel là công cụ quan trọng giúp bạn thực hiện các phép tính và xử lý số liệu hiệu quả trong quá trình học tập và làm việc. Hãy cùng khám phá bài viết này điểm qua những hàm Excel cơ bản nhất để hiểu rõ hơn về chúng!

"Con cái" có phải là rào cản cho người đi làm phát triển sự nghiệp?

Nhiều người đánh giá rằng việc có con cái khi đang trên đà phát triển sự nghiệp chính là một rào cản khiến cho sự nghiệp bị chững lại. Liệu đánh giá trên có hoàn toàn đúng với người đi làm hiện nay?

Bài Viết Liên Quan
cách tạo google sheet

Hướng dẫn chi tiết cách tạo google sheet dễ hiểu

Cách tạo google sheet là một kỹ thuật tuyệt vời giúp người dùng mô tả và tổ chức dữ liệu của họ một cách hiệu quả. Phương pháp này không chỉ giúp xây dựng bảng biểu và thống kê số liệu mà còn mang lại sự linh hoạt và tiện ích. Việc tạo google sheet qua nhiều thao tác khác nhau được thực hiện một cách dễ dàng, chỉ đơn giản qua vài bước hướng dẫn chi tiết sau đây.

microsoft word

Microsoft word là gì? Ứng dụng thực tế và các phiên bản Microsoft word 

Microsoft Word là một trong những ứng dụng soạn thảo văn bản phổ biến, vẫn là "bí ẩn" đối với nhiều người dùng. Bài viết dưới đây sẽ hé lộ những kiến thức cơ bản về Microsoft Word mà bạn nên nắm vững. Hãy cùng khám phá các chức năng tiện ích cùng cách sử dụng hiệu quả ngay sau đây!

cách in excel

Hướng dẫn cách in excel 1 trang, 2 mặt và vừa trang giấy A4

In ấn là một khía cạnh quan trọng trong quá trình làm việc với Microsoft Excel, giúp chúng ta chuyển đổi dữ liệu từ môi trường kỹ thuật số sang dạng vật lý để chia sẻ thông tin, lưu trữ tài liệu hoặc làm cho dữ liệu trở nên trực quan hơn. Trong bài viết này, chúng ta sẽ khám phá cách in excel một cách hiệu quả và linh hoạt, từ việc in toàn bộ bảng tính đến việc tùy chỉnh cài đặt in.

Công thức tính excel

Công thức excel được sử dụng nhiều nhất trong công việc

Các công thức excel là công cụ quan trọng giúp bạn thực hiện các phép tính và xử lý số liệu hiệu quả trong quá trình học tập và làm việc. Hãy cùng khám phá bài viết này điểm qua những hàm Excel cơ bản nhất để hiểu rõ hơn về chúng!

"Con cái" có phải là rào cản cho người đi làm phát triển sự nghiệp?

Nhiều người đánh giá rằng việc có con cái khi đang trên đà phát triển sự nghiệp chính là một rào cản khiến cho sự nghiệp bị chững lại. Liệu đánh giá trên có hoàn toàn đúng với người đi làm hiện nay?

Nhận bài viết qua email cùng
HR Insider – VietnamWorks.email subscribers