22 parimat Groovy intervjuuküsimust ja Vastused

Anonim

Laadige alla PDF

1) Selgitage, mis on Groovy?

Groovy on JVM-i (Java virtuaalsed masinad) objektorienteeritud programmeerimiskeel. Seda kasutatakse Java-moodulite kombineerimiseks, Java-rakenduse kirjutamiseks ja olemasoleva Java-rakenduse laiendamiseks.

2) Miks kasutada Groovyt?

  • Java-programmeerijatele pakub see tuttavat süntaksit
  • Sellel on rikkalikult Java-raamatukogude varu
  • See hõlpsasti integreerub teie olemasoleva infrastruktuuriga, näiteks Servleti konteinerid, rakenduste serverid, koormused JDBC draiveritega andmebaasidega,
  • Täielikult objektile orienteeritud
  • Sellel on korduvkasutatavad ja määratavad koodijupid
  • Operaatorid võivad olla ülekoormatud
  • Kaartide, massiivide, vahemike ja regulaaravaldiste sõnasõnaline deklaratsioon
  • Sellel on tõhus objektide navigeerimine

3) Mis on Groovy piirang?

  • Groovy võib olla aeglasem
  • Groovy võib vajada palju mälu
  • Groovy käivitusaeg vajab parandamist
  • See nõuab Java-teadmisi
  • Mõnikord võtab kasutusele uus süntaks, sulgemised, vaiketippimine,
  • Dokumentatsioon on õhuke

4) Selgitage, kuidas skripte Groovys käitatakse?

Groovy toetab tavalist skripti; see ei nõua klassi deklaratsiooni. Skripti esiküljel toetatakse importimist samamoodi, nagu see võib olla klassi esiküljel. Funktsioonis väljaspool klassi kuulutamiseks peate Groovys kasutama sõna def .

5) Mainige, milliseid funktsioone pakub Groovy JDK?

Groovy on lisanud uued meetodid võrreldes vana versiooniga

  • Erinevad massiivitüübid ja objektivood äsja Groovyle orienteeritud meetoditega

nagu Object.every (), Object.each () jne ja sisaldavad ka uusi funktsioone nagu "String BufferedReader.getText ()" ja "InputStream.eachLine (Closure)".

6) Mainige, milline on Groovys sulgemise ja kuulajate roll?

Groovy ei toeta anonüümseid siseklasse; sulgemiste abil on võimalik tegevuskuulajaid otseselt kindlaks määrata. Groovys kasutatakse kuulajate sulgemist ListenerAdapterina, kus tühistatakse ainult üks huvipakkuv meetod.

7) Selgitage, kuidas saate klassirajale kraami lisada, kui ajate asju groovy või groovysh?

Saate lisada asju oma keskkonnamuutujale $ CLASSPATH. Teine võimalus on ehitada oma kodukataloogi kataloog .groovy / lib ja lisada kõik purgid, mida soovite vaikimisi saada.

8) Mainige, mis on Groovy litsents?

Groovy sõltub käituse ajal nii ASM-i teegist kui ka Java 1.4-st ja Groovy purgist.

9) Selgitage, mis on Groovys ExpandoMetaClass?

ExpandoMetaClassi kasutatakse meetodite, omaduste, staatiliste meetodite ja konstruktorite lisamiseks. Expandoclass ei ole vaikimisi päritud; peate helistama ExpandoMetaClass.enableGlobally ().

10) Selgitage, kuidas Groovy string väljendub?

Groovy stringi nimetatakse Gstringiks.

  • See on ümbritsetud topelt jutumärkidega, tavaliste stringide jaoks kasutab see üksikuid jutumärke
  • See võib sisaldada Groovy väljendeid, mis on märgitud teenuses $ {}
  • Ruudusulgude süntaksit saab rakendada nagu charAt (i)

11) Kuidas saaksite Groovy abil andmebaasist ühe väärtuse hankida?

Üksiku väärtuse taastamiseks andmebaasist saate kasutada käsku

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

12) Selgitage, kuidas saate Groovys päringuid teha?

Vaatame lihtsat näidet selle kohta, kuidas Groovy päringu välja kutsub

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) Selgitage, kuidas saate Groovys stringist AST-d (Abstract Syntax Puud) ehitada?

AST-i saate Groovys ehitada alates

  • Keelpillid
  • Kood
  • Alates DSL-st nagu spetsifikatsioon

AstBuilderi objekt pakub API-d AST-i loomiseks Groovy lähtekoodi stringidest. Näiteks

Nimekiri sõlmed = uus AstBuilder (). buildFromString ("\" Tere \ "")

14) Selgitage, kuidas saate lisada groovy skripti teise groovy?

Võite lisada groovy skripti teise grooviga, kasutades järgmist koodi. Kui panete selle koodi skripti ülaossa, toob see sisse groovy-faili sisu.

Hindamine (uus fail ("... /tools/Tools.groovy"))

15) Selgitage, mis on Groovysh?

Groovysh on käsurea rakendus, mis võimaldab hõlpsat juurdepääsu Groovy avaldiste hindamiseks, klasside määratlemiseks ja eksperimentide käivitamiseks.

16) Kas selgitada GroovyDoci kommentaari?

Nagu mitmerealised kommentaarid, on ka GroovyDoci kommentaarid mitmerealised, kuid see algab tähega / ** ja lõpeb tähega * /. Need kommentaarid on seotud

  • Tüüpide definitsioonid (klassid, liidesed, loendid, märkused)
  • Väljade ja omaduste määratlused
  • Meetodite definitsioonid

17) Selgitage, mis on Groovy Bitwise operaatorid?

Bitipõhiseid operaatoreid saab rakendada BYTE-l või INT-il ja tagasipöördumisel ja INT-il. Bitipõhised operaatorid pakuvad 4 bitipidi operaatorit

  • &: bititi "ja"
  • I: bititi "või"
  • V: bitipidi "xor"
  • ~: bitine eitus

18) Loetlege Groovy ja Java erinevused?

  • Kõik Groovy paketid ja klassid imporditakse vaikimisi, te ei pea importimiskäsu selgesõnaliselt kasutama
  • Erinevalt Java-st, kus meetodid valitakse kompileerimise ajal, valitakse Groovy-s olevad meetodid käitusaegsete argumentide tüüpide põhjal
  • Plokis {…} on reserveeritud sulgemised, mis tähendab, et selle süntaksiga ei saa massiivi literaale ehitada
  • Sarnaselt Java-ga ei kaasne väljal modifikaatori väljajätmisega paketi privaatset välja
  • Automaatne ressursside haldamine või jama 7 ARM-plokk ei ole Groovy toetatud
  • Java 8 lambdasid peetakse enam-vähem anonüümseteks siseklassideks ja Groovy ei toeta seda süntaksit

19) Selgitage viinamarjasõltuvuse rolli Groovys?

Grape on Groovy koosseisu kuuluv JAR-i sõltuvushaldur. See võimaldab teil lisada klassirajale kiiresti selgitatud hoidlasõltuvused, mis muudab skriptimise lihtsamaks. Lihtsaim kasutusala on skripti märkuse lisamine.

20) Selgitage, mida näitab klass JsonSlurper?

JsonSlurper on klass, mis sõelub JSON-i teksti või lugeja sisu Groovy andmestruktuurideks (objektideks), näiteks loenditeks, kaartideks ja primitiivseteks tüüpideks nagu double, Boolean, string ja Integer.

21) Kui nimetatakse meetodit "propertyMissing (String)"?

Meetodit "propertyMissing (String)" kutsutakse siis, kui Groovy käitusaeg ei suuda tuvastada atribuudi jaoks ühtegi getter-meetodit.

22) Mainige, milliseid relatsioonioperaatoreid Groovys kasutatakse?

Relatsioonoperaatorid võimaldavad teil objekte võrrelda, et kontrollida, kas need kaks objekti on erinevad või samad või kas üks neist on väiksem, suurem või võrdne teistega.