A 22 legnépszerűbb Groovy interjúkérdés és amp; Válaszok

Anonim

PDF letöltése

1) Magyarázza el, mi az a Groovy?

A Groovy a JVM (Java Virtual Machines) objektum-orientált programozási nyelve. Java modulok kombinálására, Java alkalmazások írására és a meglévő Java alkalmazások kibővítésére szolgál.

2) Miért érdemes használni a Groovyt?

  • A Java programozók számára megszokott szintaxist biztosít
  • Gazdag Java-könyvtárakkal rendelkezik
  • Könnyen integrálható a meglévő infrastruktúrával, mint például a Servlet-konténerek, az App-kiszolgálók, a rengeteg adatbázis a JDBC-illesztőprogramokkal,
  • Teljesen objektumorientált
  • Újrafelhasználható és hozzárendelhető kóddarabokkal rendelkezik
  • Az üzemeltetők túlterhelhetők
  • Szó szerinti deklaráció térképekhez, tömbökhöz, tartományokhoz és reguláris kifejezésekhez
  • Hatékony objektumnavigációval rendelkezik

3) Mi a Groovy korlátozása?

  • Groovy lassabb lehet
  • Groovynak sok memóriára lehet szüksége
  • A Groovy indítási ideje javulást igényel
  • Java ismereteket igényel
  • Néha szükség van az új szintaxis, bezárások, alapértelmezett gépelés,
  • A dokumentáció vékony

4) Magyarázza el, hogyan futnak a szkriptek Groovy-ban?

Groovy támogatja a sima szkriptet; nem igényel osztálynyilatkozatot. A szkript elején az importálás ugyanúgy támogatott, mint egy osztály elején. A Groovy-ban a def szót kell használnia egy függvény osztályon kívüli deklarálásához.

5) Említse meg, milyen funkciókat kínál a Groovy JDK?

Groovy új módszereket adott hozzá a régi verzióhoz hasonlóan

  • Különböző tömbtípusok és objektumfolyamok újonnan Groovy-orientált módszerekkel

mint például az Object.every (), az Object.each () stb., és olyan új funkciókat is tartalmaznak, mint a "String BufferedReader.getText ()" és az "InputStream.eachLine (Bezárás)".

6) Említse meg a bezártság és a hallgatók szerepét Groovy-ban?

Groovy nem támogatja az anonim belső osztályokat; a cselekedetek hallgatóit a lezárások útján lehet meghatározni. A Groovy-ban a hallgatók bezárását ListenerAdapterként használják, ahol csak egy érdekes módszert írnak felül.

7) Magyarázza el, hogyan adhat hozzá dolgokat az osztályúthoz, amikor groovy vagy groovysh-ban futtatja a dolgokat?

Hozzáadhat dolgokat a $ CLASSPATH környezeti változóhoz. Egy másik lehetőség az, hogy létrehozunk egy .groovy / lib könyvtárat a saját könyvtárban, és hozzáfűzünk minden tégelyt, amelyik alapértelmezés szerint rendelkezésre áll.

8) Említse meg, mi a Groovy engedélye?

A Groovy futás közben függ az ASM könyvtárától, valamint a Java 1.4-től és a Groovy jar-tól.

9) Magyarázza el, mi az ExpandoMetaClass a Groovy-ban?

Az ExpandoMetaClass módszerek, tulajdonságok, statikus módszerek és konstruktorok hozzáadására szolgál. Az expandoclass alapértelmezés szerint nem öröklődik; meg kell hívnia az ExpandoMetaClass.enableGlobally () alkalmazást.

10) Magyarázza el, hogyan fejeződik ki a Groovy karakterlánc?

A Groovy karakterláncot Gstring-nek nevezik.

  • Dupla idézőjelek veszik körül, a szokásos húrokhoz egyetlen idézőjelet használ
  • Tartalmazhat Groovy kifejezéseket, amelyeket a következő dollár jegyez: $ {}
  • Szögletes zárójeles szintaxis alkalmazható a charAt (i) módhoz hasonlóan

11) Hogyan szerezhetne be egyetlen értéket az adatbázisból a Groovy segítségével?

Egyetlen érték visszaállításához az adatbázisból használhatja a parancsot

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

12) Magyarázza el, hogyan lehet lekérdezni a Groovy-ban?

Lássunk egy egyszerű példát arra, hogyan hívja ki Groovy a lekérdezést

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) Magyarázza el, hogyan lehet az AST-t (Abstract Syntax Trees) építeni a Groovy-ba stringből?

Az AST-t Groovy-ban építheti

  • Húrok
  • Kód
  • A DSL-szerű specifikációból

Egy AstBuilder objektum biztosít egy API-t az AST felépítéséhez a Groovy forráskód sztringjeiből. Például

Sorolja fel az csomópontokat = new AstBuilder (). buildFromString ("\" Hello \ "")

14) Magyarázza el, hogyan lehet egy groovy forgatókönyvet beilleszteni egy másik groovy-ba?

Felvehet egy groovy szkriptet egy másik groovy-ba a következő kód használatával. Ha ezt a kódot a szkript tetejére helyezi, akkor egy groovy fájl tartalmát fogja behozni.

Értékelés (új fájl ("... /tools/Tools.groovy"))

15) Magyarázza el, mi az a Groovysh?

A Groovysh egy parancssori alkalmazás, amely lehetővé teszi a Groovy kifejezések kiértékeléséhez, osztályok meghatározásához és kísérletek futtatásához való könnyű hozzáférést.

16) Magyarázza meg a GroovyDoc megjegyzését?

A többsoros megjegyzésekhez hasonlóan a GroovyDoc megjegyzései is többsorosak, de a / ** -vel kezdődnek és * / -vel végződnek. Ezek a megjegyzések a következőkkel kapcsolatosak:

  • Típusdefiníciók (osztályok, interfészek, felsorolások, kommentárok)
  • Mezők és tulajdonságok meghatározása
  • Módszerek meghatározása

17) Magyarázza el, hogy melyek a Bitwise operátorok a Groovy-ban?

A bitenkénti operátorok megvalósíthatók egy BYTE-n vagy egy INT-en, valamint a return és az INT-en. A bitenkénti operátorok 4 bitenkénti operátort kínálnak

  • &: bitenként "és"
  • I: bitenként "vagy"
  • V: bitenként "xor"
  • ~: bitenkénti tagadás

18) Sorolja fel a Groovy és a Java közötti különbségeket?

  • A Groovy összes csomagját és osztályát alapértelmezés szerint importálja, nem kell kifejezetten használni az importálási utasítást
  • Ellentétben a Java-val, ahol a módszereket fordítási időben választják, a Groovy-ban szereplő módszereket a futásidejű argumentumok típusai alapján
  • A (z) {…} blokkban a zárak vannak fenntartva, ami azt jelenti, hogy ezzel a szintaxissal nem lehet tömb literálokat felépíteni
  • A Java-hoz hasonlóan, egy mezőben egy módosító kihagyása nem eredményez csomag privát mezőt
  • A Groovy nem támogatja az automatikus erőforrás-kezelést vagy a java 7 ARM-blokkját
  • A Java 8 lambdákat többé-kevésbé névtelen belső osztályoknak tekintik, és Groovy nem támogatja ezt a szintaxist

19) Magyarázza meg a szőlőfüggőség szerepét a Groovy-ban?

Grape a Groovy-ba felvett JAR függőségi menedzser. Ez lehetővé teszi, hogy gyorsan feltérképezett lerakatfüggőségeket adjon hozzá az osztályútjához, megkönnyítve a szkriptek készítését. A legegyszerűbb felhasználás egy kommentár hozzáadása a szkripthez.

20) Magyarázza el, mit jelez a JsonSlurper osztály?

A JsonSlurper egy olyan osztály, amely a JSON szöveget vagy olvasói tartalmat Groovy adatstruktúrákká (objektumokká) elemzi, mint például listák, térképek és primitív típusok, például kettős, logikai, karakterlánc és egész szám.

21) Amikor a "propertyMissing (String)" metódust hívják meg?

A "propertyMissing (String)" metódust akkor hívjuk meg, ha a Groovy futásidejűleg nem lehet egy adott tulajdonságra vonatkozó getter metódust észlelni.

22) Megemlíti, hogy milyen relációs operátorokat használnak a Groovy-ban?

A relációs operátorok lehetővé teszik az objektumok összehasonlítását, annak ellenőrzését, hogy a két objektum különbözik-e egymástól vagy azonos-e, vagy az egyik kisebb, nagyobb vagy egyenlő-e másokkal.