Java
Erklären Sie die eventgesteuerte Interaktion zwischen Diensten unter Verwendung von Kafka im Detail.
Ist die Implementierung einer idempotenten Ereignisverarbeitung eine Leistung für einen Senior oder ist das etwas, das von ihm ohnehin erwartet wird?
An welchen Projekten und mit welchen Produkten haben Sie bei [Firma] gearbeitet?
Erzählen Sie uns von der Multithread-Programmierung in Java: Was haben Sie verwendet?
Kann man die Tests verbessern, zum Beispiel durch Reduzierung des Codes?
Wie haben sie das Team zusammengeschweißt?
class User { String name; public int hashCode() { return name.hashCode(); } public boolean equals(Object o) { return o instanceof User u && name.equals(u.name); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.name = "Bob"; map.put(u, "Entwickler"); u.name = "Alice"; System.out.println(map.get(u));
10 Handler-Anwendungen greifen Aufgaben aus der Datenbank ab. Wie kann man verhindern, dass zwei Instanzen dieselbe Aufgabe übernehmen?
Was war synchron und was hat sich geändert? Welcher der beiden Fälle (nach Zeitplan oder durch Statusänderung) war synchron?
Was suchen Sie in einem Team und einem Produkt? Was sind Ihre Kriterien bei der Wahl eines Arbeitsplatzes?
Was ist das N+1-Problem in JPA/Hibernate? Wie wurde es gelöst?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Überprüfen, ob das Buch existiert " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("Buch existiert bereits"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Buch {} von {} wurde mit id {} erstellt", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Buch holen " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Buch holen ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("Buch nicht gefunden")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
Tabelle person mit der Liste der Mitarbeiter id name 1 Petya 2 Vasya 3 Kolya Tabelle payment mit Gehaltszahlungen id person_id payment_value [phone] Es ist eine Abfrage zu schreiben, um die Namen der Mitarbeiter mit einer Gesamtsumme der Zahlungen über 100 auszuwählen
Was ist das Hauptproblem dieser Implementierung? - Es wird kein In-Memory-Caching zur Optimierung verwendet. - Verschiedene Datentypen in einem Hash - Die Überprüfung des Schalters vor dem Lesen der Daten liefert keine Ergebnisse - Fehlende Standard-Serialisierer in `RedisTemplate` - Pipeline wird nicht für partielle Operationen verwendet
Code-Aufgabe: Spring @Transactional und Selbstaufruf (Screenshot mit Code)
Welche Sammlung verwenden Sie für die Ergebnistabelle mit Sortierung nach Nachname und Suche nach Schlüssel?
Wie passt REST zur Speicherung von Benutzerdaten (z.B. in einem Online-Shop)?
Erzählen Sie mir von Ihrer Entwicklungserfahrung und in welche Richtung Sie wachsen möchten.
Berichten Sie über konkrete Ergebnisse und Erfolge in Zahlen.
Mussten Sie jemals die NOT IN-Bedingung optimieren? Wie schlimm ist das und wie kann man es optimieren?