Tabela PERSON ID NOME 1 alice 2 john 3 bill 4 mike 5 sara 6 helen 7 steven 8 garry 9 kile 10 liza Tabela PHONE ID PERSON_ID NÚMERO [phone] selecionar NOME, NÚMERO de PERSON p junção esquerda com PHONE ph em p.ID=ph.PERSON_ID
Embedded / IoT
Que coletores da API Stream conheces? O que retorna o groupingBy? Como se diferencia do toMap? Como se comporta o toMap com chaves duplicadas?
Existe um construtor numa classe abstrata?
Com que campos deve-se fazer hashCode se equals nos satisfaz?
Pergunta ao entrevistador: existe algum mecanismo de sincronização entre o índice Lucene e o armazenamento SQL principal? Como é resolvida a questão da consistência?
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(); } }
// ... chamar o código de teste aqui? // ... algum código aqui?
Como obter o único elemento de uma Lista? Como obter o único elemento de um Set, se get(0) não estiver disponível?
Como executar o código após o Spring ter injetado todas as dependências do bean?
O que é uma expressão lambda?
// ... algum código aqui?
Já teve que trabalhar com o método clone()? Gostas de lidar com CloneNotSupportedException lançando um novo Error()?
Que interfaces do Collection Framework conheces? Quais são os pais comuns de List, Set, Queue, Map?
Como executar um código idêntico após a inicialização para todos os beans que implementam uma interface específica, sem duplicar @PostConstruct em cada um deles?
Como lidar com mensagens inválidas no Kafka?
O que é java.lang.Error? Como difere de Exception?
Qual é a complexidade do algoritmo de busca binária O?
O que é findFirst() e operação terminal na Stream API?
hashCode() sempre retorna 1 — o que há de errado com isso? O HashMap funcionará corretamente?
// ... algum código aqui? 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()); }