Las 22 preguntas más interesantes de la entrevista y amp; Respuestas

Anonim

Descargar PDF

1) Explica qué es Groovy.

Groovy es un lenguaje de programación orientado a objetos para JVM (Java Virtual Machines). Se utiliza para combinar módulos Java, escribir aplicaciones Java y ampliar aplicaciones Java existentes.

2) ¿Por qué utilizar Groovy?

  • Para los programadores de Java, proporciona una sintaxis familiar.
  • Tiene un amplio stock de bibliotecas Java.
  • Se integra fácilmente con su infraestructura existente, como contenedores de servlets, servidores de aplicaciones, cargas de bases de datos con controladores JDBC,
  • Totalmente orientado a objetos
  • Posee piezas de código reutilizables y asignables
  • Los operadores pueden estar sobrecargados
  • Declaración literal para mapas, matrices, rangos y expresiones regulares
  • Tiene una navegación de objetos eficiente.

3) ¿Cuál es la limitación de Groovy?

  • Groovy puede ser más lento
  • Groovy podría necesitar mucha memoria
  • El tiempo de inicio maravilloso requiere mejoras
  • Requiere conocimientos de Java
  • A veces es necesario acostumbrarse a que le guste la nueva sintaxis, cierres, escritura predeterminada,
  • La documentación es escasa

4) Explique cómo se ejecutan los scripts en Groovy.

Groovy admite escritura simple; no requiere una declaración de clase. En la parte delantera del script, las importaciones se admiten de la misma forma que pueden estar al principio de una clase. En Groovy, debes usar la palabra def para declarar una función fuera de una clase.

5) Mencione cuáles son algunas de las características que ofrece Groovy JDK.

Groovy ha agregado nuevos métodos en comparación con la versión anterior como

  • Varios tipos de matrices y flujos de objetos con métodos recientemente orientados a Groovy

como Object.every (), Object.each (), etc. y también incluyen nuevas características como "String BufferedReader.getText ()" y "InputStream.eachLine (Closure)".

6) Mencione cuál es el papel del cierre y los oyentes en Groovy.

Groovy no admite clases internas anónimas; Es posible determinar los oyentes de acciones en línea a través de cierres. En Groovy, el cierre de oyentes se usa como ListenerAdapter donde solo se anula un método de interés.

7) Explica cómo puedes agregar cosas a la ruta de clases cuando ejecutas cosas en groovy o groovysh.

Puede agregar cosas a su variable de entorno $ CLASSPATH. Otra posibilidad es crear un directorio .groovy / lib en su directorio de inicio y agregar los archivos jar que desee que estén disponibles de forma predeterminada.

8) Mencione cuál es la licencia de Groovy.

Groovy depende en tiempo de ejecución de la biblioteca ASM, así como de Java 1.4 y Groovy jar.

9) Explique qué es ExpandoMetaClass en Groovy.

ExpandoMetaClass se utiliza para agregar métodos, propiedades, métodos estáticos y constructores. Expandoclass no se hereda de forma predeterminada; tienes que llamar a ExpandoMetaClass.enableGlobally ().

10) Explica cómo se expresa la cuerda Groovy.

La cuerda Groovy se conoce como Gstring.

  • Está rodeado por comillas dobles, para cadenas regulares usa comillas simples
  • Puede contener expresiones Groovy anotadas en $ {}
  • La sintaxis de corchetes se puede aplicar como charAt (i)

11) ¿Cómo podría recuperar un valor único de la base de datos usando Groovy?

Para recuperar un solo valor de la base de datos, puede usar el comando

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

12) Explique cómo se pueden realizar consultas en Groovy.

Veamos un ejemplo simple de cómo Groovy llama a la consulta

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) Explica cómo puedes construir AST (Árboles de sintaxis abstracta) en Groovy desde una cadena.

Puede construir AST en Groovy desde

  • Instrumentos de cuerda
  • Código
  • De DSL como especificación

Un objeto AstBuilder proporciona una API para construir AST a partir de cadenas de código fuente Groovy. Por ejemplo

Enumere los nodos = new AstBuilder (). buildFromString ("\" Hola \ "")

14) Explica cómo puedes incluir un guión maravilloso en otro maravilloso.

Puede incluir un script maravilloso con otro maravilloso utilizando el siguiente código. Cuando coloque este código en la parte superior del script, traerá el contenido de un archivo maravilloso.

Evaluar (archivo nuevo ("... /tools/Tools.groovy"))

15) Explica qué es Groovysh.

Groovysh es una aplicación de línea de comandos que permite un fácil acceso para evaluar expresiones Groovy, definir clases y ejecutar experimentos.

16) ¿Explicar el comentario de GroovyDoc?

Al igual que los comentarios de varias líneas, los comentarios de GroovyDoc son de varias líneas, pero comienzan con / ** y terminan con * /. Esos comentarios están relacionados con

  • Definiciones de tipo (clases, interfaces, enumeraciones, anotaciones)
  • Definiciones de campos y propiedades
  • Definiciones de métodos

17) Explique qué son los operadores bit a bit en Groovy.

Los operadores bit a bit se pueden implementar en un BYTE o un INT y regresar e INT. Los operadores bit a bit ofrecen 4 operadores bit a bit

  • &: bit a bit "y"
  • I: bit a bit "o"
  • A: bit a bit "xor"
  • ~: negación bit a bit

18) ¿Enumere las diferencias entre Groovy y Java?

  • Todos los paquetes y clases en Groovy se importan de forma predeterminada, no tiene que usar la declaración de importación explícitamente
  • A diferencia de Java, donde los métodos se eligen en tiempo de compilación, los métodos en Groovy se eligen en función de los tipos de argumentos en tiempo de ejecución.
  • En {…} el bloque está reservado para cierres, lo que significa que no puede construir matrices literales con esta sintaxis.
  • Como en Java, omitir un modificador en un campo no da como resultado un campo privado de paquete
  • La administración automática de recursos o el bloque ARM de java 7 no son compatibles con Groovy
  • Las lambdas de Java 8 se consideran más o menos como clases internas anónimas, y Groovy no admite esa sintaxis

19) ¿Explica el papel de la dependencia de Grape en Groovy?

Grape es un administrador de dependencias JAR incluido en Groovy. Le permite agregar rápidamente dependencias del repositorio maven a su ruta de clases, lo que facilita la creación de scripts. El uso más simple es agregar una anotación a su secuencia de comandos.

20) Explique qué indica la clase JsonSlurper.

JsonSlurper es una clase que analiza el texto JSON o el contenido del lector en estructuras de datos Groovy (objetos) como listas, mapas y tipos primitivos como double, boolean, string e integer.

21) ¿Cuándo se llama al método "propertyMissing (String)"?

El método "propertyMissing (String)" se llama cuando el tiempo de ejecución de Groovy no puede detectar ningún método getter para una propiedad determinada.

22) Mencione para qué se utilizan los operadores relacionales en Groovy.

Los operadores relacionales le permiten comparar entre objetos, para verificar si los dos objetos son diferentes o iguales o si uno es menor, mayor o igual que los demás.