¿Cómo acelerar la inserción de 100 mil millones de registros en la base de datos? Actualmente: un ciclo con generate + insert + commit para cada fila.
Embedded / IoT
¿Tiene un constructor en una clase abstracta?
¿Qué colecciones de la API Stream conoces? ¿Qué devuelve groupingBy? ¿En qué se diferencia de toMap? ¿Cómo se comporta toMap con claves duplicadas?
¿Sobre qué campos se debe hacer hashCode si equals nos satisface?
Pregunta para el entrevistador: ¿existe un mecanismo de sincronización entre el índice de Lucene y el almacenamiento SQL principal? ¿Cómo se resuelve la cuestión de la consistencia?
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; import java.io.*; @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "Person", propOrder = { "name", "surname", "address", "phone", }) public class Person implements Serializable, Externalizable { private String name; private String surname; public String address; public String phone; public Person(String name, String surname) { this.name = name; this.surname = surname; } public String getName() { return name; } public String getSurname() { return surname; } @Override public int hashCode() { return 1; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Person person = (Person) o; if (name != null ? !name.equals(person.name) : person.name != null) { return false; } if (surname != null ? !surname.equals(person.surname) : person.surname != null) { return false; } return true; } @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeObject(name); out.writeObject(surname); out.writeObject(phone); out.writeObject(address); } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { name = (String) in.readObject(); surname = (String) in.readObject(); address = (String) in.readObject(); phone = (String) in.readObject(); } }
// ... llamar al código de prueba aquí? // ... algún código aquí?
¿Cómo obtener el único elemento de una Lista? ¿Cómo obtener el único elemento de un Set si no existe get(0)?
¿Cómo ejecutar el código después de que Spring haya inyectado todas las dependencias del bean?
¿Qué es una expresión lambda?
¿Cómo ejecutar un código idéntico después de la inicialización para todos los beans que implementan una interfaz determinada, sin duplicar @PostConstruct en cada uno?
¿Has tenido que trabajar con el método clone()? ¿Te gusta manejar CloneNotSupportedException lanzando un nuevo Error()?
¿Qué interfaces del Framework de Colecciones conoces? ¿Qué padres comunes tienen List, Set, Queue, Map?
// ... ¿algún código aquí?
hashCode() siempre devuelve 1 — ¿qué está mal con esto? ¿Funcionará correctamente HashMap?
¿Qué es java.lang.Error? ¿En qué se diferencia de Exception?
¿Cuál es la complejidad del algoritmo de búsqueda binaria O?
// ... ¿algún código aquí? private static List<DocumentProvider> getDocumentProviders() { Reflections reflections = new Reflections(Main.class.getProtectionDomain().getCodeSource().getLocation()); Set<Class<?>> subTypes = reflections.get(SubTypes.of(DocumentProvider.class).asClass()); return subTypes.stream().map(subType -> { try { return (DocumentProvider) subType.getConstructor().newInstance(); } catch (Exception ex) { throw new RuntimeException(ex); } }).collect(Collectors.toList()); }
¿Cómo manejar mensajes no válidos en Kafka?
¿Qué es findFirst() y qué es una operación terminal en Stream API?