Preguntas y respuestas compiladas por Victoria Demidova
Bot de Telegram por cmmttd
Preguntas de la entrevista para desarrolladores de Java
- POO
- JVM
- Núcleo de Java
- Marco de colecciones de Java
- Java 8
- Flujos de E/S en Java
- Publicación por entregas
- subprocesos múltiples
- Programación reactiva
- Servlets, JSP, JSTL
- Bases de datos
- SQL
- JDBC
- Pruebas
- Explotación florestal
- UML
- XML
- Patrones de diseño
- Conceptos básicos de HTML
- Conceptos básicos de CSS
- Conceptos básicos de la Web
- Apache Kafka
- Materiales adicionales
POO
- ¿Qué es la programación orientada a objetos ?
- ¿Cuáles son los principios básicos de la programación orientada a objetos ?
- ¿Qué es la "encapsulación" ?
- ¿Qué es la "herencia" ?
- ¿Qué es el "polimorfismo" ?
- ¿Qué es la "abstracción" ?
- ¿Qué es "mensajería" ?
- Cuéntanos sobre los conceptos básicos de la programación orientada a objetos: “clase” , “objeto” , “interfaz” .
- ¿Cuáles son las ventajas y desventajas del enfoque de programación orientado a objetos?
- ¿Qué significan las expresiones "es" y "tiene" en términos de principios de programación orientada a objetos?
- ¿Cuál es la diferencia entre composición y agregación ?
- ¿Qué es la vinculación estática y dinámica ?
al contenido
JVM
- ¿De qué es responsable la JVM?
- Cargador de clases
- Áreas de datos en tiempo de ejecución
- Marcos
- Motor de ejecución
- Enlaces útiles
al contenido
Núcleo de Java
- ¿Cuál es la diferencia entre JRE, JVM y JDK?
- ¿Qué modificadores de acceso existen?
- ¿Qué significa la palabra clave
final
? - ¿Con qué valores se inicializan las variables predeterminadas?
- ¿Qué sabes sobre la función
main()
? - ¿Qué operaciones y operadores lógicos conoces?
- ¿Qué es el operador de selección ternario?
- ¿Qué operaciones bit a bit conoces?
- ¿Dónde y para qué se utiliza el modificador
abstract
? - Definir el concepto de “interfaz” . ¿Qué modificadores predeterminados tienen los campos y los métodos de interfaz?
- ¿En qué se diferencia una clase abstracta de una interfaz? ¿Cuándo debería utilizar una clase abstracta y cuándo debería utilizar una interfaz?
- ¿Por qué algunas interfaces no definen ningún método?
- ¿Por qué no puedes declarar un método de interfaz con el modificador
final
? - ¿Qué tiene un mayor nivel de abstracción: una clase, una clase abstracta o una interfaz?
- ¿Puede un objeto acceder a una variable de clase
private
? En caso afirmativo, ¿cómo? - ¿Cuál es el orden en que se llaman los constructores y los bloques de inicialización, teniendo en cuenta la jerarquía de clases?
- ¿Por qué se necesitan bloques de inicialización y qué son?
- ¿A qué construcciones de Java se aplica el modificador
static
? - ¿Por qué se utilizan bloques de inicialización estáticos en Java?
- ¿Qué sucede si ocurre una excepción en el bloque de inicialización?
- ¿Qué excepción se produce cuando ocurre un error en un bloque de inicialización de clase?
- ¿Se puede anular o sobrecargar un método estático?
- ¿Pueden los métodos no estáticos sobrecargar los estáticos?
- ¿Es posible limitar el nivel de acceso/tipo de retorno al anular un método?
- ¿Es posible cambiar al anular un método: modificador de acceso; tipo de retorno; tipo de argumento o número de argumentos; ¿Nombres de argumentos o su orden, eliminar, agregar, cambiar el orden de los elementos en la sección
throws
? - ¿Cómo acceder a los métodos anulados de una clase principal?
- ¿Es posible declarar un método abstracto y estático al mismo tiempo?
- ¿Cuál es la diferencia entre un miembro de instancia de clase y un miembro de clase estática?
- ¿Dónde se permite la inicialización de campos estáticos/no estáticos?
- ¿Qué tipos de clases hay en java?
- Cuéntenos sobre las clases anidadas. ¿En qué casos se utilizan?
- ¿Qué es una "clase estática" ?
- ¿Cuáles son las características del uso de clases anidadas: estáticas e internas? ¿Cuál es la diferencia entre ellos?
- ¿Qué es una "clase local" ? ¿Cuáles son sus características?
- ¿Qué son las "clases anónimas" ? ¿Dónde se utilizan?
- ¿Cómo puedo acceder a un campo en una clase externa desde una clase anidada?
- ¿Para qué se utiliza la declaración
assert
? - ¿Para qué sirve un recolector de basura?
- ¿Cómo funciona el recolector de basura?
- ¿Qué tipos de recolectores de basura se implementan en la máquina virtual HotSpot?
- Describir el algoritmo de funcionamiento de un recolector de basura implementado en la máquina virtual HotSpot.
- ¿Qué es
finalize()
? ¿Por qué es necesario? - ¿Qué sucede con el recolector de basura si el método
finalize()
tarda mucho en completarse o si se lanza una excepción durante la ejecución? - ¿Cuál es la diferencia entre
final
, finally
y finalize()
? - ¿Qué es la memoria Heap y Stack en Java? ¿Cuál es la diferencia entre ellos?
- ¿Es cierto que los tipos de datos primitivos siempre se almacenan en la pila y las instancias de tipos de datos de referencia siempre se almacenan en el montón?
- ¿Cómo se pasan las variables a los métodos, por valor o por referencia?
- Cuéntanos sobre la conversión de tipos. ¿Qué es el tipo de degradación y promoción?
- ¿Cuándo se podría lanzar una
ClassCastException
en una aplicación? - ¿Qué son los literales?
- ¿Qué es el autoboxing en Java y cuáles son las reglas para empaquetar tipos primitivos en clases contenedoras?
- ¿Cuáles son las características de la clase
String
? - ¿Qué es un "grupo de cadenas"?
- ¿Por qué
String
una clase inmutable y finalizada? - ¿Por qué es preferible
char[]
a String
para almacenar la contraseña? - ¿Por qué String es una clave popular en
HashMap
en Java? - ¿Qué hace el método
intern()
en la clase String
? - ¿Es posible utilizar cadenas en una construcción
switch
? - ¿Cuál es la principal diferencia entre
String
, StringBuffer
y StringBuilder
? - ¿Qué es la clase
Object
? ¿Qué métodos tiene? - Cuéntanos sobre la clonación de objetos.
- ¿Cuál es la diferencia entre clonación superficial y profunda ?
- ¿Qué método de clonación es preferible?
- ¿Por qué el método
clone()
se declara en la clase Object
y no en la interfaz Cloneable
? - Defina el concepto de “constructor”.
- ¿Qué es un "constructor predeterminado" ?
- ¿Cuál es la diferencia entre constructores predeterminados, de copia y de parámetros?
- ¿Dónde y cómo se puede recurrir a un constructor privado?
- Cuéntenos sobre las clases de cargador y la carga dinámica de clases.
- ¿Qué es la reflexión ?
- ¿Por qué se necesita
equals()
? ¿En qué se diferencia de la operación ==
? -
equals()
genera una relación de equivalencia. ¿Qué propiedades tiene tal actitud? - Si desea anular
equals()
, ¿qué condiciones deben cumplirse para el método anulado? - Reglas para anular el método
Object.equals()
. - ¿Cuál es la relación entre
hashCode()
y equals()
? - Si se anula
equals()
, ¿hay otros métodos que deban anularse? - ¿Qué sucede si anulas
equals()
sin anular hashCode()
? ¿Qué problemas podrían surgir? - ¿Cómo se implementan
hashCode()
y equals()
en la clase Object
? - ¿Para qué sirve
hashCode()
? - Reglas para anular el método
Object.hashCode()
. - ¿Hay alguna recomendación sobre qué campos se deben utilizar al calcular
hashCode()
? - ¿Pueden diferentes objetos tener el mismo
hashCode()
? - Si la clase
Point{int x, y;}
implementa equals(Object that) {(return this.x == that.x && this.y == that.y)}
, pero crea el código hash en el formulario int hashCode() {return x;}
, entonces, ¿se colocarán y recuperarán dichos puntos correctamente HashSet
? - ¿Pueden diferentes objetos
(ref0 != ref1)
tener ref0.equals(ref1) == true
? - ¿Pueden diferentes referencias al mismo objeto
(ref0 == ref1)
tener ref0.equals(ref1) == false
? - ¿Es posible implementar
equals(Object that) {return this.hashCode() == that.hashCode()}
de esta manera? -
equals()
requiere verificar que el argumento equals(Object that)
sea del mismo tipo que el objeto mismo. ¿Cuál es la diferencia entre this.getClass() == that.getClass()
y that instanceof MyClass
? - ¿Es posible implementar el método
equals()
de MyClass
de esta manera: class MyClass {public boolean equals(MyClass that) {return this == that;}}
? - Hay una clase
Point{int x, y;}
. ¿Por qué es preferible el código hash 31 * x + y
a x + y
? - Describir la jerarquía de excepciones.
- ¿Qué tipos de excepciones en Java conoces y en qué se diferencian?
- ¿Qué es la excepción marcada y no marcada?
- ¿Qué operador le permite forzar el lanzamiento de una excepción?
- ¿Qué significa la palabra clave
throws
? - ¿Cómo escribir su propia excepción ("personalizada")?
- ¿Qué tipos de excepciones no comprobadas existen?
- ¿Qué es
Error
? - ¿Qué sabes sobre
OutOfMemoryError
? - Describe el funcionamiento del bloque try-catch-finally .
- ¿Qué es el mecanismo de prueba con recursos ?
- ¿Es posible utilizar un bloque try-finally (sin
catch
)? - ¿Puede un bloque
catch
detectar varias excepciones a la vez? - ¿Se ejecuta siempre el bloque
finally
? - ¿Existen situaciones en las que no se ejecutará un bloque
finally
? - ¿Puede el método principal generar una excepción externamente y, de ser así, dónde se manejará esta excepción?
- Supongamos que hay un método que puede generar
IOException
y FileNotFoundException
¿en qué orden deben ir los bloques catch
? ¿Cuántos bloques catch
se ejecutarán? - ¿Qué son los genéricos ?
- ¿Qué es “internacionalización” , “localización” ?
al contenido
Colecciones Java
- ¿Qué es una "colección" ?
- Nombra las principales interfaces JCF y sus implementaciones.
- Organice las siguientes interfaces en una jerarquía:
List
, Set
, Map
, SortedSet
, SortedMap
, Collection
, Iterable
, Iterator
, NavigableSet
, NavigableMap
. - ¿Por qué
Map
no es Collection
mientras que List
y Set
son Collection
? - ¿Cuál es la diferencia entre
java.util.Collection
y java.util.Collections
? - ¿Qué es el “comportamiento rápido ante fallos”?
- ¿Cuál es la diferencia entre a prueba de fallos y a prueba de fallos?
- Dar ejemplos de iteradores que implementan un comportamiento a prueba de fallos.
- ¿Cuál es la diferencia entre
Enumeration
e Iterator
? - ¿Cómo se relacionan
Iterable
e Iterator
? - ¿Cómo se relacionan entre sí
Iterable
, Iterator
y "for-each"? - Comparar
Iterator
y ListIterator
. - ¿Qué sucede cuando llamas
Iterator.next()
sin llamar primero Iterator.hasNext()
? - ¿Cuántos elementos se omitirán si se llama
Iterator.next()
después de 10 llamadas Iterator.hasNext()
? - ¿Cómo se comportará la colección si se llama a
iterator.remove()
? - ¿Cómo se comportará un iterador ya instanciado para
collection
si se llama a collection.remove()
? - ¿Cómo evitar
ConcurrentModificationException
al iterar sobre una colección? - ¿Qué colección implementa la disciplina de servicio FIFO?
- ¿Qué colección implementa la disciplina de servicio FILO?
- ¿Cuál es la diferencia entre
ArrayList
y Vector
? - ¿Por qué agregaron
ArrayList
si ya existía Vector
? - ¿Cuál es la diferencia entre
ArrayList
y LinkedList
? ¿En qué casos es mejor utilizar el primero y en qué casos el segundo? - ¿Qué es
ArrayList
o LinkedList
más rápido? - ¿Cuál es el peor tiempo de ejecución para el método
contains()
en un elemento que está en LinkedList
? - ¿Cuál es el peor tiempo de ejecución para el método
contains()
en un elemento que está en ArrayList
? - ¿Cuál es el peor tiempo de ejecución para el método
add()
en LinkedList
? - ¿Cuál es el peor tiempo de ejecución para el método
add()
en ArrayList
? - Necesitas agregar 1 millón de elementos, ¿qué estructura estás usando?
- ¿Cómo se eliminan elementos de
ArrayList
? ¿Cómo cambia el tamaño de ArrayList
en este caso? - Proponga un algoritmo eficiente para eliminar múltiples elementos adyacentes del medio de una lista implementada por
ArrayList
. - ¿Cuánta memoria adicional se necesita al llamar
ArrayList.add()
? - ¿Cuánta memoria adicional se asigna al llamar
LinkedList.add()
? - ¿Estimar la cantidad de memoria para almacenar un
byte
primitivo en LinkedList
? - ¿Estimar la cantidad de memoria para almacenar un
byte
primitivo en ArrayList
? - Para
ArrayList
o para LinkedList
¿la operación de agregar un elemento en el medio ( list.add(list.size()/2, newElement)
) es más lenta? - La implementación de
ArrayList
tiene los siguientes campos: Object[] elementData
, int size
. Explique por qué debería almacenar size
por separado si siempre puede tomar elementData.length
. - Compare las interfaces
Queue
y Deque
. - ¿Quién extiende a quién:
Queue
extiende Deque
o Deque
extiende Queue
? - ¿Por qué
LinkedList
implementa tanto List
como Deque
? - ¿
LinkedList
es una lista enlazada individualmente, una lista doblemente enlazada o una lista de cuatro enlaces? - ¿Cómo iterar a través de elementos
LinkedList
en orden inverso sin utilizar get(index)
lento? - ¿Qué te permite hacer
PriorityQueue
? -
Stack
se considera "obsoleta". ¿Con qué se recomienda reemplazarlo? ¿Por qué? - ¿Por qué necesitamos
HashMap
si tenemos Hashtable
? - ¿Cuál es la diferencia entre
HashMap
e IdentityHashMap
? ¿Para qué sirve IdentityHashMap
? - ¿Cuál es la diferencia entre
HashMap
y WeakHashMap
? ¿Para qué se utiliza WeakHashMap
? -
WeakHashMap
utiliza WeakReferences. ¿Por qué no crear SoftHashMap
en SoftReferences? -
WeakHashMap
utiliza WeakReferences. ¿Por qué no crear PhantomHashMap
en PhantomReferences? -
LinkedHashMap
: ¿qué es de LinkedList
y qué es de HashMap
? - ¿Cómo se “ordena”
SortedMap
, aparte del hecho de que toString()
muestra todos los elementos en orden? - ¿Cómo funciona
HashMap
? - Según Knuth y Cormen, hay dos implementaciones principales de tablas hash: basadas en direccionamiento abierto y basadas en encadenamiento. ¿Cómo se implementa
HashMap
? ¿Por qué crees que se eligió esta implementación en particular? ¿Cuáles son los pros y los contras de cada enfoque? - ¿Cómo funciona
HashMap
cuando intentas almacenar dos elementos en él mediante claves con el mismo hashCode()
, pero para las cuales equals() == false
? - ¿Cuál es el número inicial de depósitos en
HashMap
? - ¿Cuál es la estimación de la complejidad temporal de las operaciones sobre elementos de
HashMap
? ¿ HashMap
garantiza la complejidad de búsqueda del elemento especificado? - ¿Es posible que
HashMap
degenere en una lista incluso con claves que tengan diferentes hashCode()
? - ¿En qué caso se puede perder un elemento de
HashMap
? - ¿Por qué no se puede utilizar
byte[]
como clave en HashMap
? - ¿Cuál es el papel
equals()
y hashCode()
en HashMap
? - ¿Cuál es el número máximo
hashCode()
? - ¿Cuál es el peor tiempo de ejecución para un método get(key) para una clave que no está en
HashMap
? - ¿Cuál es el peor tiempo de ejecución para el método get(key) para una clave que está en
HashMap
? - ¿Por qué aunque no se requiere una clave en
HashMap
para implementar la interfaz Comparable
, una lista doblemente enlazada siempre se puede convertir en un árbol rojo-negro? - ¿Cuántas transiciones ocurren cuando se llama a
HashMap.get(key)
en una clave que está en la tabla? - ¿Cuántos objetos nuevos se crean cuando agregas un nuevo elemento a
HashMap
? - ¿Cómo y cuándo aumenta la cantidad de depósitos en
HashMap
? - Explique el significado de los parámetros en el constructor
HashMap(int initialCapacity, float loadFactor)
. - ¿Funcionará
HashMap
si todas las claves agregadas tienen el mismo hashCode()
? - ¿Cómo recorrer todas las claves
Map
? - ¿Cómo recorrer todos los valores
Map
? - ¿Cómo recorrer todos los pares clave-valor en
Map
? - ¿Cuáles son las diferencias entre
TreeSet
y HashSet
? - ¿Qué sucede si agrega elementos a
TreeSet
en orden ascendente? - ¿En qué se diferencia
LinkedHashSet
de HashSet
? - Hay una clase especial para
Enum
java.util.EnumSet
. ¿Para qué? ¿Por qué los autores no estaban satisfechos con HashSet
o TreeSet
? - ¿Qué formas existen de iterar sobre los elementos de una lista?
- ¿Cómo puedo sincronizar objetos de colecciones estándar?
- ¿Cómo obtener una colección de solo lectura?
- Escriba un programa de un solo subproceso que haga que una colección arroje
ConcurrentModificationException
. - Dé un ejemplo cuando cualquier colección arroja
UnsupportedOperationException
. - Implemente la diferencia simétrica de dos colecciones utilizando los métodos
Collection
( addAll(...)
, removeAll(...)
, retainAll(...)
). - ¿Cómo hacer un caché con “política de invalidación” usando LinkedHashMap?
- ¿Cómo puedo copiar los elementos de cualquier
collection
en una matriz en una línea? - ¿Cómo obtener
List
con todos los elementos excepto los primeros y los últimos 3 con una llamada desde List
? - ¿Cómo convertir
HashSet
a ArrayList
en una línea? - ¿Cómo convertir
ArrayList
a HashSet
en una línea? - Haga
HashSet
a partir de las claves HashMap
. - Haga
HashMap
desde HashSet<Map.Entry<K, V>>
.
al contenido
Java 8
- ¿Qué innovaciones han aparecido en Java 8 y JDK 8?
- ¿Qué es "lambda" ? ¿Cuál es la estructura y las características de uso de una expresión lambda?
- ¿A qué variables pueden acceder las expresiones lambda?
- ¿Cómo ordenar una lista de cadenas usando una expresión lambda?
- ¿Qué es una "referencia de método"?
- ¿Qué tipos de referencias de métodos conoces?
- Explique la expresión
System.out::println
. - ¿Qué son las "interfaces funcionales"?
- ¿Para qué sirven las interfaces de funciones
Function<T,R>
, DoubleFunction<R>
, IntFunction<R>
y LongFunction<R>
? - ¿Para qué sirven las interfaces funcionales
UnaryOperator<T>
, DoubleUnaryOperator
, IntUnaryOperator
y LongUnaryOperator
? - ¿Para qué sirven las interfaces funcionales
BinaryOperator<T>
, DoubleBinaryOperator
, IntBinaryOperator
y LongBinaryOperator
? - ¿Para qué sirven las interfaces funcionales
Predicate<T>
, DoublePredicate
, IntPredicate
y LongPredicate
? - ¿Para qué se utilizan las interfaces funcionales
Consumer<T>
, DoubleConsumer
, IntConsumer
y LongConsumer
? - ¿Para qué sirven
Supplier<T>
, BooleanSupplier
, DoubleSupplier
, IntSupplier
y LongSupplier
? - ¿Para qué sirve
BiConsumer<T,U>
? - ¿Para qué se necesita la interfaz funcional
BiFunction<T,U,R>
? - ¿Para qué sirve la interfaz funcional
BiPredicate<T,U>
? - ¿Para qué se necesitan interfaces funcionales como
_To_Function
? - ¿Para qué se necesitan las interfaces de función
ToDoubleBiFunction<T,U>
, ToIntBiFunction<T,U>
y ToLongBiFunction<T,U>
? - ¿Para qué sirven las interfaces de funciones
ToDoubleFunction<T>
, ToIntFunction<T>
y ToLongFunction<T>
? - ¿Para qué sirven las interfaces funcionales
ObjDoubleConsumer<T>
, ObjIntConsumer<T>
y ObjLongConsumer<T>
? - ¿Qué es
StringJoiner
? - ¿Cuáles son los métodos de interfaz
default
? - ¿Cómo llamar
default
de una interfaz en una clase que implementa esta interfaz? - ¿Qué es un método de interfaz
static
? - ¿Cómo llamar a un método de interfaz
static
? - ¿Qué es
Optional
? - ¿Qué es
Stream
? - ¿Cuáles son las diferentes formas de crear una transmisión?
- ¿Cuál es la diferencia entre
Collection
y Stream
? - ¿Para qué se utiliza el método
collect()
en las transmisiones? - ¿Por qué se utilizan
forEach()
y forEachOrdered()
en las secuencias? - ¿Cuáles son los métodos
map()
y mapToInt()
, mapToDouble()
, mapToLong()
utilizados en las transmisiones? - ¿Cuál es el propósito del método
filter()
en las transmisiones? - ¿Para qué se utiliza el método
limit()
en las transmisiones? - ¿Cuál es el propósito del método
sorted()
en las secuencias? - ¿Cuáles son
flatMap()
, flatMapToInt()
, flatMapToDouble()
, flatMapToLong()
utilizados en las transmisiones? - Explique sobre el procesamiento paralelo en Java 8.
- ¿Qué métodos definitivos para trabajar con transmisiones conoces?
- ¿Qué métodos intermedios para trabajar con transmisiones conoces?
- ¿Cómo imprimir 10 números aleatorios en la pantalla usando
forEach()
? - ¿Cómo se pueden mostrar los cuadrados únicos de números usando
map()
? - ¿Cómo mostrar el número de líneas vacías usando el método
filter()
? - ¿Cómo mostrar 10 números aleatorios en orden ascendente?
- ¿Cómo encontrar el número máximo en un conjunto?
- ¿Cómo encontrar el número mínimo en un conjunto?
- ¿Cómo obtener la suma de todos los números de un conjunto?
- ¿Cómo obtener el promedio de todos los números?
- ¿Qué métodos adicionales para trabajar con matrices asociativas (mapas) aparecieron en Java 8?
- ¿Qué es
LocalDateTime
? - ¿Qué es
ZonedDateTime
? - ¿Cómo obtener la fecha actual usando la API de fecha y hora de Java 8?
- ¿Cómo agregar 1 semana, 1 mes, 1 año, 10 años a la fecha actual usando la API de fecha y hora?
- ¿Cómo llegar el próximo martes usando la API de fecha y hora?
- ¿Cómo obtener el segundo sábado del mes actual usando la API de fecha y hora?
- ¿Cómo obtener la hora actual con una precisión de milisegundos utilizando la API de fecha y hora?
- ¿Cómo obtener la hora local actual con una precisión de milisegundos utilizando la API de fecha y hora?
- ¿Cómo definir una anotación repetible?
- ¿Qué es
Nashorn
? - ¿Qué es
jjs
? - ¿Qué clase apareció en Java 8 para codificar/decodificar datos?
- ¿Cómo crear un codificador y decodificador Base64?
al contenido
Flujos de E/S en Java
- ¿Cuál es la diferencia entre IO y NIO?
- ¿Qué características de NIO conoces?
- ¿Qué son los "canales" ?
- ¿Qué tipos de flujos de E/S existen?
- Nombra las clases principales de flujos de E/S.
- ¿Qué paquetes contienen las clases de flujo de E/S?
- ¿Qué subclases de la clase
InputStream
conoces y para qué sirven? - ¿Para qué se utiliza
PushbackInputStream
? - ¿Para qué se utiliza
SequenceInputStream
? - ¿Qué clase le permite leer datos de un flujo de bytes de entrada en el formato de tipos de datos primitivos?
- ¿Qué subclases de la clase
OutputStream
conoces y para qué sirven? - ¿Qué subclases de la clase
Reader
conoces y para qué sirven? - ¿Qué subclases de la clase
Writer
conoces y para qué sirven? - ¿Cuál es la diferencia entre
PrintWriter
y PrintStream
? - ¿Cuál es la diferencia y qué tienen en común
InputStream
, OutputStream
, Reader
y Writer
? - ¿Qué clases le permiten convertir flujos de bytes en flujos de caracteres y viceversa?
- ¿Qué clases te permiten acelerar la lectura/escritura mediante el uso de un buffer?
- ¿Qué clase está diseñada para trabajar con elementos del sistema de archivos?
- ¿Qué métodos de la clase
File
conoces? - ¿Qué sabes sobre la interfaz
FileFilter
? - ¿Cómo seleccionar todos los elementos de un determinado directorio por criterio (por ejemplo, con una determinada extensión)?
- ¿Qué sabes sobre
RandomAccessFile
? - ¿Qué modos de acceso a archivos tiene
RandomAccessFile
? - ¿Qué clases admiten secuencias de lectura y escritura en formato comprimido?
- ¿Es posible redirigir flujos de entrada/salida estándar?
- ¿Qué carácter es el separador al especificar una ruta en un sistema de archivos?
- ¿Qué es el "camino absoluto" y el "camino relativo" ?
- ¿Qué es un "vínculo simbólico" ?
al contenido
Publicación por entregas
- ¿Qué es la "serialización" ?
- Describe el proceso de serialización/deserialización usando
Serializable
. - ¿Cómo puedo cambiar el comportamiento predeterminado de serialización/deserialización?
- ¿Cómo excluir campos de la serialización?
- ¿Qué significa la palabra clave
transient
? - ¿Qué efecto tienen los modificadores de campo
static
y final
sobre la serialización? - ¿Cómo prevenir la serialización?
- ¿Cómo crear tu propio protocolo de serialización?
- ¿Cuál es el papel del campo
serialVersionUID
en la serialización? - ¿Cuándo debería cambiar el valor del campo
serialVersionUID
? - ¿Cuál es el problema con la serialización Singleton?
- ¿Cuáles son las formas de controlar los valores de un objeto deserializado?
al contenido
subprocesos múltiples
- ¿Cuéntanos sobre el modelo de memoria Java?
- ¿Qué es la "seguridad del hilo"?
- ¿Cuál es la diferencia entre "competencia" y "paralelismo" ?
- ¿Qué es la "multitarea cooperativa" ? ¿Qué tipo de multitarea utiliza Java? ¿A qué se debe esta elección?
- ¿Qué son el orden , la semántica como si fuera en serie , la coherencia secuencial , la visibilidad , la atomicidad , el suceso anterior , la exclusión mutua y la publicación segura ?
- ¿Cuál es la diferencia entre un proceso y un hilo?
- ¿Qué son los hilos verdes y existen en Java?
- ¿Cómo se puede crear un hilo?
- ¿Cuál es la diferencia entre
Thread
y Runnable
? - ¿Cuál es la diferencia entre
start()
y run()
? - ¿Cómo forzar el inicio de un hilo?
- ¿Qué es un "monitor" en Java?
- Defina el concepto de “sincronización”.
- ¿Cuáles son los métodos de sincronización en Java?
- ¿En qué estados puede estar un hilo?
- ¿Es posible crear nuevas instancias de una clase mientras se ejecuta
static synchronized
? - ¿Por qué podría ser necesario un mutex
private
? - ¿Cómo funcionan los métodos
wait()
y notify()
/ notifyAll()
? - ¿Cuál es la diferencia entre
notify()
y notifyAll()
? - ¿Por qué los métodos
wait()
y notify()
solo se llaman en un bloque sincronizado? - ¿Cuál es la diferencia entre el método
wait()
con y sin parámetro? - ¿Cuál es la diferencia entre
Thread.sleep()
y Thread.yield()
? - ¿Cómo funciona
Thread.join()
? - ¿Qué es el punto muerto ?
- ¿Qué es LiveLock ?
- ¿Cómo comprobar si un hilo mantiene el monitor de un recurso específico?
- ¿En qué objeto se produce la sincronización al llamar a un método
static synchronized
? - ¿Para qué se utiliza la palabra clave
volatile
, synchronized
, transient
y native
? - ¿Cuáles son las diferencias entre variables
volatile
y atómicas ? - ¿Cuáles son las diferencias entre
java.util.concurrent.Atomic*.compareAndSwap()
y java.util.concurrent.Atomic*.weakCompareAndSwap()
? - ¿Qué significa "prioridad del hilo" ?
- ¿Qué son los "hilos de demonio" ?
- ¿Es posible convertir el hilo principal de un programa en un demonio?
- ¿Qué significa “poner a dormir una corriente” ?
- ¿Cuál es la diferencia entre las dos interfaces
Runnable
y Callable
? - ¿Qué es
FutureTask
? - ¿Cuáles son las diferencias entre
CyclicBarrier
y CountDownLatch
? - ¿Cuál es la condición de carrera ?
- ¿Hay alguna manera de resolver el problema de las condiciones de carrera ?
- ¿Cómo detener el flujo?
- ¿Por qué no se recomienda utilizar el método
Thread.stop()
? - ¿Qué sucede cuando un hilo arroja una excepción?
- ¿Cuál es la diferencia entre
interrupted()
y isInterrupted()
? - ¿Qué es un "grupo de subprocesos" ?
- ¿Qué tamaño debe tener el grupo de subprocesos?
- ¿Qué sucede si la cola del grupo de subprocesos ya está llena, pero se envía una nueva tarea?
- ¿Cuál es la diferencia entre
submit()
y execute()
de un grupo de subprocesos? - ¿Cuáles son las diferencias entre una pila y un montón desde una perspectiva de subprocesos múltiples?
- ¿Cómo compartir datos entre dos hilos?
- ¿Qué opción de inicio de JVM se utiliza para controlar el tamaño de la pila de un subproceso?
- ¿Cómo obtener un volcado de hilo?
- ¿Qué es una variable ThreadLocal ?
- ¿Cuáles son las diferencias entre
synchronized
y ReentrantLock
? - ¿Qué es
ReadWriteLock
? - ¿Qué es un "método de bloqueo" ?
- ¿Qué es un “marco de bifurcación/unión” ?
- ¿Qué es
Semaphore
? - ¿Qué es el bloqueo Singleton de doble verificación ?
- ¿Cómo crear un Singleton seguro para subprocesos?
- ¿Cuáles son los beneficios de los objetos inmutables?
- ¿Qué es el giro ocupado ?
- ¿Enumere los principios que sigue en la programación multiproceso?
- ¿Cuál de las siguientes afirmaciones sobre los flujos es falsa?
- ¿Dadas 3 corrientes T1, T2 y T3? ¿Cómo implementar la ejecución en la secuencia T1, T2, T3?
- Escriba una pila mínima sin bloqueo (solo dos métodos:
push()
y pop()
). - Escriba una pila mínima sin bloqueo (solo dos métodos:
push()
y pop()
) usando Semaphore
. - Escriba una ArrayList mínima sin bloqueo (solo cuatro métodos:
add()
, get()
, remove()
, size()
). - Escriba una implementación segura para subprocesos de una clase con un método
BigInteger next()
sin bloqueo que devuelva los elementos de la secuencia: [1, 2, 4, 8, 16, ...]
. - Escriba un búfer limitado de subprocesos múltiples simple usando
synchronized
. - Escriba un búfer acotado multiproceso simple usando
ReentrantLock
.
al contenido
Programación reactiva
- ¿Qué es la programación reactiva y en qué se diferencia de la programación procedimental?
- Explicar el concepto de flujos de datos en programación reactiva.
- ¿Qué es el patrón Observer y cómo subyace a la programación reactiva?
- Describir el papel de Observable y Observer en la programación reactiva.
- ¿Qué es la contrapresión en el contexto de la programación reactiva?
- Explica la diferencia entre Observable Caliente y Frío.
- ¿Cuál es el papel de las suscripciones en la programación reactiva?
- ¿Cómo darse de baja de un hilo para evitar pérdidas de memoria?
- ¿Cuáles son los operadores en Project Reactor y para qué se utilizan?
al contenido
Servlets, JSP, JSTL
- ¿Qué es un "servlet" ?
- ¿Cuáles son las ventajas de la tecnología de servlet sobre CGI (Common Gateway Interface)?
- ¿Cuál es la estructura de un proyecto web?
- ¿Qué es un "contenedor de servlets" ?
- ¿Por qué necesitamos servidores de aplicaciones si tenemos contenedores de servlets?
- ¿Cómo gestiona un contenedor de servlets el ciclo de vida del servlet, cuándo y qué métodos se llaman?
- ¿Qué es un "descriptor de implementación" ?
- ¿Qué pasos se deben seguir al crear servlets?
- ¿Cuándo es necesario anular el método
service()
? - ¿Tiene sentido definir un constructor para un servlet? ¿Cuál es la mejor manera de inicializar los datos?
- ¿Por qué es necesario anular sólo
init()
sin argumentos? - ¿Cuáles son las tareas más comunes realizadas en un contenedor de servlets?
- ¿Qué sabes sobre los filtros de servlet ?
- ¿Por qué los servlets utilizan diferentes oyentes ?
- ¿Cuándo debería utilizar filtros de servlet y cuándo debería utilizar oyentes?
- ¿Cómo implementar un lanzamiento de servlet al mismo tiempo que el lanzamiento de la aplicación?
- ¿Cómo manejar las excepciones lanzadas por otro servlet en su aplicación?
- ¿Qué es
ServletConfig
? - ¿Qué es
ServletContext
? - ¿Cuáles son las diferencias entre
ServletContext
y ServletConfig
? - ¿Para qué sirve la interfaz
ServletResponse
? - ¿Para qué sirve la interfaz
ServletRequest
? - ¿Qué es
Request Dispatcher
? - ¿Cómo llamar a otro servlet desde un servlet?
- ¿Cuál es la diferencia entre
sendRedirect()
y forward()
? - ¿Para qué se utilizan los atributos de servlet y cómo se trabaja con ellos?
- ¿Cómo se puede permitir un punto muerto en un servlet?
- ¿Cómo obtener la ubicación real del servlet en el servidor?
- ¿Cómo obtener información del servidor desde un servlet?
- ¿Cómo obtener la dirección IP del cliente en el servidor?
- ¿Qué clases de contenedores de servlets conoces?
- ¿Cuáles son las diferencias entre
GenericServlet
y HttpServlet
? - ¿Por qué la clase
HttpServlet
se declara abstracta? - ¿Cuáles son los principales métodos presentes en la clase
HttpServlet
? - ¿Debería preocuparme por la seguridad de los subprocesos con servlets?
- ¿Qué método HTTP no es inmutable?
- ¿Cuáles son los métodos para enviar datos del cliente al servidor?
- ¿Cuál es la diferencia entre los métodos
GET
y POST
? - ¿Cuál es la diferencia entre
PrintWriter
y ServletOutputStream
? - ¿Es posible utilizar
PrintWriter
y ServletOutputStream
en un servlet al mismo tiempo? - Cuéntanos sobre la interfaz
SingleThreadModel
. - ¿Qué significa codificación de URL ? ¿Cómo hacer esto en Java?
- ¿Cuáles son los diferentes métodos de gestión de sesiones en servlets?
- ¿Qué son las galletas ?
- ¿Qué métodos para trabajar con cookies se proporcionan en los servlets?
- ¿Qué es la reescritura de URL ?
- ¿Por qué necesitamos y cuál es la diferencia entre
encodeURL()
y encodeRedirectURL()
? - ¿Qué es una "sesión" ?
- ¿Cómo notificar a un objeto en una sesión que la sesión no es válida o ha finalizado?
- ¿Cuál es una forma eficiente de garantizar que todos los servlets sean accesibles solo para el usuario con la sesión correcta?
- ¿Cómo podemos proporcionar seguridad en la capa de transporte para nuestra aplicación web?
- ¿Cómo organizar una conexión a una base de datos y permitir el inicio de sesión en un servlet?
- ¿Cuáles son las principales características introducidas en la especificación de Servlet 3 ?
- ¿Qué métodos de autenticación están disponibles para un servlet?
- ¿Qué son las páginas del servidor Java (JSP) ?
- ¿Por qué necesitas JSP?
- Describa cómo se procesan las páginas JSP, desde la solicitud al servidor hasta la respuesta al usuario.
- Explicar las etapas (fases) del ciclo de vida de JSP.
- Explicar los métodos del ciclo de vida de JSP.
- ¿Qué métodos del ciclo de vida de JSP se pueden anular?
- ¿Cómo puedo evitar el acceso directo a una página JSP desde un navegador?
- ¿Cuál es la diferencia entre contenido JSP dinámico y estático ?
- ¿Cómo comentar el código en JSP?
- ¿Cuáles son los principales tipos de etiquetas JSP?
- ¿Qué sabe sobre las acciones JSP ( etiqueta de acción y elementos de acción JSP )?
- Interacción JSP-servlet-JSP .
- ¿Qué alcances variables existen en JSP?
- ¿Qué objetos y métodos internos implícitos hay en una página JSP?
- ¿Qué objetos implícitos no están disponibles en una página JSP normal?
- ¿Qué sabes sobre
PageContext
y cuáles son los beneficios de usarlo? - ¿Cómo configurar los parámetros de inicialización para JSP?
- ¿Por qué no se recomienda utilizar scriptlets (elementos de script) en JSP?
- ¿Es posible definir una clase dentro de una página JSP?
- ¿Qué sabes sobre el lenguaje de expresión JSP (EL)?
- ¿Qué tipos de operadores EL conoces?
- Nombre los objetos JSP EL internos implícitos y en qué se diferencian de los objetos JSP.
- ¿Cómo deshabilitar la capacidad de usar EL en JSP?
- ¿Cómo averiguar el tipo de método HTTP usando JSP EL?
- ¿Qué es JSTL (biblioteca de etiquetas estándar JSP) ?
- ¿De qué grupos de etiquetas consta la biblioteca JSTL ?
- ¿Cuál es la diferencia entre
<c:set>
y <jsp:useBean>
? - ¿Cuál es la diferencia entre
<c:import>
y <jsp:include>
y la directiva <%@include %>
? - ¿Cómo se puede ampliar la funcionalidad de JSP?
- ¿Qué sabes acerca de escribir etiquetas JSP personalizadas?
- Dé un ejemplo del uso de etiquetas personalizadas.
- ¿Cómo hacer un salto de línea en HTML usando JSP?
- ¿Por qué no es necesario configurar etiquetas JSP estándar en
web.xml
? - ¿Cómo se pueden manejar los errores de la página JSP?
- ¿Cómo funciona el manejo de errores con JSTL?
- Cómo se configura JSP en el descriptor de implementación.
- ¿Es posible utilizar Javascript en una página JSP?
- ¿Siempre se crea un objeto de sesión en una página JSP? ¿Es posible deshabilitar su creación?
- ¿Cuál es la diferencia entre
JSPWriter
y el servlet PrintWriter
? - Describir las prácticas generales para trabajar con JSP.
al contenido
Bases de datos
- ¿Qué es una "base de datos" ?
- ¿Qué es un "sistema de gestión de bases de datos" ?
- ¿Qué es un "modelo de datos relacionales" ?
- Defina los términos clave “simple ”, “compuesta ”, “candidata” y “alternativa” .
- ¿Qué es una “clave primaria” ? ¿Cuáles son los criterios para su selección?
- ¿Qué es una “clave externa” ?
- ¿Qué es la "normalización" ?
- ¿Cuáles son las formas normales?
- ¿Qué es la "desnormalización" ? ¿Para qué se utiliza?
- ¿Qué tipos de relaciones existen en una base de datos? Dar ejemplos.
- ¿Qué son los "índices" ? ¿Para qué se usan? ¿Cuáles son sus ventajas y desventajas?
- ¿Qué tipos de índices hay?
- ¿Cuál es la diferencia entre los índices agrupados y no agrupados?
- ¿Tiene sentido indexar datos que tienen un pequeño número de valores posibles?
- ¿Cuándo es mejor un escaneo completo de un conjunto de datos que el acceso índice?
- ¿Qué es una "transacción" ?
- Nombre las propiedades principales de una transacción.
- ¿Qué niveles de aislamiento de transacciones hay?
- ¿Qué problemas pueden surgir con el acceso paralelo utilizando transacciones?
a contenido
SQL
- ¿Qué es "SQL" ?
- ¿Qué declaraciones SQL hay?
- ¿Qué significa
NULL
en SQL? - ¿Qué es una "tabla temporal" ? ¿Para qué se utiliza?
- ¿Para qué es una "vista" y para qué se usa?
- ¿Cuál es la sintaxis general de la instrucción
SELECT
? - ¿Qué es
JOIN
? - ¿Qué tipos de
JOIN
hay? - ¿Es mejor usar
JOIN
o subconsules? - ¿Para qué se usa el
HAVING
? - ¿Cuál es la diferencia entre las declaraciones
HAVING
y WHERE
? - ¿Para qué se usa
ORDER BY
declaración? - ¿Para qué se usa
GROUP BY
operador? - ¿Cómo se maneja el valor
NULL
GROUP BY
? - ¿Cuál es la diferencia entre
GROUP BY
declaraciones DISTINCT
? - Enumere las principales funciones agregadas.
- ¿Cuál es la diferencia entre
COUNT(*)
y COUNT({column})
? - ¿Qué hace la declaración
EXISTS
? - ¿Para qué se usan los
IN
, BETWEEN
LIKE
operadores? - ¿Para qué se usa la palabra clave
UNION
? - ¿Cuáles son las restricciones de integridad de datos en SQL?
- ¿Cuáles son las diferencias entre las restricciones
PRIMARY
y UNIQUE
? - ¿Puede una columna sujeta a una restricción
FOREIGN KEY
ser NULL
? - ¿Cómo crear un índice?
- ¿Qué hace la declaración
MERGE
? - ¿Cuál es la diferencia entre
DELETE
y TRUNCATE
? - ¿Qué es un "procedimiento almacenado" ?
- ¿Qué es un "disparador" ?
- ¿Qué es un "cursor" ?
- Describa la diferencia entre los tipos de datos
DATETIME
y TIMESTAMP
. - ¿Para qué tipos numéricos no es posible usar operaciones de adición/sustracción?
- ¿Cuál es el propósito de los operadores
PIVOT
y UNPIVOT
en Transact-SQL? - Explique las funciones de clasificación básicas en Transact-SQL.
- ¿Cuáles son las
INTERSECT
, EXCEPT
los operadores utilizados en Transact-SQL? - Escribe una solicitud ...
a contenido
JDBC
- ¿Qué es JDBC ?
- ¿Cuáles son los beneficios de usar JDBC?
- ¿Qué es una URL JDBC?
- ¿Cuáles son las partes de JDBC?
- Enumere los principales tipos de datos utilizados en JDBC. ¿Cómo se relacionan con los tipos de Java?
- Describa los pasos básicos de trabajar con una base de datos utilizando JDBC.
- ¿Cómo registrar un controlador JDBC?
- ¿Cómo establecer una conexión a una base de datos?
- ¿Qué niveles de aislamiento de transacciones son compatibles en JDBC?
- ¿Cómo se generan consultas de bases de datos?
- ¿Cuál es la diferencia entre la declaración y la estación preparada?
- ¿Cómo se procesa la consulta y los resultados de la base de datos?
- ¿Cómo llamar a un procedimiento almacenado?
- ¿Cómo cerrar una conexión de base de datos?
a contenido
Pruebas
- ¿Qué es la "prueba unitaria" ?
- ¿Qué es la "prueba de integración" ?
- ¿En qué se diferencian las pruebas de integración de las pruebas unitarias?
- ¿Qué tipos de objetos de prueba hay?
- ¿En qué se diferencia el stub de Mock ?
- ¿Qué son los "accesorios" ?
- ¿Qué anotaciones de partidos existen en Junit?
- ¿Para qué se usa la anotación
@Ignore
en Junit?
a contenido
Explotación florestal
- ¿Qué tipos de registros hay?
- ¿En qué partes consiste el sistema de registro LOG4J?
- ¿Qué es logger en log4j?
- ¿Qué es Appender en log4j?
- ¿Qué es el diseño en log4j?
- Enumere los niveles de registro en log4j? Indicar el orden de su prioridad.
- ¿Cuáles son las diferentes formas de configurar log4j?
a contenido
UML
- ¿Qué es UML ?
- ¿Qué son "diagrama" , "notación" y "metamodelo" en UML?
- ¿Qué tipos de gráficos hay?
- ¿Qué tipos de relaciones existen en un diagrama de estructura de clase?
a contenido
XML
- ¿Qué es XML ?
- ¿Qué es DTD ?
- ¿En qué se diferencia XML bien formado de XML válido ?
- ¿Qué es un "espacio de nombres " en XML?
- ¿Qué es XSD? ¿Cuáles son sus ventajas sobre XML DTD?
- ¿Qué tipos hay en XSD?
- ¿Qué métodos de lectura XML conoces? Describa las fortalezas y debilidades de cada método.
- ¿Cuándo debe usar DOM y cuándo debe usar Sax , Analizadores de Stax ?
- ¿Qué formas de escribir XML conoces?
- ¿Qué es Jaxp ?
- ¿Qué es XSLT ?
a contenido
Patrones de diseño
- ¿Qué es un "patrón de diseño" ?
- ¿Cuáles son las principales características de las plantillas?
- Tipos de patrones de diseño.
- Dé ejemplos de patrones de diseño básicos.
- Dé ejemplos de patrones de diseño generativo.
- Dé ejemplos de patrones de diseño estructural.
- Dé ejemplos de patrones de diseño de comportamiento.
- ¿Qué es un "antipatrón" ? ¿Qué antipatrón conoces?
- ¿Qué es la inyección de dependencia ?
a contenido
Conceptos básicos de HTML
- ¿Qué es "HTML" ?
- ¿Qué es "xhtml" ?
- ¿Qué es
DOCTYPE
y por qué se necesita? - ¿Cuál es el propósito de la etiqueta
<head>
? - ¿Cuál es la diferencia entre
<div>
y <span>
? - ¿Cómo se marcan los comentarios en HTML?
- ¿Cómo establece la dirección del documento para ir?
- ¿Cómo vincular a una dirección de correo electrónico?
- ¿Cuál es el propósito de la etiqueta
<em>
? - ¿Para qué son las etiquetas
<ol>
, <ul>
, <li>
? - ¿Para qué son las etiquetas
<dl>
, <dt>
, <dd>
? - ¿Para qué son las etiquetas
<tr>
, <th>
, <td>
? - ¿Es necesario escribir el atributo
alt
en la etiqueta <img>
? - ¿En qué caso es mejor escribir el código HTML?
- ¿Qué es una "mnemónica (entidad)"?
a contenido
Conceptos básicos de CSS
- ¿Qué es "CSS" ?
- ¿Cómo se representan los comentarios en CSS?
- ¿Qué es un "selector" ?
- Enumere los tipos principales de selectores.
- ¿Qué es una clase de pseudo?
- ¿Qué selectores de atributos hay?
- ¿Cuál es la diferencia entre
#my
y .my
? - ¿Cuál es la diferencia entre
margin
y padding
? - ¿Cuál es la diferencia entre los valores
0
y auto
en margin
? - ¿Qué propiedad especifica el color de fondo?
- ¿Cómo eliminar el subrayado para todos los enlaces en una página?
- ¿Para qué se usa la propiedad
clear
? - ¿Cómo hacer el texto en todos los elementos
<p>
en negrita? - ¿Cómo puedo configurar el color rojo para todos los elementos que tienen la clase
red
?
a contenido
Conceptos básicos web
- ¿Qué es www ?
- ¿Qué es W3C ?
- ¿Cuáles son las capas del modelo OSI ?
- ¿Qué es TCP/IP ?
- ¿Qué es UDP ?
- ¿Cuál es la diferencia entre TCP y UDP ?
- ¿Qué es un protocolo de transferencia de datos? ¿Qué protocolos conoces?
- ¿Qué son HTTP y HTTPS ? ¿En qué se diferencian?
- ¿Qué es FTP ?
- ¿Cuál es la diferencia entre los métodos Get y Post ?
- ¿Qué es un tipo mime ?
- ¿Qué es un servidor web ?
- ¿Qué es la aplicación web ?
- ¿Qué es el servidor de aplicaciones ?
- ¿Cuál es la diferencia entre el servidor web y el servidor de aplicaciones ?
- ¿Qué es Ajax ? ¿Cómo funciona esta tecnología fundamentalmente?
- ¿Qué es WebSocket ?
- ¿Qué es JSON ?
- ¿Qué es un esquema JSON ?
- ¿Qué son las cookies ?
- ¿Qué es una "sesión" ?
- ¿Qué son la "autorización" y la "autenticación" ? ¿En qué se diferencian?
a contenido
Apache Kafka
- ¿Qué es Apache Kafka?
- Componentes centrales de Kafka
Arquitectura de componentes
- Tema
- Arquitectura del tema
- Configuración del tema de Kafka
- Corredor
- Arquitectura de corredor
- Configuración de Broker de Kafka
- Productor
- Arquitectura del productor
- Configuración del productor
- Ejemplo de configuración del productor de Kafka
- Consumidor
- Arquitectura del consumidor
- Configuración del consumidor
- Ejemplo de configuración del consumidor de Kafka
API KAFKA
- API básicas de Kafka
- ¿Cuál es el papel de la API del productor?
- ¿Cuál es el papel de la API del consumidor?
- ¿Cuál es el papel de la API del conector?
- ¿Cuál es el papel de la API de Streams?
- ¿Cuál es el papel de la API de transacciones?
- ¿Cuál es el papel de la API de la cuota?
- ¿Cuál es el papel de la API de administración?
Consumidor de kafka
- ¿Por qué necesitas un coordinador grupal?
- ¿Para qué sirve el hilo del corazón del consumidor?
- ¿Cómo procesa Kafka los mensajes?
- ¿Cómo maneja Kafka la latencia del consumidor?
- ¿Para qué se utilizan los métodos de suscripción () y poll ()?
- ¿Para qué se utiliza el método de posición ()?
- ¿Para qué se utilizan los métodos CommitSync () y CommitAsync ()?
Otras preguntas
- ¿Para qué sirve un productor idempotente?
- ¿Para qué sirve la interfaz del particionador?
- ¿Para qué sirve el hilo de limpiador de registros de Broker?
- ¿Para qué se usa Kafka Mirror Maker?
- ¿Por qué se necesita el registro de esquema?
- ¿Por qué necesitas Streams DSL?
- ¿Cómo proporciona Kafka Versión de mensajes?
- ¿Cómo reciben los consumidores mensajes del corredor?
Comparación con otros componentes y sistemas
- ¿Cuál es la diferencia entre Kafka Consumer y Kafka Stream?
- ¿Cuál es la diferencia entre Kafka Streams y Apache Flink?
- ¿Cuál es la diferencia entre Kafka y Flume?
- ¿Cuál es la diferencia entre Kafka y Rabbitmq?
a contenido
Materiales adicionales
- 4 canales inteligentes de YouTube sobre entrevistas técnicas
- Una lista de preguntas elegantes que me hicieron durante las entrevistas que tuve
- Entrevista de trabajo en inglés: cómo prepararse y qué responder
- Ingeniero senior que busca trabajo. Sobre tareas de entrevistas técnicas y preguntas teóricas
- Qué pedirle a un entrevistador durante una entrevista tecnológica
- Preguntas de la entrevista de Boot de primavera
- Preguntas de la entrevista del marco de primavera superior
- Preguntas de la entrevista de primavera
- Preguntas de la entrevista hibernada
a contenido
Fuentes
- Preguntas de la entrevista de desarrollador de Java Junior