26最も重要なMavenインタビューの質問と回答[新入生および経験者向け]

公開: 2021-01-21

目次

概要

あなたはすでにMavenの専門知識が今日大金の価値があることを知っています、さもなければあなたはここにいないでしょう。 結局のところ、Mavenはほとんどのトップ企業に最適なツールであり、当然、彼らは競争に勝つためにあなたのような個人を雇うことに熱心です。

さて、次の就職の面接でどの質問をするかを正確に知っているのは完璧すぎる世界でしょう。 ただし、次善の策があります。Mavenの面接で最もよく聞かれる質問と回答の厳選されたリストです。 これらはあなたが狙っている仕事をあなたに着陸させるかもしれません。 だから、すぐに掘り下げましょう!

Mavenインタビューの質問と回答

質問1:Mavenとは何ですか?

Apache Mavenは、Apache Software Foundationによってホストされる効果的なビルド自動化ツールであり、Javaで記述されたプロジェクトのビルドと管理に使用されます。 また、C / C ++、Ruby、Scala、およびその他のいくつかのプログラミング言語で記述されたプロジェクトの管理もサポートしています。 Mavenは、デフォルトのビルドライフサイクルフレームワークを使用して、プロジェクトのインフラストラクチャを自動化および理解します。

質問2:Mavenの目的は何ですか?

開発者が時間を節約する方法で完全な開発作業状態を理解できるようにするために、Mavenの主な関心事は次のとおりです。

  • プロジェクトを構築するプロセスを簡単にするため

Mavenは、開発者に基盤となるメカニズムへのアクセスを提供しますが、他のいくつかの詳細からそれらを保護します。

  • ビルドシステムの均一性を可能にするため

Mavenプロジェクトは、プラグインのシステムとプロジェクトオブジェクトモデル(POM)を使用して構築されます。 1つのプロジェクトに精通していると、すべてのMavenプロジェクトのビルドを理解するのに役立ちます。 これは時間を節約するのに非常に効率的です。

  • 効率を高めるための貴重なプロジェクト情報の提供

この情報は、主にPOMから提供され、一部はプロジェクトのソースから提供されます。 Mavenが提供する情報には、使用される依存関係、単体テストレポート、サードパーティのコード分析製品からのプラグインレポートなどが含まれます。

  • 最良の開発慣行を教え込むためのスペースを作成する

これには、実行、単体テストレポート、仕様などに関して、現在の開発原則に焦点を当てることが含まれます。

質問3:プロジェクトの展開の順序を説明してください。

プロジェクトの展開プロセスには、次の手順が含まれます。

ステップ1:進行中のすべてのプロジェクトのコードがSVNまたはソースコードリポジトリに入力されます。 これは、コードにタグを付けることができるようにするために行われます。

ステップ2:SVNからソースコード全体がダウンロードされます。

ステップ3:3番目のステップには、アプリケーションの構築が含まれます。

ステップ4:EARファイルまたはWARファイルとして取得されたビルド出力は、ネットワークの共通の場所に保存されます。

ステップ5:ファイルがネットワークから取得され、本番サイトに展開されます。

ステップ6:展開プロセスが完了すると、ドキュメントはアプリケーションの日付とバージョンで更新されます。

質問4:Mavenによって管理されている側面はどれですか?

Mavenの開発者は、次の側面を管理します。

  • プロジェクトで使用される依存関係
  • SCM(ソフトウェア構成管理)
  • リリースとビルド
  • ドキュメントの詳細
  • 報告
  • 分布
  • メーリングリスト

質問5:Mavenサイトをすばやく構築できるコマンドはどれですか?

コマンドは–

mvnサイト

質問6:Mavenの機能は何ですか?

Mavenの主な機能は次のとおりです。

  1. これは、開発者が最良の開発慣行に従うことを奨励します。 これにより、プロジェクトの構築がより簡単かつ迅速になります。新しいプロジェクトを数秒で開始できます。
  2. これにより、一貫した使用が可能になります。つまり、新しい開発者がプロ​​ジェクトに参加するときに立ち上がる時間がありません。
  3. Mavenは依存関係を効率的に管理します。つまり、更新は自動的に行われ、推移的な依存関係が並べ替えられます。
  4. 複数のプロジェクトに同時にアクセスできます。
  5. ライブラリとメタデータの広範なリポジトリが含まれています。 最新かつ最大のオープンソースプロジェクトにリアルタイムでアクセスできるようにするための取り決めもあります。
  6. 拡張機能との互換性を可能にし、ユーザーがJavaまたはRuby、C#、Scalaなどの他のスクリプト言語でプラグインを作成できるようにします。
  7. 追加の構成を必要としない新しいリリースや機能にすぐにアクセスできます。
  8. 開発者はMavenを使用して、JAR、WARなどの事前定義された出力タイプを模倣する多数のプロジェクトを構築できます。 これには、スクリプトはほとんど必要ありません。
  9. Mavenは、ビルドと同じメタデータを使用してWebサイトまたはPDFを生成し、プロジェクトの開発状況に関する標準レポートを作成できます。
  10. 構成をほとんど変更せずに、ソース管理システムを統合できます。 Mavenを使用すると、特定のタグに基づいてプロジェクトリリースを管理できるようになります。 このデータは、他のプロジェクトで使用できるように、配布場所に公開することもできます。
  11. JARの中央リポジトリは非常に価値があり、Mavenでは他の依存関係と一緒に使用することをお勧めします。 これにより、プロジェクトの構築に必要なJARを中央のJARリポジトリからダウンロードできます。 これはPerlのCPANに似ており、プロジェクト間でJARを再利用できます。 プロジェクト間のアクティブな通信により、下位互換性の問題を排除できます。

質問7:クリーンライフサイクルのフェーズは何ですか?

クリーンライフサイクルフェーズは次のとおりです。

  1. プレクリーン
  2. 綺麗
  3. ポストクリーン

質問8:POMを定義します。

POM(Project Object Modelの略)は、Mavenの基本的な作業単位です。 XML拡張として作成され、pom.xmlによってベースディレクトリに保存されます。 Mavenによって行われたさまざまな構成に関する情報はこのファイルです。

質問9:サイトのライフサイクルのフェーズは何ですか?

サイトライフサイクルのフェーズは次のとおりです。

  1. プレサイト
  2. サイト
  3. ポストサイト
  4. サイト展開

質問10:POMで指定されている場合、プロファイルはPOMのどの要素を変更できますか?

次のPOM要素を変更できます。

<プラグイン>

<プロパティ>

<モジュール>

<報告>

<リポジトリ>

<pluginRepositories>

<依存関係>

<dependencyManagement>

<配布管理>

質問11:Mavenのビルドライフサイクルについて説明してください。

目標の実行順序を指定するために定義されたフェーズの論理シーケンスは、ビルドライフサイクルと呼ばれます。 各フェーズは、ライフサイクルのステージを示します。

チェックアウト:トップ10の重要なSpringBootインタビューの質問と回答

質問12:Mavenの3つのビルドライフサイクルは何ですか?

Mavenの3つのビルドサイクルは次のとおりです。

  1. クリーン:この段階では、以前のビルドから残っているアーティファクトをすべてクリアします。 クリーンライフサイクルは、プレクリーン、クリーン、ポストクリーンの3つのフェーズで構成されます。
  2. デフォルト(またはビルド):デフォルトのビルドサイクルは、アプリケーションがビルドされる場所です。
  3. サイト:このフェーズでは、関連するサイトのドキュメントが生成されます。 サイトのライフサイクルには、プレサイト、サイト、ポストサイト、サイト展開の4つのフェーズがあります。

質問13:Mavenの目標を説明してください。

目標は、プロジェクトの構築と管理に不可欠な特定のタスクを意味します。 目標は、ビルドフェーズにバインドされる場合とバインドされない場合があります。 ビルドフェーズがゼロにバインドされているものは、ビルドライフサイクル内で実行する必要はありません。 それは直接呼び出しによってそれの外で行うことができます。

質問14:次のコマンドの目的は何ですか:mvn cleandependency:copy-dependenciesパッケージ?

上記のコマンドは、プロジェクトをクリアするために使用されます。 次に、依存関係をコピーして、プロジェクトのすべてのフェーズを実行します。

質問15:Mavenの用語でビルドプロファイルを説明してください。

ビルドプロファイルは、Mavenビルドのデフォルト値を設定またはオーバーライドできる構成値のグループを表します。 ビルドプロファイルを使用すると、さまざまな環境(本番環境と開発環境など)に合わせてビルドをカスタマイズできます。

質問16:3つの異なるビルドプロファイルに言及します。

  1. ユーザーごと:Maven設定のxmlファイル(%USER_HOME%/。m2 / settings.xml)でユーザーごとのビルドプロファイルを定義します。
  2. プロジェクトごと:プロジェクトごとのビルドプロファイルは、POMファイルpom.xmlの2つのファイルのいずれかで定義されます。
  3. グローバル:このビルドプロファイルは、Mavenのグローバル設定のxmlファイル(%M2_HOME%/ conf / settings.xml)で定義されます。

質問17:ローカルリポジトリのデフォルトの場所はどこですか?

デフォルトの場所は〜/m2./repositoryです

質問18:ローカルリポジトリでJARファイルのインストールを開始するコマンドを記述しますか?

コマンドは次のとおりです。mvninstall

質問19:さまざまなMavenプラグインについて簡単に説明してください。

Mavenプラグインの2つのタイプは次のとおりです。

  1. プラグインのビルド:これらのプラグインは、ビルドプロセス中に実行されます。 これらは、pom.xmlファイルの<build/>要素で構成する必要があります。
  2. レポートプラグイン:これらはサイトの生成が行われるときに実行され、pom.xmlファイルの<reporting/>要素で構成を行う必要があります。

質問20:プロジェクトをオフラインでビルドするために使用されるコマンドはどれですか?

次のコマンドが使用されます: mvn o package

質問21:依存関係を除外するコマンドは何ですか?

除外要素は、依存関係を実行するために使用されます

質問22.ビルド中にプラグインを自動的にクリーンアップする手順は何ですか?

pom.xmlファイルの実行タグ内にcleanプラグインを含めると、プラグインがクリーンアップされます。

質問23:子POMへのプラグインの伝播を停止するプロセスは何ですか?

次のコマンドを使用します。 <inherited>をfalseに設定します

質問24:pomファイルの実行要素の使用について説明してください。

pomファイルの<execution>要素には、プラグインを実行するために必要な情報が含まれています。

質問25:プロジェクトの完全修飾アーティファクト名を挙げてください。

プロジェクトの完全修飾アーティファクト名は次のとおりです。 <groupId>:<artifactId>:<version>

質問26:pom.xmlファイルで決定的なプロパティを参照する手順に言及しますか?

そのために、値の定義で使用されるXML要素名は、「pom」がプロジェクト要素エイリアスとして機能することを許可されているプロパティ名によって使用されます。

つまり、$ {pom.name}はプロジェクト名への参照であり、$ {pom.version}はそのバージョンを示し、${pom.build.finalName}はビルドされたプロジェクトのパッケージで作成された最終的なファイル名です。等々。

Mavenインタビューのこの質問と回答のリストにあるのはこれだけです。 これがお役に立てば幸いです。

必読:Jenkins Interview Questions&Answers 2021 for Freshers&Experienced

世界のトップ大学からオンラインでソフトウェアコース学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

これらは主に、インタビューのために1つを装備することを目的としたMavenの基本的な知識を少し超えています。 網羅的なリストではありませんが、Mavenの知識を持って採用担当者を引き付けるための基礎を築きます。

フルスタックソフトウェアであるJenkinsについて詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発におけるエグゼクティブPGプログラムをご覧ください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。 、および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。

Mavenとは何ですか?

Mavenは、プロジェクトの依存関係を自動的にダウンロードするビルド自動化ツールであるため、自分でダウンロードする必要はありません。 プロジェクトの構築、コンパイル、テストが可能なため、さまざまなプロジェクトに取り組んでいる場合は、このツールが最適です。 インストールすると、簡単なコマンドを使用してプロジェクトの構築とテストを管理できます。また、プロジェクトの依存関係もダウンロードされるため、手動で行う必要はありません。

Gradleとは何ですか?

Gradleはビルド自動化ツールです。 ビルドツールは、ソフトウェアのビルドを自動化するために設計されたソフトウェアアプリケーションです。 その主な目的は、製品の構築と構築プロセスの管理に必要な労力を削減することです。 Gradleは、スクリプト可能で柔軟なビルドシステムを作成するために使用できる自然なビルド言語です。 Gradleはオープンソースプロジェクトであり、会社のビルドプロセスに統合できます。 これは、Ant、Maven、およびその他のツールよりも高速かつスマートにビルドするビルドツールです。 これは、マルチプロジェクトビルドシナリオ用に設計されており、設定より規約に基づいています。 これは、アプリケーションをオンデマンドでビルド、テスト、公開するビルド自動化ツールです。 また、すべての依存関係を処理できます。

ビルド自動化ツールとは何ですか?

Jenkins、TravisCI、CircleCIなどのビルド自動化ツールを使用して、ビルドプロセスを最初から最後まで自動化します。 これには、アプリケーションのビルド、単体テストの実行、バージョン管理システム(gitなど)との統合、プライベートまたはパブリックリポジトリへのアーティファクトのアップロード、ビルドごとのレポートの生成が含まれます。 利点は、これらのツールを構成して、ビルド、テスト、および展開プロセスを自動的に実行できることです。 構成が完了すると、チームと継続的インテグレーションサービスを提供できるため、継続的デリバリーが容易になり、堅牢でスケーラブルなビルドパイプラインを提供するように設計および実装されます。