Με ποιες βάσεις δεδομένων εργάστηκες και σε ποιο επίπεδο; Περισσότερες λεπτομέρειες για PostgreSQL, Redis, ClickHouse.
Golang
Πώς επιστρέφουμε ένα αντικείμενο τύπου error στο Go χωρίς να χρησιμοποιούμε το πακέτο errors της τυπικής βιβλιοθήκης;
Σχεδιάστε ένα σχήμα SQL για ένα τραπεζικό σύστημα με πίνακες λογαριασμών και συναλλαγών. Ποιους περιορισμούς και δείκτες χρειάζονται;
Τι συμβαίνει μετά την εισαγωγή του google.com στον browser και το πάτημα του Enter; Περιγράψτε ολόκληρη τη διαδικασία και τους συμμετέχοντες.
Εξηγήστε τη δομή του περιοριστή ρυθμού και τη λειτουργία Allow. Ποια παράμετροι διαμόρφωσης χρησιμοποιούνται και για ποιο σκοπό;
Ποια είναι η διαφορά μεταξύ TCP και UDP; Πού εφαρμόζεται ο καθένας τους;
Πού και πώς να εκτελέσετε τη λειτουργία cleanup; Πώς να μεταδώσετε το πλαίσιο στον rate limiter;
Διορθώστε την υλοποίηση του cleanup χρησιμοποιώντας έναν κανονικό βρόχο for αντί για range. Εξηγήστε τη τελική λογική καθαρισμού.
Υπάρχει ένα μικροϋπηρεσία για την αφαίρεση χρημάτων από το υπόλοιπο του χρήστη; Όταν γίνεται η αναπαραγωγή της υπηρεσίας, προκύπτει ένα πρόβλημα race condition. Πώς να λύσετε αυτό το πρόβλημα;
Εξηγήστε την υλοποίηση της λειτουργίας Allow μετά τις διορθώσεις. Πώς αντιμετωπίζεται η περίπτωση του πρώτου αιτήματος από τον χρήστη;
Με ποιο πρωτόκολλο πραγματοποιείται το ερώτημα DNS; Είναι αυτό το μόνο πιθανό πρωτόκολλο;
Πώς μπορεί να αποφευχθεί το πρόβλημα με την κινητή υποδιαστολή χωρίς τη χρήση NUMERIC; Ποια είναι μια εναλλακτική προσέγγιση με τον τύπο INT;
Προτείνετε ένα μοντέλο κατάστασης για τις συναλλαγές στην επεξεργασία πληρωμών. Πώς λειτουργεί η επιστροφή χρημάτων;
Γιατί χρειάζεται ένα mutex σε έναν περιοριστή ρυθμού; Μπορεί να λυθεί το πρόβλημα χωρίς mutex, χρησιμοποιώντας το sync.Map;
Μπορεί να διασφαλιστεί η παράδοση δεδομένων μέσω UDP;
Εξηγήστε τη διαδικασία πληρωμής με τραπεζική κάρτα μέσω του τερματικού: ποιοι συμμετέχουν και πώς γίνεται η αλληλεπίδραση μεταξύ τους;
Γιατί επιλέξατε τον τύπο NUMERIC(18,2) για το amount; Ποιες είναι οι εναλλακτικές και ποιο είναι το πρόβλημα με το DOUBLE PRECISION;
Πώς οργανώνετε μια goroutine στο παρασκήνιο για τον περιοδικό καθαρισμό παλαιότερων δεδομένων από τα buckets;
Τι είναι ένας δείκτης στο PostgreSQL; Πώς εργάστηκες με δείκτες και βάσει τι πήρες την απόφαση για τη δημιουργία δείκτη;
Υλοποιήστε τη λογική της λειτουργίας Allow για τον περιοριστή ρυθμού. Πώς θα παρακολουθείτε τα γεγονότα και θα ελέγχετε τα όρια;