Топ 22 въпроси за интервю за Groovy & Отговори

Anonim

Изтеглете PDF

1) Обяснете какво е Groovy?

Groovy е обектно-ориентиран език за програмиране за JVM (Java Virtual Machines). Използва се за комбиниране на Java модули, за писане на Java приложение и за разширяване на съществуващо Java приложение.

2) Защо да използвам Groovy?

  • За програмистите на Java той предоставя познат синтаксис
  • Той разполага с богат фонд от Java библиотеки
  • Той лесно се интегрира с вашата съществуваща инфраструктура като Servlet контейнери, сървъри за приложения, много бази данни с JDBC драйвери,
  • Напълно обектно ориентиран
  • Той притежава многократно използваеми и назначаеми части от код
  • Операторите могат да бъдат претоварени
  • Буквална декларация за карти, масиви, диапазони и регулярни изрази
  • Той има ефективна обектна навигация

3) Какво е ограничението на Groovy?

  • Groovy може да бъде по-бавен
  • Groovy може да се нуждае от много памет
  • Времето за стартиране на Groovy изисква подобрение
  • Това изисква знания за Java
  • Отнема понякога да се използва, за да харесате нов синтаксис, затваряния, въвеждане по подразбиране,
  • Документацията е тънка

4) Обяснете как се изпълняват скриптове в Groovy?

Groovy поддържа обикновен скрипт; не изисква декларация за клас. В предната част на скрипта импортирането се поддържа по същия начин, по който може да бъде в предната част на клас. В Groovy трябва да използвате word def, за да декларирате функция извън клас.

5) Споменете кои са някои функции, които Groovy JDK предлага?

Groovy е добавил нови методи в сравнение със старата версия като

  • Различни типове масиви и обектни потоци с новоориентирани методи на Groovy

като Object.every (), Object.each () и т.н. и също така включват нови функции като "String BufferedReader.getText ()" и "InputStream.eachLine (Closure)".

6) Споменете каква е ролята на затварянето и слушателите в Groovy?

Groovy не поддържа анонимни вътрешни класове; възможно е да се определят слушателите на действие вградени чрез средствата за затваряне. В Groovy затварянето на слушатели се използва като ListenerAdapter, където само един метод от интерес е заменен.

7) Обяснете как можете да добавяте неща към пътя на класа, когато изпълнявате неща в groovy или groovysh?

Можете да добавяте неща към вашата променлива на средата $ CLASSPATH. Друга възможност е да изградите директория .groovy / lib във вашата домашна директория и да добавите каквито и да е буркани, които искате да са достъпни по подразбиране.

8) Споменете какъв е лицензът за Groovy?

Groovy зависят по време на изпълнение от библиотеката на ASM, както и Java 1.4 и бурканът Groovy.

9) Обяснете какво е ExpandoMetaClass в Groovy?

ExpandoMetaClass се използва за добавяне на методи, свойства, статични методи и конструктори. Expandoclass не се наследява по подразбиране; трябва да се обадите на ExpandoMetaClass.enableGlobally ().

10) Обяснете как се изразява Groovy низ?

Groovy низ се нарича Gstring.

  • Той е заобиколен от двойни кавички, за обикновени низове използва единични кавички
  • Може да съдържа Groovy Expressions, отбелязани в $ {}
  • Синтаксисът на квадратни скоби може да се приложи като charAt (i)

11) Как бихте могли да извлечете единична стойност от базата данни, използвайки Groovy?

За да възстановите единична стойност от базата данни, можете да използвате командата

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

12) Обяснете как можете да правите заявки в Groovy?

Нека видим прост пример за това как Groovy извиква заявката

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) Обяснете как можете да изградите AST (абстрактни синтаксисни дървета) в Groovy от низ?

Можете да изградите AST в Groovy от

  • Струни
  • Код
  • От DSL като спецификация

Обект AstBuilder предоставя API за изграждане на AST от низове на Groovy Source Code. Например

Списък възли = нов AstBuilder (). buildFromString ("\" Здравейте \ "")

14) Обяснете как можете да включите грууви скрипт в друг грууви?

Можете да включите groovy скрипт с друг groovy, като използвате следния код. Когато поставите този код в горната част на скрипта, той ще внесе съдържанието на грув файл.

Оценяване (нов файл ("... /tools/Tools.groovy"))

15) Обяснете какво е Groovysh?

Groovysh е приложение от командния ред, което позволява лесен достъп за оценка на изрази на Groovy, дефиниране на класове и провеждане на експерименти.

16) Обяснете коментара на GroovyDoc?

Подобно на многоредови коментари, коментарите на GroovyDoc са многоредови, но започват с / ** и завършват с * /. Тези коментари са свързани с

  • Дефиниции на типа (класове, интерфейси, изброявания, анотации)
  • Определения на полета и свойства
  • Определения на методи

17) Обяснете какво представляват битовите оператори в Groovy?

Побитовите оператори могат да бъдат внедрени на BYTE или INT и връщане и INT. Побитовите оператори предлагат 4 побитови оператора

  • &: побитово "и"
  • I: побитово "или"
  • A: побитово "xor"
  • ~: побитово отрицание

18) Избройте разликите между Groovy и Java?

  • Всички пакети и класове в Groovy се импортират по подразбиране, не е нужно да използвате изрично израза за импортиране
  • За разлика от Java, където методите се избират по време на компилация, методите в Groovy се избират въз основа на типовете аргументи по време на изпълнение
  • В {…} блокът е запазен за затваряне, което означава, че не можете да изграждате литерали на масиви с този синтаксис
  • Както в Java, пропускането на модификатор в поле не води до частно поле на пакет
  • Автоматично управление на ресурси или ARM блок от java 7 не се поддържа в Groovy
  • Ламбда Java 8 повече или по-малко се считат за анонимни вътрешни класове и Groovy не поддържа този синтаксис

19) Обяснете ролята на зависимостта от грозде в Groovy?

Grape е JAR мениджър на зависимости, включен в Groovy. Позволява ви да добавяте бързо maven зависимости от хранилището към вашия път на класа, което улеснява скриптирането. Най-простото използване е добавяне на анотация към вашия скрипт.

20) Обяснете какво показва класът JsonSlurper?

JsonSlurper е клас, който анализира JSON текст или съдържание на четец в структури от данни на Groovy (обекти) като списъци, карти и примитивни типове като double, Boolean, string и Integer.

21) Когато се извиква методът "propertyMissing (String)"?

Методът "propertyMissing (String)" се извиква, когато нито един метод за получаване за дадено свойство не може да бъде открит от изпълнението на Groovy.

22) Споменете за какво се използват релационни оператори в Groovy?

Релационните оператори ви позволяват да сравнявате между обектите, да проверявате дали двата обекта са различни или еднакви или един е по-малък, по-голям или равен на други.