Java
Η εργασία διατυπώθηκε ως "μείωση της καθυστέρησης", και ψάξατε εσείς τη λύση;
Έχετε ποτέ ενεργήσει ως ηγέτης ομάδας;
Πώς λειτουργεί ο συνδυασμός Kafka + Redis sorted set + εξωτερικός προγραμματιστής για καθυστερημένες ειδοποιήσεις;
Ποια συλλέκτες απορριμμάτων (Garbage Collectors) γνωρίζετε στη Java; Υπάρχουν συστάσεις για τη χρήση διαφορετικών τύπων;
Έχεις εμπειρία με προϊόντα AI/ML;
Τι προτιμάται περισσότερο από την άποψη της στοίβας;
Μίλησέ μου για τη διαδικασία ανάπτυξης (Agile/Scrum). Πώς αξιολογούνται οι εργασίες;
7. Δοκιμάζετε τη φόρμα προσθήκης νέων προϊόντων στον πίνακα διαχείρισης. Δημιουργείτε ένα νέο προϊόν, πατάτε το κουμπί Αποθήκευση και βλέπετε μια λευκή κενή οθόνη. Περιγράψτε τα επόμενα βήματά σας.
Ποιοι είναι οι δύο βασικοί τύποι λειτουργιών στο API Stream;
Έχετε εργαστεί ποτέ με Spring Data και Hibernate; Ποια προβλήματα απόδοσης λύσατε;
Δώστε ένα παράδειγμα όπου δεν είναι απαραίτητο να χρησιμοποιήσετε μια αρχιτεκτονική μικροϋπηρεσιών και αναφέρετε μερικούς λόγους.
Για ποιες εργασίες θα ήταν κατάλληλο το Istio;
Υλοποιήστε μια cache LRU με αντικατάσταση παλαιών τιμών (βασική υλοποίηση)
Ποια θέματα Kafka θα υπάρχουν στο σύστημα αναφορών, ποιος παράγει και ποιος καταναλώνει;
Γράψτε ένα ερώτημα SQL: επιλέξτε τους τίτλους όλων των βιβλίων που έχουν περισσότερους από τρεις συγγραφείς.
Μπορείτε να χρησιμοποιήσετε volatile για μια μεταβλητή long και σε ποιες περιπτώσεις είναι ασφαλές;
/** * Διεπαφή για αλληλεπίδραση με το υλικό του αυτόματου ταμείου. */ interface Hardware { /** * Επιστρέφει έναν πίνακα με τον αριθμό των χαρτονομισμάτων ανά ονομασία 50, 100, 500, 1000, 5000. * Η μέθοδος λειτουργεί αργά και παράγει θόρυβο. * * @return πίνακας όπου κάθε στοιχείο αντιστοιχεί στον αριθμό των χαρτονομισμάτων μιας συγκεκριμένης ονομασίας. * Για παράδειγμα, [10, 20, 30, 40, 50] σημαίνει: * - 10 χαρτονομίσματα των 50 ρουβλίων * - 20 χαρτονομίσματα των 100 ρουβλίων * - 30 χαρτονομίσματα των 500 ρουβλίων * - 40 χαρτονομίσματα των 1000 ρουβλίων * - 50 χαρτονομίσματα των 5000 ρουβλίων */ int[] getBillsCounts(); /** * Φορτώνει στο κουτί εξόδου τα αναφερόμενα χαρτονομίσματα. * * @param billsCounts πίνακας με τον αριθμό των χαρτονομισμάτων ανά ονομασία [50, 100, 500, 1000, 5000]. * Για παράδειγμα, [0, 1, 0, 2, 0] σημαίνει: * - 0 χαρτονομίσματα των 50 * - 1 χαρτονόμισμα των 100 * - 0 χαρτονομίσματα των 500 * - 2 χαρτονομίσματα των 1000 * - 0 χαρτονομίσματα των 5000 */ void giveBills(int[] billsCounts); } /** * Κλάση για την υλοποίηση της λογικής του αυτόματου ταμείου. * Εδώ πρέπει να γραφεί ο κώδικας */ class MyATM { /** * Υλικό του αυτόματου ταμείου. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }
Πότε πρέπει να εφαρμόζετε την αρχή της Αντιστροφής Εξαρτήσεων και πότε όχι (σχέση με YAGNI)
Ποια scopes υπάρχουν στο Spring; Τι είναι το scope singleton;
Πες μου για το θεώρημα CAP. Τι είναι και ποιος είναι ο σκοπός του;