22 vprašanj za intervju z Groovyjem & Odgovori

Anonim

Prenesite PDF

1) Pojasnite, kaj je Groovy?

Groovy je objektno usmerjen programski jezik za JVM (Java Virtual Machines). Uporablja se za kombiniranje modulov Java, pisanje javanskih programov in razširitev obstoječe javanske aplikacije.

2) Zakaj uporabljati Groovy?

  • Programerjem Java zagotavlja znano sintakso
  • Ima bogato zalogo knjižnic Java
  • Z lahkoto se integrira z vašo obstoječo infrastrukturo, kot so zabojniki za strežniški program, strežniki aplikacij, veliko baz podatkov z gonilniki JDBC,
  • Popolnoma objektno usmerjeno
  • Ima kosov kode za večkratno uporabo in dodelitev
  • Operaterji so lahko preobremenjeni
  • Dobesedna izjava za zemljevide, polja, obsege in regularne izraze
  • Ima učinkovito navigacijo po objektih

3) Kakšna je omejitev Groovyja?

  • Groovy je lahko počasnejši
  • Groovy bo morda potreboval veliko pomnilnika
  • Groovy čas zagona zahteva izboljšanje
  • Zahteva znanje Java
  • Včasih je treba uporabiti, da bi všečkali Novo sintakso, zapore, privzeto tipkanje,
  • Dokumentacija je tanka

4) Pojasnite, kako se skripti izvajajo v Groovyju?

Groovy podpira navaden skript; ne zahteva izjave razreda. Na sprednji strani skripta je uvoz podprt na enak način, kot je lahko na sprednji strani razreda. V Groovyju morate z besedo def uporabiti funkcijo zunaj razreda.

5) Omenite, katere funkcije ponuja Groovy JDK?

Groovy je dodal nove metode v primerjavi s staro različico, kot je

  • Različni tipi matrik in tokovi predmetov z novimi metodami, usmerjenimi v Groovy

kot so Object.every (), Object.each () itd. in vključujejo tudi nove funkcije, kot so "String BufferedReader.getText ()" in "InputStream.eachLine (zaprtje)".

6) Omenite, kakšna je vloga zapiranja in poslušalcev v Groovyju?

Groovy ne podpira anonimnih notranjih razredov; poslušalce akcij je mogoče določiti v vrstici s pomočjo zapore. V Groovyju se zapiranje poslušalcev uporablja kot adapter ListenerAdapter, kjer je preglašena samo ena zanimiva metoda.

7) Pojasnite, kako lahko dodajate stvari v učno pot, ko izvajate stvari v groovy ali groovysh?

Stvari lahko dodate v spremenljivko okolja $ CLASSPATH. Druga možnost je, da v domačem imeniku sestavite imenik .groovy / lib in dodate vse kozarce, za katere želite, da so privzeto na voljo.

8) Omenite, kakšna je licenca za Groovy?

Groovy so med izvajanjem odvisni od knjižnice ASM, pa tudi od Jave 1.4 in kozarca Groovy.

9) Pojasnite, kaj je ExpandoMetaClass v Groovyju?

ExpandoMetaClass se uporablja za dodajanje metod, lastnosti, statičnih metod in konstruktorjev. Expandoclass privzeto ne podeduje; morate poklicati ExpandoMetaClass.enableGlobally ().

10) Pojasnite, kako se izraža Groovyjev niz?

Groovy string se imenuje Gstring.

  • Obdan je z dvojnimi narekovaji, za običajne nize pa uporablja enojne narekovaje
  • Lahko vsebuje Groovy Expressions, zabeležene v $ {}
  • Sintaksa oglatih oklepajev se lahko uporablja kot charAt (i)

11) Kako lahko z uporabo Groovyja pridobite eno vrednost iz podatkovne baze?

Če želite obnoviti eno vrednost iz baze podatkov, lahko uporabite ukaz

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

12) Pojasnite, kako lahko poizvedujete v Groovyju?

Oglejmo si preprost primer, kako Groovy pokliče poizvedbo

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) Pojasnite, kako lahko iz niza zgradite AST (Abstraktna sintaksna drevesa) v Groovyju?

AST lahko zgradite v Groovyju iz

  • Strune
  • Koda
  • Iz specifikacije DSL

Objekt AstBuilder ponuja API za gradnjo AST iz nizov izvorne kode Groovy. Na primer

Seznam vozlišč = nov AstBuilder (). buildFromString ("\" Pozdravljeni \ "")

14) Pojasnite, kako lahko v drug groovy vključite groovy scenarij?

Z naslednjo kodo lahko vključite groovy skript z drugim groovyjem. Ko to kodo postavite na vrh skripta, bo prinesla vsebino groovy datoteke.

Oceni (nova datoteka ("... /tools/Tools.groovy"))

15) Pojasnite, kaj je Groovysh?

Groovysh je aplikacija ukazne vrstice, ki omogoča enostaven dostop do ocene izrazov Groovy, definiranja razredov in izvajanja poskusov.

16) Pojasnite komentar GroovyDoc?

Tako kot večvrstični komentarji so tudi pri GroovyDoc komentarji večvrstični, vendar se začne z / ** in konča z * /. Ti komentarji so povezani z

  • Definicije tipov (razredi, vmesniki, naštevanja, pripisi)
  • Definicije polj in lastnosti
  • Definicije metod

17) Pojasnite, kaj so bitni operaterji v Groovyju?

Bitne operaterje je mogoče implementirati na BYTE ali INT ter vrniti in INT. Bitni operaterji ponujajo 4 bitne operatorje

  • &: bitno "in"
  • I: bitno "ali"
  • A: bitni "xor"
  • ~: bitna negacija

18) Naštejte razlike med Groovyjem in Javo?

  • Vsi paketi in razredi v Groovyju so privzeto uvoženi, izjave za uvoz vam ni treba izrecno uporabljati
  • Za razliko od Jave, kjer so metode izbrane v času prevajanja, so metode v Groovyju izbrane na podlagi vrst argumentov med izvajanjem
  • V {…} je blok rezerviran za zapore, kar pomeni, da s to sintakso ne morete zgraditi matričnih literalov
  • Tako kot v Javi izpustitev modifikatorja na polju ne povzroči zasebnega polja paketa
  • Samodejno upravljanje virov ali ARM blok iz jave 7 v Groovyju ni podprt
  • Lambde Java 8 se bolj ali manj štejejo za anonimne notranje razrede in Groovy te sintakse ne podpira

19) Pojasnite vlogo odvisnosti od grozdja v Groovyju?

Grape je upravitelj odvisnosti JAR, vključen v Groovy. Omogoča vam hitro dodajanje odvisnosti repozitorija maven v svojo učilno pot, kar olajša skriptiranje. Najenostavnejša uporaba je dodajanje pripisa skriptu.

20) Pojasnite, na kaj kaže razred JsonSlurper?

JsonSlurper je razred, ki razčleni besedilo ali bralno vsebino JSON v podatkovne strukture (predmete) Groovy, kot so seznami, zemljevidi in primitivni tipi, kot so dvojni, logični, niz in celoštevilo.

21) Kdaj se pokliče metoda "propertyMissing (String)"?

Metoda "propertyMissing (String)" se prikliče, kadar izvajalno okolje Groovyja ne zazna nobene getter metode za določeno lastnost.

22) Omenite, za kaj se v Groovyju uporabljajo relacijski operaterji?

Relacijski operator vam omogoča primerjavo med predmeti, preverjanje, ali sta oba predmeta različna ali enaka ali je eden manjši, večji ali enak drugim.