Was unterscheidet Spring Boot von der Hauptplattform Spring und was sind ihre funktionalen Unterschiede?
Java
An welcher Stelle wird die Ausführungsreihenfolge der Aufrufe im Programm gespeichert?
Können Sie das Konzept des Streams in der Java Stream API und seine wichtigsten Anwendungsbereiche beschreiben?
Könnten Sie erklären, was unter Propagation im Kontext Ihres Projekts oder Systems verstanden wird?
Wie erkennt er, ob er einen neuen Eintrag hinzufügen oder einen bestehenden aktualisieren soll, wenn wir versuchen, neue Werte einzufügen?
Wie funktionieren die Sichtbarkeitsbereiche von Komponenten in Spring und was sind ihre Besonderheiten?
Was machen map und flatMap bei Mono?
Können Sie erklären, was der Begriff Scope in Maven bedeutet und wie er die Verwaltung von Abhängigkeiten beeinflusst?
Können Sie erklären, was eine Terminalmethode in der Stream-API ist und wie sie verwendet wird?
Welche Methoden können verwendet werden, um das Problem des Speicherlecks in einem Programm zu beheben?
Kannst du verschiedene Arten von nicht-relationalen Datenbanken nennen, mit denen du gearbeitet hast?
Was ist der Unterschied zwischen der Verwendung des Factory Method Patterns und der Implementierung einer Fabrik in Java?
Was sind Pod, Deployment und Deployment Config in Kubernetes/OpenShift? Wo liegt der Unterschied?
Kannst du die Arten von Dokumenten nennen, die für die automatische Dokumentation in Projekten verwendet werden?
Welche Folgen können auftreten, wenn man ein veränderbares Objekt als Schlüssel in einer Hash-Tabelle verwendet?
Können Sie die verschiedenen Propagationsstrategien in Spring-Transaktionen auflisten und erklären?
Welche Tools und Bibliotheken für automatisiertes Testen verwendest du in deiner Praxis?
Was wird dieser Code ausgeben? public class StreamApi { @Data @AllArgsConstructor public static class Client { private String name; private String city; } public static Map<String, Long> countBy(Stream<Client> clients, Function<Client, String> clientParameterGetter) { return clients.collect(Collectors.groupingBy(clientParameterGetter, TreeMap::new, Collectors.counting())); } public static void main(String[] args) { List<Client> clients = List.of( new Client("Иванов", "Москва"), new Client("Михайлов", "Санкт-Петербург"), new Client("Сергеев", "Санкт-Петербург"), new Client("Иванов", null), new Client("Сергеев", null) ); long count = clients.stream() .peek(client -> { if (client.getCity() == null) { client.setCity("Москва"); } }) .count(); Predicate<Client> clientPredicate = client -> client.getCity() != null; Stream<Client> validClients = clients.stream().filter(clientPredicate); System.out.println(count); System.out.println(countBy(validClients, Client::getName)); System.out.println(countBy(validClients, Client::getCity)); } }
Kannst du die verfügbaren Zwischenoperationen in der Stream-API auflisten?
Haben Sie einen eigenen Spring Boot Starter für das Projekt erstellt?