Preguntas y respuestas: Tecnología y desarrollo de software

Repasa Tecnología y desarrollo de software: aquí tienes una selección de preguntas de todos los niveles, con respuesta y explicación. Para ponerte a prueba sin ver las respuestas, juega a los quizzes.

Jugar a los quizzes de Tecnología y desarrollo de software

Muy fácil

¿En qué año se redactó el manifiesto ágil?

Respuesta : 2001

El manifiesto ágil se redactó en febrero de 2001 en Snowbird, Utah, por 17 firmantes.

¿Cuál es el primer valor del manifiesto ágil?

Respuesta : Las personas y sus interacciones por encima de los procesos y las herramientas

El manifiesto valora a las personas y sus interacciones por encima de los procesos y las herramientas, sin rechazar estos últimos.

En un enfoque ágil, ¿qué designa el «backlog»?

Respuesta : La lista priorizada de trabajos por hacer, con los más importantes arriba

El backlog, o pila de producto, es una lista de trabajos ordenada por prioridad: lo más importante va arriba.

¿Qué es una historia de usuario?

Respuesta : Una descripción breve de una funcionalidad, escrita desde el punto de vista del usuario

Una historia de usuario describe una necesidad con la forma «Como... quiero... para...», y sirve de base al trabajo del equipo.

En un tablero Kanban, ¿qué representan las columnas?

Respuesta : Las etapas del flujo de trabajo, desde «por hacer» hasta «terminado»

Cada columna es una etapa del flujo: una tarjeta, que representa una tarea, avanza de columna en columna hasta el final.

De estas definiciones, ¿cuál describe Scrum?

Respuesta : Un marco de trabajo ligero que organiza el trabajo en iteraciones cortas llamadas Sprints

Scrum es un marco de trabajo ligero, y no un software ni una norma; organiza el trabajo en Sprints, iteraciones de duración fija.

¿Cuál es la principal diferencia entre un método ágil y un plan cerrado?

Respuesta : Un método ágil acepta revisar las prioridades durante el trabajo, a partir de la retroalimentación real

La agilidad da prioridad a la adaptación al cambio frente al seguimiento estricto de un plan, sin renunciar a planificar.

¿Cuál es el papel de una iteración, o Sprint, en un enfoque ágil?

Respuesta : Producir un resultado utilizable en intervalos cortos y regulares

Al final de cada iteración, el equipo obtiene un resultado utilizable, que puede mostrarse al cliente y discutirse con él.

Fácil

¿Qué informático diseñó el lenguaje Java en Sun Microsystems?

Respuesta : James Gosling

James Gosling diseñó Java en Sun Microsystems; el lenguaje se anunció en 1995.

¿Qué componente carga y ejecuta el bytecode de Java en una máquina?

Respuesta : La máquina virtual de Java (JVM)

La JVM lee el bytecode y lo ejecuta, lo que permite que el mismo programa funcione en varios sistemas operativos.

¿Qué comando del JDK compila un archivo fuente .java a bytecode?

Respuesta : javac

javac produce archivos .class que contienen el bytecode; después, el comando java ejecuta ese bytecode en la JVM.

¿Qué tipo primitivo de Java solo puede tomar los valores true y false?

Respuesta : boolean

«boolean» es el tipo primitivo de los valores lógicos; «bool» no es una palabra clave de Java.

¿De qué tipo es el valor 'A', escrito entre comillas simples, en Java?

Respuesta : char

Entre comillas simples, un valor es un carácter: el tipo char codifica un carácter en 16 bits (UTF-16).

¿Qué afirmación sobre el JDK y el JRE es correcta?

Respuesta : El JDK contiene las herramientas de desarrollo, el JRE solo sirve para ejecutar

El JDK reúne las herramientas para desarrollar (entre ellas javac); el JRE solo contiene lo necesario para ejecutar un programa Java.

¿Qué método de la clase String devuelve su número de caracteres?

Respuesta : length()

El método length() devuelve el número de caracteres de una String; size() es el método de las colecciones, como List.

Con el código int[] t = new int[5]; ¿cuál es el último índice válido del array t?

Respuesta : 4

Los índices empiezan en 0: un array de cinco casillas tiene los índices 0, 1, 2, 3 y 4.

Medio

¿Qué palabra clave indica que una clase hereda de otra clase en Java?

Respuesta : extends

extends vincula una subclase con su superclase, de la que toma los miembros accesibles.

¿Qué modificador hace que un atributo solo sea accesible desde el código de su propia clase?

Respuesta : private

private restringe el acceso a la clase que declara el atributo; es un pilar de la encapsulación, con métodos de acceso si hacen falta.

¿Cuál es la particularidad sintáctica de un constructor de Java?

Respuesta : Lleva el nombre exacto de la clase y no tiene tipo de retorno

Un constructor lleva el nombre de su clase y no tiene tipo de retorno; new lo invoca para inicializar el objeto al crearlo.

¿A quién pertenece un atributo declarado con la palabra clave static?

Respuesta : A la propia clase, compartido por todos sus objetos

Un atributo static existe una sola vez para la clase: lo comparten todos los objetos y se usa sin crear un objeto.

¿Cómo declara una clase que proporciona el código de los métodos de una interfaz?

Respuesta : Con la palabra clave implements

Una clase que implementa una interfaz lo indica con implements y debe escribir el código de cada método abstracto de la interfaz.

¿Qué bloque asociado a try se ejecuta después del try, haya o no una excepción lanzada?

Respuesta : finally

finally se ejecuta después del try y de un eventual catch, lance o no una excepción (salvo parada brusca de la JVM).

¿Qué interfaz de colección nunca acepta dos elementos iguales según equals?

Respuesta : Set

Un Set no conserva los duplicados: add devuelve false si el elemento ya está presente. HashSet es una implementación habitual.

En Map<String, Integer>, ¿a qué corresponde el tipo String?

Respuesta : Al tipo de las claves

El primer parámetro de Map designa el tipo de las claves, y el segundo el de los valores asociados.

Difícil

¿En qué zona de memoria coloca la JVM los objetos creados con new?

Respuesta : El montículo (heap)

Los objetos viven en el montículo (heap), compartido entre hilos; la pila de cada hilo guarda las variables locales y las referencias a esos objetos.

¿Qué hace el recolector de basura (garbage collector) de la JVM?

Respuesta : Libera la memoria de los objetos que han quedado inaccesibles

El recolector de basura libera la memoria de los objetos que ya no son accesibles desde el programa; no gestiona archivos ni bytecode.

¿Qué hace el método concat sobre una String en Java?

Respuesta : No modifica la original y devuelve el resultado en una String

Una String es inmutable: ningún método modifica su contenido; devuelven el resultado en forma de String (aquí, la concatenación).

¿Cuál es el efecto principal de la palabra clave synchronized en un método de instancia?

Respuesta : Solo un hilo a la vez puede ejecutar los métodos sincronizados de este objeto

Cada objeto tiene un cerrojo: un hilo debe obtenerlo para entrar en un método sincronizado, lo que evita los accesos concurrentes.

¿Qué modificador garantiza que un hilo lea el último valor escrito en un campo por otro hilo?

Respuesta : volatile

volatile asegura la visibilidad de las escrituras entre hilos, pero no hace atómica una operación compuesta como x++.

¿Cuál es el papel principal de un ExecutorService?

Respuesta : Gestionar un pool de hilos y enviarle tareas

Un ExecutorService separa el envío de tareas de la creación de hilos, y reutiliza los hilos de un pool.

¿Qué es una interfaz funcional en Java?

Respuesta : Una interfaz que declara exactamente un método abstracto

Una lambda puede implementar una interfaz funcional; la anotación @FunctionalInterface es opcional, pero el compilador verifica la regla si está presente.

¿En qué año salió la versión Java 8, que introduce las lambdas y la API Stream?

Respuesta : 2014

Java 8 salió en marzo de 2014; también trajo Optional y las interfaces funcionales del paquete java.util.function.

Subtemas

Jugar a los quizzes de Tecnología y desarrollo de software