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"); } } }
Java
Povězte nám o principech SOLID
Jak jsou rozděleni spotřebitelé na partitiony: připojuje se každý spotřebitel ke každé partition nebo ne?
Připojovala se aplikace přímo k PostgreSQL nebo přes mezilehlou komponentu?
Co je RAG z pohledu dokumentů — o jaké dokumenty se jedná a jak jsou připravovány?
Produkt přišel s požadavkem na vývoj věrnostní služby, která na základě počtu doručených objednávek (hlavní systém objednávek OMS) bude poskytovat službě objednávání (pokladna) velikost slevy. Věrnostní služba zatím nebude mít front-endovou část, je třeba v databázi uložit mapování, od jakého počtu doručených a ne zrušených objednávek je jaká sleva. Něco jako: Objednávky Sleva [phone]% [phone]% [phone]% [phone]% Je třeba navrhnout službu, navrhnout mechanismy integrace se službou objednávek a správou objednávek. Je třeba navrhnout architekturu služby, kterou lze předat vývojovému a nasazovacímu týmu.
Jak chránit kontroler podle rolí ve Spring Security?
Povězte nám o projektech, technologiích a technických výzvách, na kterých jste pracoval.
Pokud zvýšíte počet částí z jedné na deset, jak rovnoměrně rozdělíte zprávy mezi nimi?
Proč jste nemohli jednoduše škálovat synchronní API, přidat instance aplikace nebo kapacitu databáze místo Kafka?
Jak HashMap umisťuje objekty do stromového boxu, pokud klíč neimplementuje Comparable?
Jaké máte celkové zkušenosti v IT?
Zmínil jste, že jste urychlil operace z 600 na 100–150 ms. Jaké technologie a řešení to umožnily?
Znáte model outstaffingu?
V jakých případech byste použili @Async?
Jak implementovat dvě implementace integrace: jednu reálnou pro výrobu a jednu mock pro testování?
Jak je HashMap interně strukturována?
Jak vybrat mezi dvěma implementacemi pomocí jedné konfigurace bez profilů Spring?
Co dělají Object.wait(), notify() a notifyAll()?
Implementujte thread-safe RateLimiter: maximálně 5 požadavků za sekundu pro jeden userId, metoda isAllowed(String userId).