22 Pertanyaan Wawancara Groovy Teratas & Jawaban

Anonim

Unduh PDF

1) Jelaskan apa itu Groovy?

Groovy adalah bahasa pemrograman berorientasi objek untuk JVM (Java Virtual Machines). Ini digunakan untuk menggabungkan modul Java, menulis aplikasi Java dan memperluas aplikasi Java yang sudah ada.

2) Mengapa menggunakan Groovy?

  • Untuk programmer Java, ini menyediakan sintaks yang familiar
  • Ia memiliki stok Perpustakaan Java yang kaya
  • Mudah diintegrasikan dengan infrastruktur Anda yang ada seperti Servlet Containers, App Servers, Banyak database dengan driver JDBC,
  • Berorientasi Objek Sepenuhnya
  • Itu memiliki potongan kode yang dapat digunakan kembali dan dapat ditetapkan
  • Operator bisa kelebihan beban
  • Deklarasi literal untuk peta, larik, rentang, dan ekspresi reguler
  • Ini memiliki navigasi objek yang efisien

3) Apa batasan dari Groovy?

  • Groovy bisa lebih lambat
  • Groovy mungkin membutuhkan banyak memori
  • Waktu start yang groovy membutuhkan peningkatan
  • Itu membutuhkan pengetahuan Java
  • Terkadang dibutuhkan untuk terbiasa menyukai Sintaks Baru, penutupan, pengetikan default,
  • Dokumentasi tipis

4) Jelaskan bagaimana Script dijalankan di Groovy?

Groovy mendukung skrip biasa; itu tidak membutuhkan deklarasi kelas. Di depan skrip, impor didukung dengan cara yang sama seperti di depan kelas. Di Groovy, Anda harus menggunakan kata def untuk mendeklarasikan fungsi di luar kelas.

5) Sebutkan apa saja fitur yang ditawarkan Groovy JDK?

Groovy telah menambahkan metode baru dibandingkan dengan versi lama seperti

  • Berbagai tipe array dan aliran objek dengan metode berorientasi Groovy yang baru

seperti Object.every (), Object.each () dll. dan juga menyertakan fitur baru seperti "String BufferedReader.getText ()" dan "InputStream.eachLine (Closure)".

6) Sebutkan apa peran closure dan pendengar di Groovy?

Groovy tidak mendukung kelas dalam anonim; adalah mungkin untuk menentukan pendengar tindakan sebaris melalui sarana closure. Di Groovy, penutupan pendengar digunakan sebagai ListenerAdapter di mana hanya satu metode minat yang diganti.

7) Jelaskan bagaimana Anda dapat menambahkan sesuatu ke classpath saat menjalankan sesuatu dengan groovy atau groovysh?

Anda dapat menambahkan sesuatu ke variabel lingkungan $ CLASSPATH Anda. Kemungkinan lain adalah membangun direktori .groovy / lib di direktori home Anda dan menambahkan toples apa pun yang Anda inginkan agar tersedia secara default.

8) Sebutkan apa lisensi untuk Groovy?

Groovy bergantung pada waktu proses di pustaka ASM serta Java 1.4 dan jar Groovy.

9) Jelaskan apa itu ExpandoMetaClass di Groovy?

ExpandoMetaClass digunakan untuk menambahkan metode, properti, metode statis, dan konstruktor. Expandoclass tidak diwarisi secara default; Anda harus memanggil ExpandoMetaClass.enableGlobally ().

10) Jelaskan bagaimana string Groovy diekspresikan?

String groovy disebut sebagai Gstring.

  • Dikelilingi oleh tanda kutip ganda, untuk string biasa menggunakan tanda kutip tunggal
  • Ini mungkin berisi Ekspresi Groovy yang dicatat dalam $ {}
  • Sintaks kurung siku dapat diterapkan seperti charAt (i)

11) Bagaimana Anda bisa mengambil satu nilai dari basis data menggunakan Groovy?

Untuk memulihkan satu nilai dari database Anda dapat menggunakan perintah

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

12) Jelaskan bagaimana Anda dapat melakukan kueri di Groovy?

Mari kita lihat contoh sederhana bagaimana Groovy memanggil kueri

import groovy.sql.sqlsql = 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) Jelaskan bagaimana Anda dapat membangun AST (Abstrak Syntax Trees) di Groovy dari string?

Anda dapat membuat AST di Groovy dari

  • String
  • Kode
  • Dari spesifikasi seperti DSL

Objek AstBuilder menyediakan API untuk membuat AST dari string Kode Sumber Groovy. Sebagai contoh

Buat daftar node = new AstBuilder (). buildFromString ("\" Hello \ "")

14) Jelaskan bagaimana Anda bisa memasukkan skrip yang asyik ke dalam yang asyik?

Anda dapat menyertakan skrip asyik dengan asyik lain dengan menggunakan kode berikut. Ketika meletakkan kode ini di bagian atas skrip, itu akan membawa konten file yang asyik.

Evaluasi (file baru ("… /tools/Tools.groovy"))

15) Jelaskan apa itu Groovysh?

Groovysh adalah aplikasi baris perintah yang memungkinkan akses mudah untuk mengevaluasi ekspresi Groovy, menentukan kelas, dan menjalankan eksperimen.

16) Jelaskan komentar GroovyDoc?

Seperti komentar multiline, komentar GroovyDoc juga multiline tetapi dimulai dengan a / ** dan diakhiri dengan * /. Komentar tersebut terkait dengan

  • Definisi jenis (kelas, antarmuka, enum, anotasi)
  • Definisi bidang dan properti
  • Definisi metode

17) Jelaskan apa itu Operator Bitwise di Groovy?

Operator bitwise dapat diimplementasikan pada BYTE atau INT dan return dan INT. Operator bitwise menawarkan 4 operator bitwise

  • &: bitwise "dan"
  • I: bitwise "atau"
  • A: bitwise "xor"
  • ~: negasi bitwise

18) Sebutkan perbedaan antara Groovy dan Java?

  • Semua paket dan kelas di Groovy diimpor secara default, Anda tidak harus menggunakan pernyataan import secara eksplisit
  • Tidak seperti Java di mana metode dipilih pada waktu kompilasi, metode di Groovy dipilih berdasarkan jenis argumen saat runtime
  • Dalam {…} blok dicadangkan untuk closure, yang berarti Anda tidak bisa membangun literal array dengan sintaks ini
  • Seperti di Java, menghilangkan pengubah pada bidang tidak menghasilkan bidang pribadi paket
  • Manajemen Sumber Daya Otomatis atau blok ARM dari java 7 tidak didukung di Groovy
  • Java 8 lambda kurang lebih dianggap sebagai kelas dalam anonim, dan Groovy tidak mendukung sintaks tersebut

19) Jelaskan peran ketergantungan Grape di Groovy?

Grape adalah manajer ketergantungan JAR yang termasuk dalam Groovy. Ini memungkinkan Anda menambahkan dependensi repositori maven dengan cepat ke classpath Anda, membuat skrip lebih mudah. Penggunaan paling sederhana adalah menambahkan anotasi ke skrip Anda.

20) Jelaskan apa yang ditunjukkan oleh kelas JsonSlurper?

JsonSlurper adalah kelas yang mengurai teks JSON atau konten pembaca ke dalam struktur data (objek) Groovy seperti daftar, peta, dan tipe primitif seperti ganda, Boolean, string, dan Integer.

21) Kapan metode "propertyMissing (String)" dipanggil?

Metode "propertyMissing (String)" dipanggil ketika tidak ada metode pengambil untuk properti tertentu yang dapat dideteksi oleh runtime Groovy.

22) Sebutkan operator relasional yang digunakan untuk Groovy?

Operator relasional memungkinkan Anda untuk membandingkan antar objek, untuk memeriksa apakah dua objek berbeda atau sama atau jika salah satu lebih kecil dari, lebih besar dari atau sama dengan yang lain.