Таблица PERSON ID Име 1 alice 2 john 3 bill 4 mike 5 sara 6 helen 7 steven 8 garry 9 kile 10 liza Таблица PHONE ID PERSON_ID НОМЕР [phone] изберете Име, Номер от PERSON p ляво присъединяване към PHONE ph на p.ID=ph.PERSON_ID
Embedded / IoT
Кои колектори на Stream API познаваш? Какво връща groupingBy? Как се различава от toMap? Как се държи toMap при дублиращи се ключове?
Има ли конструктор в абстрактен клас?
На базата на кои полета трябва да се направи hashCode, ако ни удовлетворява equals?
Въпрос към интервюиращия: има ли механизъм за синхронизация между Lucene индекса и основното SQL хранилище? Как се решава въпросът за консистентността?
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(); } }
// ... извикване на тестовия код тук? // ... някакъв код тук?
Как да получите единствения елемент от списък? Как да получите единствения елемент от Set, ако няма get(0)?
Как да изпълним кода след като Spring е инжектирал всички зависимости на бина?
Какво е лямбда израз?
// ... някакъв код тук?
Как да изпълним един и същи код след инициализация за всички бинове, реализиращи определен интерфейс, без да дублираме @PostConstruct във всеки от тях?
Работили ли сте някога с метода clone()? Харесва ли ви да обработвате CloneNotSupportedException чрез throw new Error()?
Кои интерфейси на Collection Framework познаваш? Какви общи родители имат List, Set, Queue, Map?
hashCode() винаги връща 1 — какво не е наред с това? Ще работи ли правилно HashMap?
Как да обработваме невалидни съобщения в Kafka?
Какво е java.lang.Error? Как се различава от Exception?
// ... някакъв код тук? 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()); }
Каква е сложността на алгоритъма за двоично търсене O?
Какво е findFirst() и каква е терминалната операция в Stream API?