「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > NODE の面接の質問...

NODE の面接の質問...

2024 年 11 月 5 日に公開
ブラウズ:440

NODE Interview Questions...

1.Node.jsとは何ですか?

回答: Node.js は、Chrome の V8 JavaScript エンジン上に構築されたランタイム環境で、開発者がサーバー側で JavaScript コードを実行できるようにします。スケーラブルなネットワーク アプリケーションを構築するために設計されており、ノンブロッキングのイベント駆動型アーキテクチャをサポートしています。

2. Node.js と JavaScript の違いは何ですか?

答え: JavaScript はブラウザ内で実行されるプログラミング言語です。
Node.js は、JavaScript をサーバー側で実行できるようにするランタイム環境です。

3. Node.js のイベント駆動型プログラミングとは何ですか?

答え: イベント駆動型プログラミングは、プログラムのフローがユーザーのアクション、センサー出力、または他のプログラムからのメッセージなどのイベントによって決定されるプログラミング パラダイムです。 Node.js では、イベント駆動型プログラミングが、イベント エミッターとリスナーを使用した非同期操作の処理の中心となります。

4. process.nextTick() と setImmediate() の違いは何ですか?

答え: process.nextTick() は、現在の操作が完了した後、イベント ループが継続する前に実行するコールバックをスケジュールします。
setImmediate() は、I/O イベントの後にイベント ループに配置されるコールバックをスケジュールします。

5. Node.js は非同期操作をどのように処理しますか?

答え: Node.js は、イベント駆動型アーキテクチャーを備えたシングルスレッドのノンブロッキング I/O モデルを使用します。コールバック、Promise、および async/await を利用して非同期操作を処理し、サーバーがメイン スレッドをブロックすることなく多くのリクエストを同時に処理できるようにします。

6. Node.js のストリームとは何ですか?

答え: ストリームは、データをチャンクで読み書きできるようにする Node.js のオブジェクトです。これらは、大量のデータをより小さく管理しやすいチャンクに分けて処理することにより、メモリ使用量を削減するために使用されます。ストリームには 4 つのタイプがあります:

読み取り可能 (例: fs.createReadStream())
書き込み可能 (例: fs.createWriteStream())
両面印刷 (読み取り可能および書き込み可能)
変換 (出力が入力の変換である二重ストリームのタイプ)

7. Node.js の同期コードと非同期コードの違いは何ですか?

答え: 同期コードがブロックされています。各操作が完了するのを待ってから、次の操作に進みます。
非同期コードはノンブロッキングです。これにより、操作の完了 (コールバック、Promise、または async/await によって処理される) を待たずに、プログラムが実行を継続できるようになります。

8. Express.jsのミドルウェア機能とは何ですか?

回答: Express.js のミドルウェア関数は、要求と応答のサイクル中に実行される関数です。次のミドルウェア機能に制御を渡す前に、要求、応答を変更したり、一部のロジックを実行したりできます。一般的なタイプは次のとおりです:

アプリケーションレベルのミドルウェア: Express() のインスタンスにバインドされています
ルーターレベルのミドルウェア: Express.Router()
のインスタンスにバインドされています。 エラー処理ミドルウェア

9. Node.js ではイベント ループはどのように機能しますか?

*答え: * イベント ループは、Node.js での非同期コールバックの処理を担当します。コール スタック、タスク キュー、および I/O 操作を継続的に監視します。コール スタックが空の場合、イベント キューからのタスクを処理し、負荷の高い操作を延期することでノンブロッキング I/O を確保します。

10. Node.js でのクラスター モジュールの用途は何ですか?

答え: クラスター モジュールを使用すると、Node.js で同じサーバー ポートを共有する子プロセス (ワーカー) を作成できます。これは、Node.js の複数のインスタンスを実行してより多くのリクエストを同時に処理することで、負荷分散とマルチコア システムの最大限の活用に役立ちます。

11. Node.js における require() と import の違いは何ですか?

答え: require() は CommonJS モジュール システムの一部であり、同期的です。 ES6 より前のバージョンの Node.js でモジュールをロードするために使用されます。
import は ES6 モジュール システムの一部であり、JavaScript のネイティブ モジュール システムと連携して動作し、ツリーシェイキングと静的分析のサポートを可能にします。これは、ECMAScript モジュールを備えた新しいバージョンの Node.js で使用されます。

12. Node.js でのエラーはどのように処理しますか?

答え: エラー処理はいくつかの方法で行うことができます:

エラー優先パターンでのコールバックの使用 (callback(err, result))
拒否された Promise に対して .catch() を使用して Promise を使用する
async/await
での try...catch ブロックの使用 Express.js でミドルウェアを使用してエラーを処理する

13. package.json ファイルの目的は何ですか?

回答: package.json は、プロジェクトとその依存関係に関するメタデータを含む Node.js プロジェクトのマニフェスト ファイルです。プロジェクトの名前、バージョン、メイン エントリ ポイント、スクリプト、依存関係、devDependency、およびその他の構成を定義します。

  1. Node.js アプリケーションをどのように保護しますか? 回答: 安全な通信には HTTPS を使用します。 データ検証とサニタイズを実装して、SQL インジェクションとクロスサイト スクリプティング (XSS) を防止します。 強力な認証および認可メカニズム (JWT など) を使用します。 環境変数と安全なストレージを使用して機密データを保護します。 レート制限とタイムアウトで DOS 攻撃を防ぎます。 パッケージを常に最新の状態に保ち、npm Audit などの監査ツールを使用してください。

15. fs.readFile() と fs.createReadStream() の違いは何ですか?

*答え: * fs.readFile() はファイル全体をメモリに読み取り、ファイルの内容を使用してコールバックを実行します。
fs.createReadStream() はファイルをチャンクに分けて読み取り、一度にすべてをロードするのではなくデータをストリーミングするため、大きなファイルのメモリ効率が高くなります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/kamlesh_gupta_539c974fb0d/node-interview-questions-5fg4?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3