Le 22 migliori domande per i colloqui di Groovy e amp; Risposte

Anonim

Scarica il pdf

1) Spiega cos'è Groovy?

Groovy è un linguaggio di programmazione orientato agli oggetti per JVM (Java Virtual Machines). Viene utilizzato per combinare moduli Java, per scrivere applicazioni Java e per estendere l'applicazione Java esistente.

2) Perché usare Groovy?

  • Per i programmatori Java fornisce una sintassi familiare
  • Ha un ricco stock di librerie Java
  • Si integra facilmente con la tua infrastruttura esistente come Servlet Containers, App Server, carichi di database con driver JDBC,
  • Completamente orientato agli oggetti
  • Possiede parti di codice riutilizzabili e assegnabili
  • Gli operatori possono essere sovraccaricati
  • Dichiarazione letterale per mappe, array, intervalli ed espressioni regolari
  • Ha una navigazione efficiente degli oggetti

3) Qual è il limite di Groovy?

  • Groovy può essere più lento
  • Groovy potrebbe aver bisogno di molta memoria
  • Il tempo di avvio di Groovy richiede miglioramenti
  • Richiede la conoscenza di Java
  • A volte ci vuole per abituarsi ad apprezzare la Nuova sintassi, le chiusure, la digitazione predefinita,
  • La documentazione è scarsa

4) Spiegare come vengono eseguiti gli script in Groovy?

Groovy supporta script semplici; non richiede una dichiarazione di classe. Nella parte anteriore dello script, le importazioni sono supportate nello stesso modo in cui possono essere all'inizio di una classe. In Groovy, devi usare la parola def per dichiarare una funzione al di fuori di una classe.

5) Indica quali sono alcune funzionalità offerte da Groovy JDK?

Groovy ha aggiunto nuovi metodi rispetto alla vecchia versione come

  • Vari tipi di array e flussi di oggetti con nuovi metodi orientati a Groovy

come Object.every (), Object.each () ecc. e includono anche nuove funzionalità come "String BufferedReader.getText ()" e "InputStream.eachLine (Closure)".

6) Indica qual è il ruolo della chiusura e degli ascoltatori in Groovy?

Groovy non supporta classi interne anonime; è possibile determinare gli ascoltatori di azione in linea attraverso i mezzi di chiusura. In Groovy, la chiusura dei listener viene utilizzata come ListenerAdapter in cui viene ignorato un solo metodo di interesse.

7) Spiega come puoi aggiungere cose al classpath quando esegui cose in groovy o groovysh?

Puoi aggiungere cose alla tua variabile d'ambiente $ CLASSPATH. Un'altra possibilità è creare una directory .groovy / lib nella directory home e aggiungere i file jar che si desidera rendere disponibili per impostazione predefinita.

8) Indica qual è la licenza di Groovy?

Groovy dipende in fase di esecuzione dalla libreria ASM, da Java 1.4 e dal jar Groovy.

9) Spiega cos'è ExpandoMetaClass in Groovy?

ExpandoMetaClass viene utilizzato per aggiungere metodi, proprietà, metodi statici e costruttori. Expandoclass non viene ereditato per impostazione predefinita; devi chiamare ExpandoMetaClass.enableGlobally ().

10) Spiega come viene espressa la stringa Groovy?

La stringa Groovy è indicata come Gstring.

  • È racchiuso tra virgolette doppie, per le stringhe regolari utilizza virgolette singole
  • Può contenere espressioni Groovy annotate in $ {}
  • La sintassi delle parentesi quadre può essere applicata come charAt (i)

11) Come hai potuto recuperare un singolo valore dal database utilizzando Groovy?

Per recuperare un singolo valore dal database è possibile utilizzare il comando

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

12) Spiega come puoi eseguire query in Groovy?

Vediamo un semplice esempio di come Groovy chiama la query

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) Spiega come puoi costruire AST (Abstract Syntax Trees) in Groovy dalla stringa?

Puoi creare AST in Groovy da

  • stringhe
  • Codice
  • Da DSL come specifica

Un oggetto AstBuilder fornisce un'API per creare AST da stringhe di codice sorgente Groovy. Per esempio

Elenca nodi = new AstBuilder (). buildFromString ("\" Hello \ "")

14) Spiega come puoi includere una sceneggiatura fantastica in un'altra fantastica?

Puoi includere uno script groovy con un altro groovy utilizzando il codice seguente. Quando metti questo codice all'inizio dello script, porterà il contenuto di un file fantastico.

Valuta (nuovo file ("… /tools/Tools.groovy"))

15) Spiega cos'è Groovysh?

Groovysh è un'applicazione a riga di comando che consente un facile accesso per valutare espressioni Groovy, definire classi ed eseguire esperimenti.

16) Spiega il commento di GroovyDoc?

Come i commenti su più righe, i commenti di GroovyDoc sono su più righe ma iniziano con / ** e finiscono con * /. Quei commenti sono correlati con

  • Definizioni di tipo (classi, interfacce, enumerazioni, annotazioni)
  • Definizioni di campi e proprietà
  • Definizioni dei metodi

17) Spiega cosa sono gli operatori bitwise in Groovy?

Gli operatori bit per bit possono essere implementati su un BYTE o un INT e restituire e INT. Gli operatori bit per bit offrono 4 operatori bit per bit

  • &: bit per bit "e"
  • I: bit a bit "o"
  • A: bit per bit "xor"
  • ~: negazione bit per bit

18) Elenca le differenze tra Groovy e Java?

  • Tutti i pacchetti e le classi in Groovy vengono importati per impostazione predefinita, non è necessario utilizzare esplicitamente l'istruzione import
  • A differenza di Java in cui i metodi vengono scelti in fase di compilazione, i metodi in Groovy vengono scelti in base ai tipi di argomenti in fase di esecuzione
  • In {…} il blocco è riservato alle chiusure, il che significa che non è possibile creare valori letterali di array con questa sintassi
  • Come in Java, l'omissione di un modificatore su un campo non si traduce in un campo privato del pacchetto
  • La gestione automatica delle risorse o il blocco ARM da java 7 non sono supportati in Groovy
  • I lambda Java 8 sono più o meno considerati classi interne anonime e Groovy non supporta questa sintassi

19) Spiegare il ruolo della dipendenza dall'uva in Groovy?

Grape è un gestore delle dipendenze JAR incluso in Groovy. Ti consente di aggiungere rapidamente le dipendenze del repository maven al tuo classpath, semplificando lo scripting. L'utilizzo più semplice è l'aggiunta di un'annotazione al tuo script.

20) Spiega cosa indica la classe JsonSlurper?

JsonSlurper è una classe che analizza il testo JSON o il contenuto del lettore in strutture di dati Groovy (oggetti) come elenchi, mappe e tipi primitivi come double, Boolean, string e Integer.

21) Quando viene chiamato il metodo "propertyMissing (String)"?

Il metodo "propertyMissing (String)" viene chiamato quando nessun metodo getter per una data proprietà può essere rilevato dal runtime di Groovy.

22) Indica quali operatori relazionali vengono utilizzati in Groovy?

Gli operatori relazionali consentono di confrontare tra oggetti, per verificare se i due oggetti sono diversi o uguali o se uno è minore, maggiore o uguale ad altri.