Ποια είναι τα βασικά εγγυήσεις παράδοσης μηνυμάτων που παρέχει το Kafka σύμφωνα με το θεωρητικό του μοντέλο;
Java
Μπορεί να συμπεριληφθεί ερώτημα γεωγραφίας στις παραμέτρους ενός αιτήματος HTTP GET;
Εξηγήστε την έννοια της συνέπειας δεδομένων στα συστήματα αποθήκευσης πληροφοριών.
Σε ποιες περιπτώσεις και υπό ποιες συνθήκες μπορεί να συμβούν απώλειες δεδομένων στο Kafka;
Ποια προβλήματα μπορεί να προκύψουν αν αλλάξετε μια συλλογή κατά τη διάρκεια της διαδρομής της;
Ποιες πιθανές δυσκολίες και περιορισμοί μπορεί να προκύψουν κατά τη χρήση του Kafka σε συστήματα;
Πώς καταφέραμε να διπλασιάσουμε το throughput;
Ποιος είναι ο ρόλος και ο σκοπός των λειτουργικών διεπαφών στον προγραμματισμό;
Ποια στοιχεία περιλαμβάνει η αρχιτεκτονική του Kafka και πώς αλληλεπιδρούν μεταξύ τους;
Ποιο είναι το επίπεδο δυσκολίας στην αύξηση του μεγέθους του ArrayList κατά την προσθήκη κάθε 1000 στοιχείων;
Έχετε εμπειρία με το πλαίσιο Spring για την ανάπτυξη εφαρμογών;
Μπορείτε να εξηγήσετε τι είναι το Gson και πώς λειτουργεί με τα πεδία κατά την σειριοποίηση και αποσειριοποίηση;
Σε ποιον διακομιστή ή πλατφόρμα πραγματοποιήθηκε η ανάπτυξη της εφαρμογής;
Ποια είναι η χρονική πολυπλοκότητα της εισαγωγής ενός στοιχείου στο μέσο μιας συνδεδεμένης λίστας, αν έχετε ήδη μια γεμάτη array;
Μπορούν να επαναχρησιμοποιηθούν οι ήδη κλειστές ροές δεδομένων (Streams) στη Java;
Πώς μετράμε την αποτελεσματικότητα της εργασίας με δεδομένα και σε τι επηρεάζει;
Πραγματοποιήστε μεταφορά κεφαλαίων μεταξύ δύο λογαριασμών. Λάβετε υπόψη ότι αυτή είναι μια λύση παραγωγής Παραμέτροι εισόδου: @param fromAccountId μοναδικός αναγνωριστικός κωδικός του χρήστη που μεταφέρει κεφάλαια @param toAccountId μοναδικός αναγνωριστικός κωδικός του χρήστη στον οποίο μεταφέρονται τα κεφάλαια @param amount ποσό μεταφοράς. Θετικός αριθμός public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Το ποσό πρέπει να είναι > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Ο λογαριασμός δεν μπορεί να είναι ο ίδιος"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Λογαριασμός όχι βρεθεί")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Λογαριασμός όχι βρεθεί")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Ανεπαρκές υπόλοιπο"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
Πώς αξιολογείται η δυσκολία της ενέργειας εισαγωγής ενός στοιχείου στο κεντρικό μέρος μιας διπλής συνδεδεμένης λίστας;
Μπορείτε να εξηγήσετε τον μηχανισμό λειτουργίας της δομής δεδομένων HashMap και πώς διασφαλίζει γρήγορη πρόσβαση στα στοιχεία;
Τι σας παρακινεί να εξετάσετε το ενδεχόμενο αλλαγής τρέχοντος έργου;