Java
Opowiedz o twierdzeniu CAP. Czym jest i do czego służy?
Opowiedz o jakimś super trudnym zadaniu, które długo rozwiązywałeś i ostatecznie rozwiązałeś.
Jaki indeks użyć do wyszukiwania w tablicy varchar w PostgreSQL? Czym są indeksy BRIN i Bloom?
Co należy zmienić w tym kodzie, aby implementacja wzorca Singleton była poprawna i bezpieczna w wielowątkowym środowisku? public class Singleton { private static final Singleton instance; public Singleton() { } public Singleton getInstance() { if (instance != null) { synchronized (instance) { if (instance == null) { instance = new Singleton(); } } } return instance; } }
Czym różni się rebase od merge w Git?
Qual è il problema principale di questa implementazione - Uso inefficiente del pool fisso di thread - Problemi con l'interazione delle risorse condivise - L'inclusione errata del blocco può portare a una situazione di stallo. - Livello di sincronizzazione errato - Nessun controllo di tutti i thread prima del risultato - Nessun costruttore esplicito Codice: import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class RecyclingBinCounter { private int binCount; private final ReentrantLock lock = new ReentrantLock(); public void incrementBins() { lock.lock(); try { binCount++; } finally { lock.unlock(); } } public int getBinCount() { return binCount; } } class RecyclingManager { public static void main(String[] args) { RecyclingBinCounter counter = new RecyclingBinCounter(); ExecutorService service = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { service.submit(() -> { for (int j = 0; j < 1000; j++) { counter.incrementBins(); } }); } service.shutdown(); while(!service.isTerminated()) {} System.out.println("Total bins collected: " + counter.getBinCount()); } }
Czym jest średnia złożoność algorytmiczna? Czy możesz to wyjaśnić i podać przykłady algorytmów o różnej złożoności?
Czym jest zasada Barbary Liskov (LSP)? Czy możesz podać przykład naruszenia?
Czym jest PECS i kiedy używać extends/super?
Jak przyjąć żądanie POST z JSON po stronie Spring? Kiedy następuje konwersja JSON na DTO?
Jaka jest różnica między publishOn a subscribeOn w Reactorze?
Czym są sondy readiness i liveness w Kubernetes?
Jak zablokować rekord w bazie danych, aby nikt inny nie mógł wprowadzić sprzecznych zmian?
Opowiedz o rodzajach gwarancji dostawy w Kafka, czym się różnią i w jakich przypadkach lepiej używać które.
Ile rekordów zostanie zwróconych, jeśli w A jest 10 rekordów, a w B 100 rekordów w RIGHT JOIN?
Dlaczego zdecydowałeś się odejść z obecnego miejsca pracy?
Na jakie mikroserwisy podzielić sklep internetowy?
Dlaczego lepiej używać wstrzykiwania przez konstruktor zamiast wstrzykiwania przez pole (@Autowired)?
Doświadczenie z gRPC i REST?
public class RefEx { public static class PdfProcessor implements DocumentProcessor { } public static class DocxProcessor implements DocumentProcessor { @Override public void process(Document document) { // Specyficzna logika do obsługi Word } } public static class XmlProcessor implements DocumentProcessor { @Override public void process(Document document) { // Specyficzna logika do obsługi XML } } public static class DocumentService { private final Map<DocumentType, DocumentProcessor> processors = Map.of( DocumentType.PDF, new PdfProcessor(), DocumentType.DOCX, new DocxProcessor(), DocumentType.XML, new XmlProcessor() ); public void process(Document[] documents) { for (Document doc : documents) { DocumentProcessor processor = processors.get(doc.type); if (processor == null) { break; } // Ogólna logika przetwarzania dokumentu processor.process(doc); } } } }