Top 22 Groovy Interview Questions & Odpovědi

Obsah

Stáhnout PDF

1) Vysvětlete, co je Groovy?

Groovy je objektově orientovaný programovací jazyk pro JVM (Java Virtual Machines). Používá se ke kombinování modulů Java, k psaní aplikací Java a k rozšiřování stávajících aplikací Java.

2) Proč používat Groovy?

  • Pro programátory Java poskytuje známou syntaxi
  • Má bohatou zásobu knihoven Java
  • Snadno se integruje s vaší stávající infrastrukturou, jako jsou Servlet Containers, App Servers, spousty databází s ovladači JDBC,
  • Zcela objektově orientovaný
  • Má opakovaně použitelné a přiřaditelné části kódu
  • Operátoři mohou být přetíženi
  • Doslovná deklarace pro mapy, pole, rozsahy a regulární výrazy
  • Má efektivní navigaci po objektech

3) Jaké je omezení Groovy?

  • Groovy může být pomalejší
  • Groovy možná potřebuje spoustu paměti
  • Groovy doba spuštění vyžaduje zlepšení
  • Vyžaduje znalosti jazyka Java
  • Někdy trvá, než si zvyknete mít rád New Syntax, uzávěry, výchozí psaní,
  • Dokumentace je tenká

4) Vysvětlete, jak jsou skripty spuštěny v Groovy?

Groovy podporuje prostý skript; nevyžaduje deklaraci třídy. V přední části skriptu jsou importy podporovány stejným způsobem, jako to může být v přední části třídy. V Groovy musíte použít word def k deklaraci funkce mimo třídu.

5) Uveďte, jaké funkce nabízí Groovy JDK?

Groovy přidal nové metody ve srovnání se starou verzí jako

  • Různé typy polí a datové proudy objektů s nově Groovy orientovanými metodami

jako Object.every (), Object.each () atd. a také obsahují nové funkce jako „String BufferedReader.getText ()“ a „InputStream.eachLine (Closure)“.

6) Uveďte, jaká je role uzavření a posluchačů v Groovy?

Groovy nepodporuje anonymní vnitřní třídy; je možné určit posluchače akcí přímo prostřednictvím uzávěrek. V Groovy se naslouchací uzávěr používá jako ListenerAdapter, kde je přepsána pouze jedna metoda zájmu.

7) Vysvětlete, jak můžete přidat věci do cesty ke třídě, když běžíte věci v groovy nebo groovysh?

Do své proměnné prostředí $ CLASSPATH můžete přidat věci. Další možností je vytvořit adresář .groovy / lib ve svém domovském adresáři a připojit jakékoli sklenice, které chcete mít ve výchozím nastavení k dispozici.

8) Uveďte, jaká je licence pro Groovy?

Groovy závisí za běhu na knihovně ASM, stejně jako na Java 1.4 a Groovy jar.

9) Vysvětlete, co je ExpandoMetaClass v Groovy?

ExpandoMetaClass se používá k přidání metod, vlastností, statických metod a konstruktorů. Expandoclass ve výchozím nastavení nedědí; musíte zavolat ExpandoMetaClass.enableGlobally ().

10) Vysvětlete, jak je vyjádřen Groovy řetězec?

Groovy řetězec se označuje jako Gstring.

  • Je obklopen dvojitými uvozovkami, pro běžné řetězce používá jednoduché uvozovky
  • Může obsahovat výrazy Groovy uvedené v $ {}
  • Syntaxe hranatých závorek lze použít jako charAt (i)

11) Jak byste mohli pomocí Groovy načíst jedinou hodnotu z databáze?

Chcete-li obnovit jednu hodnotu z databáze, můžete použít příkaz

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

12) Vysvětlete, jak můžete dotazovat v Groovy?

Podívejme se na jednoduchý příklad toho, jak Groovy volá dotaz

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) Vysvětlete, jak můžete z řetězce sestavit AST (Abstract Syntax Trees) v Groovy?

Můžete vytvořit AST v Groovy z

  • Struny
  • Kód
  • Ze specifikace jako DSL

Objekt AstBuilder poskytuje API pro sestavení AST z řetězců zdrojového kódu Groovy. Například

Seznam uzlů = nový AstBuilder (). buildFromString ("\" Dobrý den \ "")

14) Vysvětlete, jak můžete zahrnout groovy skript do jiného groovy?

Groovy skript můžete zahrnout do jiného groovy pomocí následujícího kódu. Když umístíte tento kód do horní části skriptu, přinese obsah groovy souboru.

Vyhodnotit (nový soubor („… /tools/Tools.groovy“))

15) Vysvětlete, co je Groovysh?

Groovysh je aplikace příkazového řádku, která umožňuje snadný přístup k vyhodnocení výrazů Groovy, definování tříd a provádění experimentů.

16) Vysvětlete komentář GroovyDoc?

Stejně jako víceřádkové komentáře, i komentáře GroovyDoc jsou víceřádkové, ale začíná na / ** a končí na * /. Tyto komentáře souvisejí s

  • Definice typů (třídy, rozhraní, výčty, anotace)
  • Definice polí a vlastností
  • Definice metod

17) Vysvětlete, co jsou bitoví operátoři v Groovy?

Bitové operátory lze implementovat na BYTE nebo INT a return a INT. Bitové operátory nabízejí 4 bitové operátory

  • &: bitové "a"
  • I: bitové „nebo“
  • A: bitový "xor"
  • ~: bitová negace

18) Seznam rozdílů mezi Groovy a Java?

  • Ve výchozím nastavení se importují všechny balíčky a třídy v Groovy, nemusíte explicitně používat příkaz import
  • Na rozdíl od Javy, kde jsou metody vybírány v době kompilace, jsou metody v Groovy vybírány na základě typů argumentů za běhu
  • V bloku {…} je vyhrazen uzávěrka, což znamená, že s touto syntaxí nelze vytvářet literály pole
  • Stejně jako v Javě nemá vynechání modifikátoru u pole za následek soukromé pole balíčku
  • Automatická správa zdrojů nebo blok ARM z Java 7 nejsou v Groovy podporovány
  • Lambdy Java 8 jsou víceméně považovány za anonymní vnitřní třídy a Groovy tuto syntaxi nepodporuje

19) Vysvětlete roli závislosti na hroznu v Groovy?

Grape je správce závislostí JAR zahrnutý do Groovy. Umožňuje vám rychle přidat závislosti úložiště maven do vaší cesty ke třídě, což usnadňuje skriptování. Nejjednodušší použití je přidání poznámky do skriptu.

20) Vysvětlete, co označuje třída JsonSlurper?

JsonSlurper je třída, která analyzuje text JSON nebo obsah čtečky do datových struktur (objektů) Groovy, jako jsou seznamy, mapy a primitivní typy, jako jsou double, Boolean, string a Integer.

21) Kdy se volá metoda „propertyMissing (String)“?

Metoda "propertyMissing (String)" se volá, když Groovy runtime nezjistí žádnou getrovou metodu pro danou vlastnost.

22) Uveďte, na jaké relační operátory se v Groovy používá?

Relační operátory vám umožňují porovnávat mezi objekty a zkontrolovat, zda jsou dva objekty odlišné nebo stejné, nebo zda je jeden menší než, větší než nebo stejný ostatním.

Zajímavé články...