22 populiariausi „Groovy“ interviu klausimai ir Atsakymai

Anonim

Atsisiųsti PDF

1) Paaiškinkite, kas yra Groovy?

„Groovy“ yra objektinė JVM („Java Virtual Machines“) programavimo kalba. Jis naudojamas derinti „Java“ modulius, rašyti „Java“ programą ir išplėsti esamą „Java“ programą.

2) Kodėl verta naudoti „Groovy“?

  • „Java“ programuotojams tai suteikia pažįstamą sintaksę
  • Jame yra daug „Java“ bibliotekų atsargų
  • Tai lengvai integruojama į jūsų esamą infrastruktūrą, pvz., „Servlet Containers“, „App Server“, duomenų bazių su „JDBC“ tvarkyklėmis,
  • Visiškai orientuotas į objektą
  • Jame yra daugkartinio naudojimo ir priskirtinos kodo dalys
  • Operatoriai gali būti perkrauti
  • Pažodinė žemėlapių, masyvų, diapazonų ir reguliariųjų išraiškų deklaracija
  • Jis turi efektyvią objektų navigaciją

3) Koks yra „Groovy“ apribojimas?

  • Groovy gali būti lėtesnis
  • Groovy gali reikėti daug atminties
  • Groovy paleidimo laiką reikia tobulinti
  • Tam reikalingos „Java“ žinios
  • Kartais prireikia, kad įprastumėte naują sintaksę, uždarymus, numatytąjį rinkimą,
  • Dokumentacija yra menka

4) Paaiškinkite, kaip scenarijai vykdomi „Groovy“?

Groovy palaiko paprastą scenarijų; tam nereikia klasės deklaracijos. Scenarijaus priekyje importavimas palaikomas taip pat, kaip jis gali būti klasės priekyje. Programoje „Groovy“ turite naudoti žodį def, jei norite deklaruoti funkciją už klasės ribų.

5) Paminėkite, kokias funkcijas siūlo „Groovy JDK“?

Groovy pridėjo naujų metodų, palyginti su senąja versija

  • Įvairūs masyvų tipai ir objektų srautai naujai orientuotais į Groovy metodais

kaip „Object.every ()“, „Object.each“ () ir kt., taip pat turi naujų funkcijų, tokių kaip „String BufferedReader.getText ()“ ir „InputStream.eachLine (Closure)“.

6) Paminėkite, koks yra uždarymo ir klausytojų vaidmuo „Groovy“?

Groovy nepalaiko anoniminių vidinių klasių; uždarymo priemonėmis galima nustatyti veiksmo klausytojus. „Groovy“ klausytojų uždarymas naudojamas kaip „ListenerAdapter“, kur yra nepaisomas tik vienas dominantis metodas.

7) Paaiškinkite, kaip galite pridėti dalykų prie klasės kelio, kai viskas vyksta groovy ar groovysh?

Galite pridėti dalykų prie savo aplinkos kintamojo $ CLASSPATH. Kita galimybė yra sukurti .groovy / lib katalogą savo namų kataloge ir pridėti visus stiklainius, kuriuos norite naudoti pagal numatytuosius nustatymus.

8) Paminėkite, kokia yra „Groovy“ licencija?

„Groovy“ vykdymo metu priklauso nuo ASM bibliotekos, taip pat „Java 1.4“ ir „Groovy jar“.

9) Paaiškinkite, kas yra „ExpandoMetaClass“ Groovy?

„ExpandoMetaClass“ naudojamas metodams, savybėms, statiniams metodams ir konstruktoriams pridėti. Pagal numatytuosius nustatymus „Expandoclass“ nepaveldima; turite paskambinti ExpandoMetaClass.enableGlobally ().

10) Paaiškinkite, kaip išreiškiama „Groovy“ eilutė?

Groovy stygos vadinamos Gstring.

  • Jį supa dvigubos kabutės, o eilinėms eilutėms naudojamos vienos kabutės
  • Jame gali būti „Groovy“ išraiškos, pažymėtos $ {}
  • Kvadratinio skliausto sintaksė gali būti taikoma kaip charAt (i)

11) Kaip galite gauti vieną vertę iš duomenų bazės naudodamiesi „Groovy“?

Norėdami atkurti vieną vertę iš duomenų bazės, galite naudoti komandą

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

12) Paaiškinkite, kaip galite pateikti užklausą „Groovy“?

Pažiūrėkime paprastą pavyzdį, kaip Groovy iškviečia užklausą

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) Paaiškinkite, kaip galite sukurti AST (Abstract Syntax Trees) Groovy iš eilutės?

Galite sukurti AST Groovy iš

  • Stygos
  • Kodas
  • Iš DSL kaip specifikacijos

„AstBuilder“ objektas suteikia API, kad būtų galima sukurti AST iš „Groovy Source Code“ eilučių. Pavyzdžiui

Išvardykite mazgus = naujas „AstBuilder“ (). buildFromString ("\" Sveiki \ "")

14) Paaiškinkite, kaip galite įtraukti groovy scenarijų į kitą groovy?

Naudodami šį kodą, galite įtraukti „groovy“ scenarijų su kitu „groovy“. Įdėjus šį kodą scenarijaus viršuje, jis atneš groovy failo turinį.

Įvertinti (naujas failas („… /tools/Tools.groovy“))

15) Paaiškinkite, kas yra Groovyshas?

„Groovysh“ yra komandinės eilutės programa, leidžianti lengvai pasiekti „Groovy“ išraiškas, apibrėžti klases ir vykdyti eksperimentus.

16) Paaiškinti „GroovyDoc“ komentarą?

Kaip ir kelių eilučių komentarai, taip ir „GroovyDoc“ komentarai yra daugiasluoksniai, tačiau jie prasideda ženklu / ** ir baigiasi * /. Tos pastabos susijusios su

  • Tipų apibrėžimai (klasės, sąsajos, sąrašai, anotacijos)
  • Laukų ir savybių apibrėžimai
  • Metodų apibrėžimai

17) Paaiškinkite, kas yra „Bitwise“ operatoriai Groovyje?

Operatoriai bitais gali būti įdiegti BYTE arba INT ir grąžinti bei INT. Operatoriai „Bitwise“ siūlo 4 operatorius

  • &: truputį "ir"
  • Aš: bitų „arba“
  • A: bitų pavidalu „xor“
  • ~: bitų neigimas

18) Išvardykite Groovy ir Java skirtumus?

  • Visi „Groovy“ paketai ir klasės yra importuojami pagal numatytuosius nustatymus, jums nereikia aiškiai naudoti importo sakinio
  • Skirtingai nuo „Java“, kur metodai pasirenkami kompiliavimo metu, „Groovy“ metodai parenkami pagal argumentus vykdymo metu
  • „{…}“ Blokas yra skirtas uždarymams, o tai reiškia, kad negalite kurti masyvo pažodžių su šia sintakse
  • Kaip ir „Java“, jei lauke nenurodysite modifikatoriaus, paketo privatus laukas nebus sukurtas
  • „Groovy“ nepalaiko automatinio išteklių valdymo ar ARM bloko iš „Java 7“
  • „Java 8 lambdas“ daugiau ar mažiau laikomos anoniminėmis vidinėmis klasėmis, o Groovy tokios sintaksės nepalaiko

19) Paaiškinkite priklausomybės nuo vynuogių vaidmenį Groovy?

Grape yra JAR priklausomybės vadybininkas, įtrauktas į „Groovy“. Tai leidžia jums greitai pridėti saugyklų priklausomybes prie savo klasės kelio, palengvinant scenarijų kūrimą. Paprasčiausias būdas yra anotacijos pridėjimas prie scenarijaus.

20) Paaiškinkite, ką rodo „JsonSlurper“ klasė?

„JsonSlurper“ yra klasė, analizuojanti JSON tekstą ar skaitytojo turinį į „Groovy“ duomenų struktūras (objektus), tokius kaip sąrašai, žemėlapiai ir primityvūs tipai, tokie kaip dviguba, Būlio, eilutė ir sveikasis skaičius.

21) Kai vadinamas „propertyMissing (String)“ metodas?

Metodas „propertyMissing (String)“ yra iškviečiamas, kai pagal „Groovy“ vykdymo laiką tam tikros nuosavybės getter metodas negali būti aptiktas.

22) Paminėkite, kokie reliaciniai operatoriai naudojami „Groovy“?

Reliaciniai operatoriai leidžia palyginti objektus, patikrinti, ar abu objektai yra skirtingi ar vienodi, ar vienas yra mažesnis, didesnis ar lygus kitiems.