Ποιες είναι οι στρατηγικές παράδοσης μηνυμάτων στο Kafka και πώς υλοποιούνται;
Java
παραγωγός 1 καταναλωτής 4 διαμέρισμα 3 θέμα 1
Ποια είναι η διαφορά μεταξύ valueOf και fromString;
Ποιο ήταν το περιεχόμενο της βελτιστοποίησης των ερωτημάτων SQL;
Γιατί και πώς μεταβήκατε σε Kafka για ασύγχρονη επεξεργασία και μείωση φόρτου;
Ξεκινήσατε να εργάζεστε το 2020 στην "Αυτοματοποιημένα Συστήματα Μεταφοράς"; ήσασταν 17 ετών;
Γράψτε μια μέθοδο που επιστρέφει το N-ο στοιχείο της ακολουθίας Fibonacci
Πείτε για τον εαυτό σας, την εμπειρία σας, ποιες εργασίες λύσατε, γιατί αποφασίσατε να φύγετε
Γιατί το ExecutorService είναι δημοφιλές; Ποιο είναι το πλεονέκτημά του σε σύγκριση με τη δημιουργία νημάτων απευθείας;
Ποιες είναι οι επιλογές για την αποφυγή προβλημάτων με ταυτόχρονη πρόσβαση κατά την εργασία με HashMap;
Ποια είναι η διαφορά μεταξύ ενός Docker κοντέινερ και μιας εικονικής μηχανής;
Ποια ήταν τα στάδια ανάπτυξης και υλοποίησης λογισμικού στην ομάδα σας;
Πώς λειτουργεί το Spring Security;
Ποια cache υπάρχουν στο Hibernate;
Ποια από τις παραμέτρους των ολοκληρωτικών αλληλεπιδράσεων δεν βελτιώνεται με την αύξηση της χωρητικότητας;
Η βάση δεδομένων είναι μεγάλη, κατασκευάσαμε δείκτες, ελέγξαμε το σχέδιο — τι άλλο μπορούμε να κάνουμε για βελτιστοποίηση;
Πώς υλοποιείται το μοτίβο Strategy για την δυναμική επιλογή υπηρεσίας ανάλογα με τον τύπο οντότητας στο Spring (εργασία κώδικα);
Ποια τεστ περιπτώσεις θα γράφατε για αυτήν τη μέθοδο;
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"); } } }
Αν αυξήσετε τον αριθμό των partitions από ένα σε δέκα, πώς θα διανείμετε ομοιόμορφα τα μηνύματα μεταξύ τους;