グルーヴィーなインタビューの質問と回答トップ 22 (2024)

ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けの Groovy スクリプト面接の質問と回答を紹介します。

 

新人向けの Groovy スクリプトの面接の質問

1) Groovy とは何ですか?

Groovy は、JVM 用のオブジェクト指向プログラミング言語です (Java仮想マシン)。 Java モジュールを結合したり、Java アプリケーションを作成したり、既存の Java アプリケーションを拡張したりするために使用されます。


2) なぜ Groovy を使用するのですか?

  • Java プログラマにとっては、使い慣れた構文が提供されます
  • Java ライブラリの豊富なストックがある
  • サーブレット コンテナ、アプリケーション サーバー、JDBC ドライバーを備えた大量のデータベースなどの既存のインフラストラクチャと簡単に統合できます。
  • 完全なオブジェクト指向
  • 再利用可能で割り当て可能なコード部分を持っています
  • 演算子が過負荷になる可能性がある
  • マップ、配列、範囲、正規表現のリテラル宣言
  • 効率的なオブジェクトナビゲーションを備えています

👉 無料 PDF ダウンロード: 素敵なインタビューの質問と回答


3) Groovy の制限は何ですか?

  • Groovy は遅くなる可能性があります
  • Groovy は大量のメモリを必要とする可能性があります
  • 素晴らしい起動時間は改善が必要
  • Javaの知識が必要です
  • 新しい構文、クロージャ、デフォルトの型付け、
  • ドキュメントが薄い

4) Groovy でスクリプトがどのように実行されるかを説明しますか?

Groovy はプレーン スクリプトをサポートしています。 クラス宣言は必要ありません。 スクリプトの先頭では、クラスの先頭と同じ方法でインポートがサポートされます。 で Groovy、ワードを使用する必要があります デフ クラスの外で関数を宣言します。


5) Groovy JDK が提供する機能について言及してください。

Groovy は、古いバージョンと比較して、次のような新しいメソッドを追加しました。

  • 新たに Groovy 指向のメソッドを使用したさまざまな配列タイプとオブジェクト ストリーム

Object.every()、Object.each() などに加え、「String BufferedReader.getText()」や「InputStream.eachLine(Closure)」などの新機能も含まれています。

興味深い面接の質問
興味深い面接の質問

6) Groovy におけるクロージャーとリスナーの役割について言及してください。

Groovy は匿名の内部クラスをサポートしていません。 クロージャを使用してアクション リスナーをインラインで決定することができます。 Groovy では、リスナー クロージャは ListenerAdapter として使用され、対象となる XNUMX つのメソッドのみがオーバーライドされます。


7) groovy または groovysh で実行するときにクラスパスに要素を追加する方法を説明してください。

$CLASSPATH 環境変数に項目を追加できます。 もう XNUMX つの方法は、ホーム ディレクトリに .groovy/lib ディレクトリを構築し、デフォルトで使用できるようにしたい jar を追加することです。


8) Groovy のライセンスとは何ですか?

Groovy は、実行時に ASM ライブラリ、Java 1.4、および Groovy jar に依存します。


9) Groovy の ExpandoMetaClass とは何ですか?

ExpandoMetaClass は、メソッド、プロパティ、静的メソッド、コンストラクターを追加するために使用されます。 Expandoclass はデフォルトでは継承されません。 電話しなければなりません ExpandoMetaClass.enableGlobally().


10) Groovy 文字列がどのように表現されるのか説明してください。

Groovy 文字列は Gstring と呼ばれます。

  • 二重引用符で囲まれ、通常の文字列の場合は一重引用符が使用されます。
  • ${} に示されている Groovy 式が含まれている可能性があります
  • 角括弧構文は charAt(i) のように適用できます。

Groovy Script の面接の質問と回答 (経験者向け)

11) Groovy を使用してデータベースから単一の値を取得するにはどうすればよいですか?

データベースから単一の値を回復するには、次のコマンドを使用できます。

row = sql.firstRow ('select columnA, column from tableName')
println "Row: columnA = $ {row.columnA} and column = ${row.columnB}"

12) Groovy でクエリを実行する方法を説明してください。

Groovy がクエリを呼び出す方法の簡単な例を見てみましょう

import groovy.sql.sql

sql = Sql.newInstance ('jdbc: jtds: sqlserver://serverName/dbName-Class;domain=domainName','username','password','net.sourceforge.jtds.jdbc.driver')

sql.eachRow ('select * from tableName') {print "$it.id--${it.firstName} –"  }

13) Groovy で文字列から AST (抽象構文ツリー) を構築する方法を説明してください。

Groovy で AST を構築するには、

  • 文字列
  • Code
  • DSL のような仕様から

AstBuilder オブジェクトは、Groovy ソース コードの文字列から AST を構築するための API を提供します。 例えば

リストノード = 新しい AstBuilder ()。 buildFromString (“\”Hello\” “)


14) Groovy スクリプトを別の Groovy に組み込む方法を説明してください。

次のコマンドを使用して、別の Groovy スクリプトを Groovy スクリプトに含めることができます。wing コード。 このコードをスクリプトの先頭に置くと、Groovy ファイルの内容が取り込まれます。

Evaluate(新しいファイル(“../tools/Tools.groovy”))


15) Groovysh とは何ですか?

Groovysh は、Groovy 式の評価、クラスの定義、実験の実行に簡単にアクセスできるコマンド ライン アプリケーションです。


16) GroovyDoc コメントを説明しますか?

複数行のコメントと同様、GroovyDoc コメントは複数行ですが、/** で始まり */ で終わります。 それらのコメントは以下に関連しています

  • 型定義 (クラス、インターフェース、列挙型、注釈)
  • フィールドとプロパティの定義
  • メソッドの定義

17) Groovy のビット演算子とは何ですか?

ビット単位の演算子は、BYTE または INT、return および INT に実装できます。 ビットごとの演算子は 4 つのビットごとの演算子を提供します

  • &: ビット単位の「and」
  • I : ビット単位の「または」
  • A : ビット単位の「xor」
  • ~ : ビット単位の否定

18) Groovy と Java の違いを列挙してください。

  • Groovy のすべてのパッケージとクラスはデフォルトでインポートされるため、明示的に import ステートメントを使用する必要はありません
  • コンパイル時にメソッドが選択される Java とは異なり、Groovy のメソッドは実行時の引数の型に基づいて選択されます。
  • {…} ブロックはクロージャ用に予約されています。つまり、この構文では配列リテラルを構築できません。
  • Java と同様、フィールドの修飾子を省略してもパッケージのプライベート フィールドは生成されません。
  • Java 7 の自動リソース管理または ARM ブロックは Groovy ではサポートされていません
  • Java 8 ラムダは多かれ少なかれ匿名内部クラスとみなされ、Groovy はその構文をサポートしていません

19) Groovy における Grape 依存関係の役割を説明しますか?

Grape は、Groovy に組み込まれている JAR 依存関係マネージャーです。 これにより、Maven リポジトリの依存関係をクラスパスにすばやく追加できるようになり、スクリプト作成が容易になります。 最も簡単な使用法は、スクリプトに注釈を追加することです。


20) JsonSlurper クラスが何を示しているのか説明してください。

JsonSlurper は、JSON テキストまたはリーダーのコンテンツを解析して、リスト、マップ、および double、Boolean、string、Integer などのプリミティブ型などの Groovy データ構造 (オブジェクト) に変換するクラスです。


21) 「propertyMissing (String)」メソッドが呼び出されたとき?

「propertyMissing (String)」メソッドは、特定のプロパティのゲッター メソッドが Groovy ランタイムによって検出できない場合に呼び出されます。


22) Groovy で関係演算子が何に使用されるかについて言及してください。

関係演算子を使用すると、オブジェクト間を比較して、XNUMX つのオブジェクトが異なるか同じか、または一方が他方より小さいか、大きいか、等しいかを確認できます。

これらの面接の質問は、あなたの活力(口頭)にも役立ちます