Top 22 Întrebări despre interviu Groovy & Răspunsuri

Anonim

Descărcați PDF

1) Explicați ce este Groovy?

Groovy este un limbaj de programare orientat pe obiecte pentru JVM (Java Virtual Machines). Este folosit pentru a combina module Java, pentru a scrie aplicații Java și pentru a extinde aplicația Java existentă.

2) De ce să folosești Groovy?

  • Pentru programatorii Java oferă o sintaxă familiară
  • Are un stoc bogat de biblioteci Java
  • Se integrează cu ușurință cu infrastructura dvs. existentă, cum ar fi Containere Servlet, Servere App, O mulțime de baze de date cu drivere JDBC,
  • Complet orientat spre obiect
  • Are o piesă de cod reutilizabilă și atribuibilă
  • Operatorii pot fi supraîncărcați
  • Declarație literală pentru hărți, tablouri, intervale și expresii regulate
  • Are o navigație eficientă a obiectelor

3) Care este limitarea Groovy?

  • Groovy poate fi mai lent
  • Groovy ar putea avea nevoie de multă memorie
  • Timpul de pornire groovy necesită îmbunătățiri
  • Necesită cunoștințe Java
  • Uneori este nevoie să te folosești de Sintaxă nouă, închideri, tastare implicită,
  • Documentarea este subțire

4) Explicați cum sunt rulate scripturile în Groovy?

Groovy acceptă script simplu; nu necesită o declarație de clasă. În partea din față a scriptului, importurile sunt acceptate în același mod în care poate fi în partea din față a unei clase. În Groovy, trebuie să utilizați cuvântul def pentru a declara o funcție în afara unei clase.

5) Menționați care sunt unele caracteristici pe care le oferă Groovy JDK?

Groovy a adăugat noi metode în comparație cu versiunea veche, cum ar fi

  • Diverse tipuri de matrice și fluxuri de obiecte cu metode nou orientate Groovy

precum Object.every (), Object.each () etc. și includ, de asemenea, funcții noi precum „String BufferedReader.getText ()” și „InputStream.eachLine (Closure)”.

6) Menționează care este rolul închiderii și al ascultătorilor în Groovy?

Groovy nu acceptă clase interioare anonime; este posibil să se determine ascultătorii de acțiune în linie prin mijloacele de închidere. În Groovy, închiderea ascultătorilor este utilizată ca ListenerAdapter în care este exclusă o singură metodă de interes.

7) Explicați cum puteți adăuga lucruri pe calea clasei atunci când executați lucruri în groovy sau groovysh?

Puteți adăuga lucruri la variabila de mediu $ CLASSPATH. O altă posibilitate este să creați un director .groovy / lib în directorul dvs. de acasă și să adăugați orice borcane doriți să fie disponibile în mod implicit.

8) Menționează care este licența pentru Groovy?

Groovy depinde la runtime de biblioteca ASM, precum și de Java 1.4 și jarul Groovy.

9) Explicați ce este ExpandoMetaClass în Groovy?

ExpandoMetaClass este folosit pentru a adăuga metode, proprietăți, metode statice și constructori. Expandoclasa nu este moștenită în mod implicit; trebuie să apelați ExpandoMetaClass.enableGlobally ().

10) Explicați cum este exprimat șirul Groovy?

Șirul groovy este denumit Gstring.

  • Este înconjurat de ghilimele duble, pentru șirurile obișnuite folosește ghilimele simple
  • Poate conține Groovy Expressions notate în $ {}
  • Sintaxa parantezei pătrate poate fi aplicată la fel ca charAt (i)

11) Cum ați putea recupera o singură valoare din baza de date folosind Groovy?

Pentru a recupera o singură valoare din baza de date puteți utiliza comanda

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

12) Explicați cum puteți interoga în Groovy?

Să vedem un exemplu simplu al modului în care Groovy apelează interogarea

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) Explicați cum puteți construi AST (Abstract Syntax Trees) în Groovy din șir?

Puteți construi AST în Groovy din

  • Siruri de caractere
  • Cod
  • Din specificațiile DSL

Un obiect AstBuilder oferă un API pentru a construi AST din șiruri de cod sursă Groovy. De exemplu

Listează nodurile = nou AstBuilder (). buildFromString ("\" Bună ziua \ "")

14) Explicați cum puteți include un scenariu groovy într-un alt groovy?

Puteți include un script groovy cu un alt groovy utilizând următorul cod. Când puneți acest cod în partea de sus a scriptului, acesta va aduce conținutul unui fișier groovy.

Evaluare (fișier nou („... /tools/Tools.groovy”))

15) Explicați ce este Groovysh?

Groovysh este o aplicație de linie de comandă care permite un acces ușor pentru a evalua expresiile Groovy, a defini clase și a rula experimente.

16) Explicați comentariul GroovyDoc?

La fel ca comentariile cu mai multe linii, comentariile GroovyDoc sunt multiliniene, dar începe cu a / ** și se termină cu * /. Aceste comentarii sunt legate de

  • Tipul definițiilor (clase, interfețe, enumere, adnotări)
  • Definiții de câmpuri și proprietăți
  • Definiții ale metodelor

17) Explicați ce sunt operatorii Bitwise în Groovy?

Operatorii bitwise pot fi implementați pe un BYTE sau un INT și return și INT. Operatorii bitwise oferă 4 operatori bitwise

  • &: bitwise "și"
  • I: bitwise "sau"
  • A: bitor "xor"
  • ~: negare bitwise

18) Enumerați diferențele dintre Groovy și Java?

  • Toate pachetele și clasele din Groovy sunt importate în mod implicit, nu trebuie să utilizați în mod explicit declarația de import
  • Spre deosebire de Java, unde metodele sunt alese în timpul compilării, metodele din Groovy sunt alese pe baza tipurilor de argumente în timp de execuție
  • În blocul {...} este rezervat închiderilor, ceea ce înseamnă că nu puteți crea litere de matrice cu această sintaxă
  • Ca și în Java, omiterea unui modificator pe un câmp nu are ca rezultat un câmp privat de pachet
  • Gestionarea automată a resurselor sau blocul ARM din java 7 nu sunt acceptate în Groovy
  • Java 8 lambda sunt mai mult sau mai puțin considerate ca clase interioare anonime, iar Groovy nu acceptă această sintaxă

19) Explicați rolul dependenței de struguri în Groovy?

Grape este un manager de dependență JAR inclus în Groovy. Vă permite să adăugați rapid dependențe de depozitare maven la calea dvs. de clasă, facilitând scriptarea. Cea mai simplă utilizare este adăugarea unei adnotări la script.

20) Explicați ce indică clasa JsonSlurper?

JsonSlurper este o clasă care analizează textul JSON sau conținutul cititorului în structuri de date Groovy (obiecte), cum ar fi liste, hărți și tipuri primitive, cum ar fi dublu, boolean, șir și întreg.

21) Când se apelează metoda „propertyMissing (String)”?

Metoda "propertyMissing (String)" este apelată atunci când nicio metodă getter pentru o anumită proprietate nu poate fi detectată de runtime-ul Groovy.

22) Menționează pentru ce operatori relaționali este folosit în Groovy?

Operatorii relaționali vă permit să comparați între obiecte, să verificați dacă cele două obiecte sunt diferite sau aceleași sau dacă unul este mai mic decât, mai mare sau egal cu altele.