Tabella PERSON ID NOME 1 alice 2 john 3 bill 4 mike 5 sara 6 helen 7 steven 8 garry 9 kile 10 liza Tabella PHONE ID PERSON_ID NUMERO [phone] seleziona NOME, NUMERO da PERSON p left join PHONE ph su p.ID=ph.PERSON_ID
Embedded / IoT
Quali collettori dell'API Stream conosci? Cosa restituisce groupingBy? In cosa si differenzia da toMap? Come si comporta toMap in presenza di chiavi duplicate?
C'è un costruttore in una classe astratta?
Domanda all'intervistatore: esiste un meccanismo di sincronizzazione tra l'indice Lucene e l'archivio SQL principale? Come viene risolta la questione della coerenza?
Su quali campi bisogna fare hashCode se equals ci soddisfa?
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(); } }
// ... chiamare il codice di test qui? // ... qualche codice qui?
Come eseguire il codice dopo che Spring ha iniettato tutte le dipendenze del bean?
Come ottenere l'unico elemento da una Lista? Come ottenere l'unico elemento da un Set se get(0) non esiste?
Cos'è un'espressione lambda?
Come gestire i messaggi non validi in Kafka?
// ... qualche codice qui?
Come eseguire lo stesso codice dopo l'inizializzazione per tutti i bean che implementano un'interfaccia specifica, senza duplicare @PostConstruct in ciascuno?
Hai mai lavorato con il metodo clone()? Ti piace gestire CloneNotSupportedException lanciando un nuovo Error()?
Quali interfacce del Collection Framework conosci? Quali sono i genitori comuni di List, Set, Queue, Map?
Cos'è java.lang.Error? In cosa si differenzia da Exception?
Qual è la complessità dell'algoritmo di ricerca binaria O?
hashCode() restituisce sempre 1 — cosa c'è di sbagliato? La HashMap funzionerà correttamente?
// ... qualche codice qui? 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()); }
Cos'è findFirst() e quale è l'operazione terminale in Stream API?