Top 22 des questions d'entretiens chez Groovy & Réponses

Anonim

Télécharger le PDF

1) Expliquez ce qu'est Groovy?

Groovy est un langage de programmation orienté objet pour JVM (Java Virtual Machines). Il est utilisé pour combiner des modules Java, pour écrire une application Java et pour étendre une application Java existante.

2) Pourquoi utiliser Groovy?

  • Pour les programmeurs Java, il fournit une syntaxe familière
  • Il dispose d'un riche stock de bibliothèques Java
  • Il s'intègre facilement à votre infrastructure existante comme les conteneurs de servlets, les serveurs d'applications, les charges de bases de données avec les pilotes JDBC,
  • Complètement orienté objet
  • Il possède des morceaux de code réutilisables et assignables
  • Les opérateurs peuvent être surchargés
  • Déclaration littérale pour les cartes, les tableaux, les plages et les expressions régulières
  • Il a une navigation d'objets efficace

3) Quelle est la limitation de Groovy?

  • Groovy peut être plus lent
  • Groovy pourrait avoir besoin de beaucoup de mémoire
  • Le temps de démarrage Groovy doit être amélioré
  • Cela nécessite des connaissances Java
  • Il faut parfois s'habituer à aimer la nouvelle syntaxe, les fermetures, la saisie par défaut,
  • La documentation est mince

4) Expliquez comment les scripts sont exécutés dans Groovy?

Groovy prend en charge les scripts simples; il ne nécessite pas de déclaration de classe. Au début du script, les importations sont prises en charge de la même manière qu'elles peuvent être au début d'une classe. Dans Groovy, vous devez utiliser le mot def pour déclarer une fonction en dehors d'une classe.

5) Mentionner quelles sont les fonctionnalités offertes par Groovy JDK?

Groovy a ajouté de nouvelles méthodes par rapport à l'ancienne version comme

  • Différents types de tableaux et flux d'objets avec des méthodes nouvellement orientées Groovy

comme Object.every (), Object.each () etc. et incluent également de nouvelles fonctionnalités telles que "String BufferedReader.getText ()" et "InputStream.eachLine (Closure)".

6) Mentionner quel est le rôle de la clôture et des auditeurs dans Groovy?

Groovy ne prend pas en charge les classes internes anonymes; il est possible de déterminer les écouteurs d'action en ligne grâce à des fermetures. Dans Groovy, la fermeture des écouteurs est utilisée comme un ListenerAdapter où une seule méthode d'intérêt est remplacée.

7) Expliquez comment vous pouvez ajouter des éléments au chemin de classe lorsque vous exécutez des éléments dans groovy ou groovysh?

Vous pouvez ajouter des éléments à votre variable d'environnement $ CLASSPATH. Une autre possibilité est de créer un répertoire .groovy / lib dans votre répertoire personnel et d'ajouter les fichiers JAR que vous souhaitez rendre disponibles par défaut.

8) Mentionner quelle est la licence de Groovy?

Groovy dépend au moment de l'exécution de la bibliothèque ASM ainsi que de Java 1.4 et du jar Groovy.

9) Expliquez ce qu'est ExpandoMetaClass dans Groovy?

ExpandoMetaClass est utilisé pour ajouter des méthodes, des propriétés, des méthodes statiques et des constructeurs. Expandoclass n'est pas hérité par défaut; vous devez appeler ExpandoMetaClass.enableGlobally ().

10) Expliquez comment la chaîne Groovy est exprimée?

La chaîne Groovy est appelée Gstring.

  • Il est entouré de guillemets doubles, pour les chaînes régulières, il utilise des guillemets simples
  • Il peut contenir des expressions Groovy notées dans $ {}
  • La syntaxe entre crochets peut être appliquée comme charAt (i)

11) Comment pouvez-vous récupérer une seule valeur de la base de données en utilisant Groovy?

Pour récupérer une valeur unique de la base de données, vous pouvez utiliser la commande

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

12) Expliquez comment vous pouvez interroger dans Groovy?

Voyons un exemple simple de la façon dont Groovy appelle la requête

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) Expliquez comment vous pouvez construire AST (Abstract Syntax Trees) dans Groovy à partir de string?

Vous pouvez créer AST dans Groovy à partir de

  • Cordes
  • Code
  • De DSL comme spécification

Un objet AstBuilder fournit une API pour créer AST à partir de chaînes de Groovy Source Code. Par exemple

Lister les nœuds = new AstBuilder (). buildFromString ("\" Bonjour \ "")

14) Expliquez comment vous pouvez inclure un script groovy dans un autre groovy?

Vous pouvez inclure un script groovy avec un autre groovy en utilisant le code suivant. Lorsque vous placez ce code en haut du script, il apportera le contenu d'un fichier groovy.

Evaluate (nouveau fichier ("… /tools/Tools.groovy"))

15) Expliquez ce qu'est Groovysh?

Groovysh est une application de ligne de commande qui permet un accès facile pour évaluer les expressions Groovy, définir des classes et exécuter des expériences.

16) Expliquez le commentaire de GroovyDoc?

Comme les commentaires multilignes, les commentaires GroovyDoc sont multilignes mais ils commencent par un / ** et se terminent par * /. Ces commentaires sont liés à

  • Définitions de type (classes, interfaces, énumérations, annotations)
  • Définitions des champs et des propriétés
  • Définitions des méthodes

17) Expliquez ce que sont les opérateurs bit à bit dans Groovy?

Les opérateurs au niveau du bit peuvent être implémentés sur un BYTE ou un INT et retourner et INT. Les opérateurs au niveau du bit offrent 4 opérateurs au niveau du bit

  • &: bit à bit "et"
  • I: bit à bit "ou"
  • A: "xor" au niveau du bit
  • ~: négation au niveau du bit

18) Énumérez les différences entre Groovy et Java?

  • Tous les packages et classes de Groovy sont importés par défaut, vous n'avez pas à utiliser explicitement l'instruction d'importation
  • Contrairement à Java où les méthodes sont choisies au moment de la compilation, les méthodes de Groovy sont choisies en fonction des types d'arguments à l'exécution
  • Dans {…} le bloc est réservé aux fermetures, ce qui signifie que vous ne pouvez pas créer de littéraux de tableau avec cette syntaxe
  • Comme en Java, l'omission d'un modificateur sur un champ n'entraîne pas un champ privé de package
  • La gestion automatique des ressources ou le bloc ARM de java 7 ne sont pas pris en charge dans Groovy
  • Les lambdas Java 8 sont plus ou moins considérés comme des classes internes anonymes, et Groovy ne prend pas en charge cette syntaxe

19) Expliquez le rôle de la dépendance au raisin dans Groovy?

Grape est un gestionnaire de dépendances JAR inclus dans Groovy. Il vous permet d'ajouter rapidement des dépendances de référentiel maven à votre chemin de classe, ce qui facilite la création de scripts. L'utilisation la plus simple consiste à ajouter une annotation à votre script.

20) Expliquez ce que la classe JsonSlurper indique?

Le JsonSlurper est une classe qui analyse le texte JSON ou le contenu du lecteur dans des structures de données Groovy (objets) telles que des listes, des cartes et des types primitifs tels que double, Boolean, string et Integer.

21) Quand la méthode "propertyMissing (String)" est appelée?

La méthode "propertyMissing (String)" est appelée lorsqu'aucune méthode getter pour une propriété donnée ne peut être détectée par le runtime Groovy.

22) Mentionner à quoi servent les opérateurs relationnels dans Groovy?

Les opérateurs relationnels permettent de comparer des objets, de vérifier si les deux objets sont différents ou identiques ou si l'un est inférieur, supérieur ou égal aux autres.