Java
[nume] a întrebat: Care sunt principalele entități din Kafka, cum interacționează și pentru ce sunt folosite?
Ce este o coliziune în HashMap? Care este complexitatea optimistă și pesimistă a accesului?
Ai scris un starter Spring Boot? De ce? Cu ce caracteristici te-ai confruntat?
Spune-mi despre pattern-ul Strategie.
Ați lucrat direct cu interogări SQL fără a folosi ORM sau biblioteci terțe?
Ce v-a motivat să alegeți organizația noastră pentru a lucra?
Puteți enumera principalele coduri de stare HTTP și semnificațiile lor?
Ce garantează Kafka atunci când utilizează un grup de consumatori cu trei partiții și trei consumatori?
Ce colecție să folosiți pentru tabelul de rezultate cu sortare după nume și căutare după cheie?
Ce se întâmplă dacă ștergi un element din colecție în interiorul unei bucle foreach?
Ce este un fișier WAR și pentru ce este utilizat în procesul de dezvoltare și implementare a aplicațiilor?
Cum înregistrează Spring automat un component folosind adnotarea @Bean și numele clasei?
Care sunt diferențele dintre strategiile de încărcare a informațiilor conexe: lazy (leneș) și eager (însetat)?
În ce cazuri se consideră că structura Heap este nesigură pentru a lucra într-un mediu multithread?
Puteți explica sensul teoremei lui Brouwer și aplicarea sa?
public class Accumulator { private Map<String, Object> data = new HashMap<>(); // set de date curente private List<Map<String, Object>> dataList = new ArrayList<>(); // lot de date private Map<Instant, String> responses = new HashMap<>(); // răspunsurile serverului care primește datele private int dataId; /** * Adaugă un câmp field cu valoarea value în set */ public void add(String field, String value) { data.put(field, value); } /** * Returnează valoarea după numele câmpului field */ public <T> T get(String field) { return (T) data.get(field); } /** * Returnează răspunsurile serverului care primește datele */ public String getResponses() { String out = ""; for (String resp : responses.values()) { out += "; " + resp; } return out; } /** * Încheie colectarea setului curent de date și îl trimite în lot */ public synchronized void push() { dataList.add(data); if (dataList.size() == 100) { send(); dataList.clear(); } data = new HashMap<>(); data.put("id", dataId++); } /** * Trimite lotul către serverul care primește date */ private void send() { RestTemplate restTemplate = new RestTemplate(); HttpEntity<List<Map<String, Object>>> request = new HttpEntity<>(dataList); String url = "localhost:20808/msg/incoming"; ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class); responses.put(Instant.now(), response.getBody()); } }
De ce se alege mecanismul de moștenire în programarea orientată pe obiecte?
Ce este EXPLAIN ANALYZE, la ce folosește și cum funcționează?
Când este mai bine să folosiți metoda submit din Executor sau metoda start din Thread pentru a porni sarcinile?
Care este funcția metodei collect în API-ul Stream și în ce cazuri este recomandat să o utilizați?