producent 1 konsument 4 partycja 3 temat 1
Java
Czym różni się valueOf od fromString?
Napisz metodę, która zwraca n-ty element ciągu Fibonacciego
Opowiedz o sobie, swoim doświadczeniu, jakie zadania rozwiązałeś, dlaczego zdecydowałeś się odejść
Dlaczego ExecutorService jest popularny? Jaką ma przewagę nad bezpośrednim tworzeniem wątków?
Rozpocząłeś pracę w 2020 roku w 'Zautomatyzowanych Systemach Transportu'; miałeś 17 lat?
Na czym polegała optymalizacja zapytań SQL?
Jak zaimplementować równoległe wywołania w Java 17 bez wirtualnych wątków?
Jakie są strategie dostarczania wiadomości w Kafka i jak są one realizowane?
Jakie etapy rozwoju i wdrażania oprogramowania były w Twoim zespole?
Jakie są opcje unikania problemów z dostępem współbieżnym podczas pracy z HashMap?
Czym różni się kontener Docker od maszyny wirtualnej?
Jak działa Spring Security?
Baza danych jest duża, zbudowaliśmy indeksy, sprawdziliśmy plan — co jeszcze można zrobić, aby zoptymalizować?
Jak zaimplementować wzorzec Strategy do dynamicznego wyboru usługi według typu encji w Spring (zadanie kodowe)?
Który z parametrów interakcji integracyjnych nie poprawia się wraz ze wzrostem przepustowości?
Jakie cache w Hibernate?
Jakie przypadki testowe napisałbyś dla tej metody?
import java.util.Arrays; import java.util.HashMap; import java.util.Map; public class badCounter { public static Map<String, Integer> mapOfBadNames = new HashMap<>(); protected void doProcessing(String filePath) throws IOException { try { FileInputStream fis = new FileInputStream(filePath); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); while((br.readLine())!=null){ processWords(br.readLine()); } br.close(); fis.close(); } catch (IOException | NullPointerException ex) { System.out.println(ex.getMessage()); } } private void processWords(String line) { Arrays.stream(line.split(" ")) .map(String::trim) .forEach(word -> { if(mapOfBadNames.containsKey(word)){ mapOfBadNames.put(word, mapOfBadNames.get(word)+1); } else{ mapOfBadNames.put(word, 1); } }); } public void writeResultToFile(String path) throws IOException { try { PrintWriter out = new PrintWriter(path); out.println("word,frequency"); for(Map.Entry<String, Integer> entry : mapOfBadNames.entrySet()){ out.println(entry.getKey() + "," + entry.getValue()); } out.close(); } catch (NullPointerException | IOException ex) { throw new RuntimeException("Error writing to file", ex); } } public boolean isEverythingFine() { return true; } public static void main(String[] args) { badCounter bcn = new badCounter(); try { bcn.doProcessing("bad_input.txt"); bcn.writeResultToFile("result.csv"); bcn.doProcessing("bad_input1.txt"); bcn.writeResultToFile("result1.csv"); } catch (IOException ex) { System.out.println("Something went wrong"); } } }
Dlaczego zwiększyłeś rozmiar puli połączeń przy dużym obciążeniu i czym się to różni od zwiększenia ogólnej liczby żądań?