Cum să accelerezi inserarea a 100 de miliarde de înregistrări în baza de date? În prezent: un ciclu cu generate + insert + commit pentru fiecare linie.
Embedded / IoT
Există un constructor într-o clasă abstractă?
Ce colectori de API Stream cunoști? Ce returnează groupingBy? Cu ce se deosebește de toMap? Cum se comportă toMap în cazul duplicatelor de chei?
Pe ce câmpuri trebuie să faci hashCode dacă egalitatea ne mulțumește?
Întrebare pentru intervievator: există un mecanism de sincronizare între indexul Lucene și depozitul SQL principal? Cum se rezolvă problema coerenței?
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(); } }
// ... apelarea codului de test aici? // ... ceva cod aici?
Cum se obține elementul unic dintr-o Listă? Cum se obține elementul unic dintr-un Set dacă get(0) nu există?
Cum se execută codul după ce Spring a injectat toate dependențele bean-ului?
Ce este o expresie lambda?
Cum se execută același cod după inițializare pentru toate bean-urile care implementează o anumită interfață, fără a duplica @PostConstruct în fiecare?
Ai avut vreodată de lucru cu metoda clone()? Îți place să gestionezi CloneNotSupportedException aruncând o nouă Error()?
Ce interfețe ale Collection Framework cunoști? Care sunt părinții comuni ai List, Set, Queue, Map?
// ... ceva cod aici?
hashCode() returnează întotdeauna 1 — ce nu este în regulă cu asta? Va funcționa corect HashMap?
Ce este java.lang.Error? Cu ce diferă de Exception?
Care este complexitatea algoritmului de căutare binară O?
// ... ceva cod aici? 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()); }
Cum se gestionează mesajele nevalide în Kafka?
Ce este findFirst() și ce este o operație terminală în Stream API?