Java
[nombre] preguntó: ¿Cuáles son las entidades principales en Kafka, cómo interactúan y para qué sirven?
¿Qué es una colisión en HashMap? ¿Cuál es la complejidad optimista y pesimista del acceso?
¿Escribiste un starter de Spring Boot? ¿Para qué? ¿Con qué características te encontraste?
Cuéntame sobre el patrón Estrategia.
¿Ha trabajado directamente con consultas SQL sin usar ORM o bibliotecas externas?
¿Qué le motivó a elegir nuestra organización para trabajar?
¿Puede enumerar los principales códigos de estado HTTP y sus significados?
¿Qué garantiza Kafka al usar un grupo de consumidores con tres particiones y tres consumidores?
¿Qué colección usar para la tabla de resultados con ordenamiento por apellido y búsqueda por clave?
¿Qué sucede si eliminas un elemento de la colección dentro de un ciclo foreach?
¿Qué es un archivo WAR y para qué se utiliza en el proceso de desarrollo y despliegue de aplicaciones?
¿Cómo registra automáticamente Spring un componente usando la anotación @Bean y el nombre de la clase?
¿En qué se diferencian las estrategias de carga de información relacionada: perezosa (Lazy) y ansiosa (Eager)?
¿En qué casos se considera que la estructura Heap es insegura para trabajar en un entorno multihilo?
¿Puede explicar el significado del teorema de Brouwer y su aplicación?
public class Accumulator { private Map<String, Object> data = new HashMap<>(); // conjunto actual de datos private List<Map<String, Object>> dataList = new ArrayList<>(); // lote de datos private Map<Instant, String> responses = new HashMap<>(); // respuestas del servidor que recibe datos private int dataId; /** * Agrega un campo field con el valor value al conjunto */ public void add(String field, String value) { data.put(field, value); } /** * Devuelve el valor por el nombre del campo field */ public <T> T get(String field) { return (T) data.get(field); } /** * Devuelve las respuestas del servidor que recibe datos */ public String getResponses() { String out = ""; for (String resp : responses.values()) { out += "; " + resp; } return out; } /** * Finaliza la recopilación del conjunto actual de datos y lo envía en un lote */ public synchronized void push() { dataList.add(data); if (dataList.size() == 100) { send(); dataList.clear(); } data = new HashMap<>(); data.put("id", dataId++); } /** * Envía el lote al servidor que recibe datos */ private void send() { RestTemplate restTemplate = new RestTemplate(); HttpEntity<List<Map<String, Object>>> request = new HttpEntity<>(dataList); String url = "localhost:20808/msg/incoming"; ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class); responses.put(Instant.now(), response.getBody()); } }
¿Por qué se elige el mecanismo de herencia en la programación orientada a objetos?
¿Qué es EXPLAIN ANALYZE, para qué sirve y cómo funciona?
¿Cuándo es mejor usar el método submit de Executor o el método start de Thread para ejecutar tareas?
¿Cuál es la función del método collect en la API Stream y en qué casos se recomienda usarlo?