29最もよくあるAngularJSインタビューの質問と回答[初心者および経験者向け]
公開: 2020-03-13AngularJSは、現代の技術シーンで最も人気のあるWebフレームワークの1つです。 当初、AngularJSはGoogleプロジェクトでしたが、後にオープンソースフレームワークになりました。 AngularJSは、クライアント側のJavaScript Model-View-Controllerフレームワークであり、主に動的Webアプリケーション、特にシングルページアプリケーションの構築に使用されます。
AngularJSは完全にHTMLとJavaScriptに基づいているため、テンプレート言語としてHTMLを使用できます。 静的HTMLを動的HTMLに変更するだけでなく、組み込みの属性を追加することでHTMLの機能を拡張するのにも役立ちます。 それだけでなく、AngularJSは、JavaScriptを使用してカスタム属性を作成するHTMLの機能も拡張します。 AngularJSの最も優れている点は、データバインディングと依存性注入機能により、冗長なコードを記述する必要がなくなることです。
AngularJSの人気は非常に広まり、業界でのAngularJSスキルの需要が急増しています。 ただし、AngularJSのスキルを必要とする仕事に着手したい場合は、最初にAngularJSの面接をクラックする必要があります。 AngularJSインタビューのエースを支援するために、 AngularJSインタビューの質問と回答の包括的なリストを作成しました。
どうぞ!
トップAngularJSインタビューの質問と回答
1. AngularJSとは何ですか? AngularJSの主な機能は何ですか?
AngularJSは、Googleによって開発されたJavaScriptフレームワークです。 動的で拡張可能なWebアプリケーションを作成するために使用されます。 これは、テンプレート言語としてHTMLを使用するMVC(Model View Controller)パターンに基づいています。 はじめに述べたように、AngularJSはプレーンなJavaScriptとHTMLで実行されます。つまり、AngularJSを使用するために他の外部依存関係に依存する必要はありません。 AngularJSは、JavaScriptオブジェクトをHTMLUI要素にバインドするのに役立ちます。

AngularJSのコア機能は次のとおりです。
- テンプレート
- 範囲
- コントローラ
- サービス
- モデル
- 意見
- データバインディング
- フィルタ
詳細:Angular 7.0 –アバターの新機能
2.AngularJSでスコープを定義します。
AngularJSでは、Scopeはアプリケーションコントローラーとビューの間の接着剤間のリンクとして機能するアプリケーションモデルです。 スコープは、式を監視し、イベントを伝播するように設計されています。 通常、スコープは、アプリケーションのDOM(Document Object Model)構造を複製する階層構造で編成されます。 式を監視し、イベントを伝播できます。
3.AngularJSでデータバインディングを定義します。
AngularJSでは、データバインディングとは、モデルコンポーネントとビューコンポーネント間のデータが自動的に同期されるプロセスを指します。 データバインディングは、ビュー/テンプレートとコンポーネントの間でデータをプッシュまたはプルすることを心配することなく、インタラクティブアプリケーションを定義するプロセスを簡素化するのに役立ちます。 4つのデータバインディングフォームがあります。
- イベントバインディング
- プロパティバインディング
- 文字列補間
- 双方向のデータバインディング
4.角度表現を定義します。 Angular式とJavaScript式の違いは何ですか?
角度式は、次のように、バインディングに配置されるコードスニペットです(JavaScriptのスタイルによく似ています)。
{{角度}}
角度式は、アプリケーションデータをHTMLにバインドするのに役立ちます。
JavaScript式とAngular式の主な違いは次のとおりです。
- JavaScript式はグローバルウィンドウに対して評価されますが、Angular式はスコープオブジェクトに対して評価されます。
- Angular式の評価では、nullと未定義が許可されますが、JavaScriptでは、未定義のプロパティは通常TypeErrorまたはReferenceErrorを生成します。
- JavaScriptとは異なり、Angular式では、ループ、条件、または例外の使用は許可されていません。
- AngularJSはフィルターをサポートしていますが、JavaScriptはサポートしていません。
5.AngularJSアプリケーションの開発に使用される一般的なIDEに名前を付けます。
AngularJSで最も一般的に使用されるIDE(統合開発環境)は次のとおりです。
- Eclipse –これはJava/JavaScript開発者のお気に入りのIDEの1つです。 AngularJSプラグインをサポートします。
- Visual Studio –これは、Webアプリを簡単かつ迅速に開発するために設計されたMicrosoftIDEです。
- WebStorm –これは間違いなく最新のJavaScript開発のための最も強力なIDEの1つです。 AngularCLIを使用して依存関係を簡単に統合できます。
- Aptana –これはEclipseのオープンソースのカスタマイズされたバージョンです。 Web開発に必要な最新のツールとWeb標準が搭載されています。
- 崇高なテキスト–これは、HTML、CSS、およびJavaScriptに強く推奨されるIDEです。 当然、AngularJSと互換性があります。
また、チェックしてください:AngularJSはあなたの次のモバイルアプリ開発のための正しい選択ですか?
6. AngularJSのディレクティブとは何ですか?
AngularJSのディレクティブは、「ng」プレフィックスを持つ拡張HTML属性に他なりません。 AngularJSには3つのコアディレクティブがあります。
- ng-app –このディレクティブの目的は、Angularアプリケーションのルート要素と見なされるべきHTML要素にフラグを立てることです。 Angularはカスタム属性にspinal-caseを適用しますが、それらを実装する対応するディレクティブにはキャメルケースフィルターを使用します。
- ng-model –このディレクティブは、HTMLコントロール(input、select、textarea)の値をアプリケーションデータにバインドするのに役立ちます。 ng-modelでは、ビューに反映されるスコープが変更されるだけでなく、ビューの変更もスコープに反映されます。
- ng-bind –このディレクティブは、モーダルアプリケーションデータをHTMLビューにバインドするために使用されます。
7. AngularJSルートの目的は何ですか?
AngularJSルートを使用すると、Angularアプリケーションのコンテンツごとに異なるURLを作成できます。 そうすることで、特定のコンテンツへのURLをブックマークできます。ブックマークされたそのような各URLは、AngularJSではルートと呼ばれます。
8.AngularJSで文字列補間を定義します。
AngularJSでは、文字列補間は、コンポーネントデータを表示するために{{}}中括弧内のテンプレート式を使用する一意の構文を指します。 文字列補間は、「口ひげ構文」と呼ばれることがよくあります。 この構文を使用する場合は、最初にJavaScript式(実行する必要がある)を二重中括弧内に含める必要があり、次に相対出力をHTMLコードに埋め込みます。
9.AngularJSの「ダイジェストサイクル」を定義します。
ダイジェストサイクルは、基本的にAngularJSでのデータバインディングのプロセスを指します。 このプロセスでは、スコープモデル値の新旧バージョンが相互に比較されます。 ダイジェストサイクルは自動的にトリガーされますが、「$ apply()」を使用して手動でプロセスを開始することもできます。
10.一方向バインディングと双方向バインディングの違いは何ですか?
一方向バインディングは、HTMLテンプレートまたはビューを自動的に更新せずに、モデルからビューにデータをバインドするために使用されます。 したがって、このアプローチでは、HTMLテンプレートを更新するカスタムコードを作成する必要があります。これにより、データがモデルからビューにバインドされるたびにビューがさらに更新されます。
これとは対照的に、双方向バインディングは、カスタムコードを記述しなくても、HTMLテンプレートを自動的に更新することにより、モデルからのデータをビューにバインドし、その逆も行います。
11.リンク機能を定義します。 リンク関数のタイプに名前を付けます。
リンクは、ディレクティブとスコープを組み合わせてライブビューを生成します。 リンク機能は、DOMリスナーの登録とDOMの更新に使用されます。 この関数は、テンプレートが複製された直後に実行されます。
リンク機能には次の2種類があります。
- 事前リンク関数–この関数は、子要素がリンクされる前に実行され、通常、DOM変換の安全なアプローチではありません。
- リンク後機能–この機能は、子要素がリンクされた後に実行されます。
12. AngularJSのインジェクターとは何ですか?
インジェクターはAngularJSのサービスロケーターです。 インジェクターの主な目的は、プロバイダーによって定義されたオブジェクトインスタンスを受け取り、メソッドを呼び出し、モジュールをロードし、タイプをインスタンス化することです。 すべてのAngularアプリケーションには、オブジェクトインスタンスを名前で検索するのに役立つインジェクターが含まれています。
13.ng-modelがCSSクラスに追加するさまざまなスタイル形式に名前を付けます。
ng-modelは、次のスタイリングフォームをCSSクラスに追加します。
- ng-有効
- ng-無効
- ng-pristine
- ng-ダーティ
14.依存性注入を定義します。 オブジェクトまたは関数はどのようにしてその依存関係にアクセスできますか?
依存性注入(DI)は、コードが依存性を取得する方法を決定するソフトウェアデザインパターンです。 コンポーネント内でハードコーディングする代わりに、コンポーネントが依存関係にアクセスできるようにします。 モジュールがアプリケーションにロードされるときに構成する必要のある要素を取得するために、「構成」操作はDIを使用します。

オブジェクトまたは関数は、次の方法でその依存関係にアクセスできます。
- 依存関係は、new演算子を使用して作成できます。
- 依存関係は、グローバル変数を参照することで検索できます。
15.AngularJSの依存関係として挿入できるコンポーネントに名前を付けます。
AngularJSでは、依存関係として次のコンポーネントを相互に注入できます。
- 価値
- サービス
- 工場
- 絶え間ない
- プロバイダー
この質問に対する答えも見つけてください:なぜフルスタック開発者になるのですか?
16. HTMLのコンパイルプロセスに含まれるステップは何ですか?
HTMLのコンパイルプロセスには、次の手順が含まれます。
- まず、HTMLは標準のブラウザAPIを使用してDOMに解析されます。
- 次のステップでは、$ compile()メソッドの呼び出しを使用して、DOMのコンパイルを実行します。 このメソッドは、ディレクティブと一致するようにDOMをトラバースします。
- 最後のステップでは、前のステップから返されたリンク関数を呼び出して、テンプレートをスコープにリンクします。
17. AngularJSのサービスとは何ですか?
サービスは、特定のタスクを実行するように設計されたJavaScript関数です。 たとえば、$ https:関数はサーバーデータを取得するためにAJAX呼び出しを行うために使用され、$route関数はルーティング情報を定義するために使用されます。 特定のタスクを実行できるそのようなサービスは他にもたくさんあります。
18.AngularJSでディレクティブを定義します。 さまざまな種類のディレクティブに名前を付けます。
AngularJSでは、ディレクティブは、特定のHTML構造が検出されたときに、コンパイルプロセス中にトリガーされる動作または関数です。 ディレクティブは、DOM要素(要素、属性、CSSなど)のマーカーです。 これらを使用して、新しいカスタムウィジェットとして機能するカスタムHTMLタグを作成することもできます。
ディレクティブの4つのコアタイプは次のとおりです。
- 要素ディレクティブ
- 属性ディレクティブ
- コメントディレクティブ
- CSSクラスディレクティブ
19.AngularJSでアノテーションとデコレータを区別します。
Angularでは、アノテーションは、ReflectMetadataライブラリを使用して「アノテーション」配列を作成するクラスの唯一のメタデータセットです。 一方、デコレータは、アプリケーションの元のソースコードを変更せずに、クラスの装飾や変更を分離するために使用されるデザインパターンです。
20.コントローラーを定義します。
コントローラーは、特定のスコープにバインドされたJavaScript関数です。 彼らの主な目的は、HTMLUIにデータとロジックを提供することです。 これらは、サーバーからHTMLUIへのデータの流れを制御するAngularJSフレームワークの主要なアクターです。 さらに、コントローラーは、データを操作し、更新されたモデルベースのデータを表示するために更新する必要があるビューを決定する機能も備えています。
21. AngularJSでログはどのように維持されますか?
ログを維持するために、AngularJSでは$logサービスが使用されます。 $ logサービスの主な目的は、以下に説明する方法でデバッグとトラブルシューティングを支援することです。
- log()–コンソールにログメッセージを書き込むために使用されます。
- info()-情報メッセージを書き込むために使用されます。
- warn()-警告メッセージを書き込むために使用されます。
- error()-エラーメッセージを書き込むために使用されます。
- debug()-デバッグメッセージを書き込むために使用されます。
22.AngularJSで$rootscopeを定義します。 スコープとどう違うのですか?
AngularJSでは、$rootscopeと$scopeはどちらも、コントローラーからのデータを共有して表示するために一般的に使用されるオブジェクトです。 ただし、この2つはまったく異なります。 $rootscopeと$scopeの主な違いは、前者はすべてのコントローラーでグローバルに使用できるのに対し、$scopeは子コントローラーと一緒に作成したコントローラーでのみ使用できることです。
23.AngularJSがサポートするブラウザーに名前を付けます。
AngularJSでサポートされているブラウザーの一部を次に示します。
- Mozilla Firefox
- グーグルクローム
- Microsft Edge
- IEモバイル
- Safari(iOS)
- IE 10,11
24. Angular 1.xでHTML5モードを有効にするにはどうすればよいですか?
Angular 1.xでHTML5モードを有効にするには、以下のコードを実行する必要があります。
angle.module('myApp'、[])
.config(function($ routeProvider、$ locationProvider){
$ routeProvider
。いつ('/'、 {
templateUrl:'partials / home.html'、
コントローラー:mainController
})
// HTML5HistoryAPIを使用します
$ locationProvider.html5Mode(true);
});
25.AngularJSの組み込みバリデーターに名前を付けます。
AngularJSは、入力を検証するためのすべての標準HTML5属性をサポートしています。 AngularJSに組み込まれているバリデーターの一部を次に示します。
- 最小
- マックス
- 必須
- Type =” number” OR type =” email”
26. AngularJSを使用してAJAX呼び出しを行う方法は?
AngularJSの$https:サービスを使用して、サーバーからデータを読み取るためのAJAX呼び出しを行うことができます。 AngularJSでは、データがJSON形式である必要があります。 サーバーは、目的のレコードを取得するためのデータベース呼び出しを作成します。 データの準備ができたら、次のように$ https:サービスを使用してサーバーからデータを取得できます。
関数studentController($ scope、$ https :) {
var url =“ data.txt”;
$ https:.get(url).success(function(response){
$scope.students=応答;
});
}
27. AngularJSの内部化とは何ですか?
AngularJSでは、国際化とは、Webサイトにロケール固有の情報を表示するために使用される方法を指します。 たとえば、米国では英語、フランスではデンマーク語でコンテンツを表示するWebサイトは、場所に応じて内部化する必要があります。
AngularJSは、次の3種類のフィルターに対する組み込みの国際化サポートを提供します。
- 日にち
- 数字
- 通貨
28.AngularJSブートプロセスの手順を説明します。
ブラウザにページを読み込むと、AngularJSの起動プロセスが開始されます。関連する手順は次のとおりです。

- HTMLドキュメントファイルが読み込まれ、ブラウザによって評価されます。 次に、AngularJS JavaScriptファイルが読み込まれ、グローバルオブジェクトが作成されます。
- 次のステップでは、コントローラー機能の登録を担当するJavaScriptファイルが実行されます。
- AngularJSはHTMLをスキャンして、AngularJSアプリとビューを見つけます。 ビューの検索に成功すると、その特定のビューを対応するコントローラー機能に接続します。
- 最後に、AngularJSはコントローラー機能を実行し、コントローラーによって入力されたモデルからのデータを使用してビューをレンダリングし、ユーザーがページを表示できるようになります。
29. AngularJSでフィルターはどのような目的を果たしますか?
フィルタは、式の値をフォーマットし、それをユーザーに表示するために使用されます。 AngularJSでは、フィルターがテンプレート、ディレクティブ、コントローラー、およびサービスに追加されます。 カスタムフィルターを作成することもできます。 フィルタを使用すると、特定の基準を満たした場合にのみデータ値が表示されるようにデータを整理できます。 「|」を使用して、Angular式にフィルターが追加されます文字の後にフィルターが続く
結論
そこで、AngularJSで氷を壊すのに役立つ29の最も一般的なAngularJSインタビューの質問と回答を以下に示します。
AngularJS、フルスタック開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のPGディプロマをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。任務、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
幸せな学習!