Golang
Πόσα μικροϋπηρεσίες υπήρχαν περίπου στο σύστημα;
Πώς να αναλύσετε και να βελτιστοποιήσετε μια αργή ερώτηση SQL;
Ποια είναι η διαφορά μεταξύ διαδικασιών και νημάτων;
Ποιες είναι οι προσδοκίες σας σχετικά με τον μισθό;
Τι ακριβώς επιτρέπει το blockchain που δεν επιτρέπει απλώς ένα ζευγάρι δημόσιου/ιδιωτικού κλειδιού;
Ποια είναι τα πιθανά προβλήματα κατά την επανάληψη σε ένα map στο Go;
Εσείς σχεδιάσατε και υπολογίσατε τις logistics routes;
Μπορείς να δώσεις ένα παράδειγμα αυτονομίας — ποιος ήταν ο μέγιστος χρόνος που εργάστηκες σε μια εργασία ή πρόβλημα;
Τι είναι το context στο Go και πώς χρησιμοποιείται;
Ποια είναι η διαφορά μεταξύ Clean Architecture και DDD;
Ποιοι είναι οι τρόποι συγχρονισμού των goroutines στο Go;
Μίλησέ μου για το πιο αξέχαστο σφάλμα στην παραγωγή: τι ήταν, πώς το διόρθωσες και ποια συμπεράσματα έβγαλες;
Μίλησέ μου για το context στο Go: για ποιο λόγο χρησιμοποιείται, πώς λειτουργεί η ακύρωση;
Έχετε ερωτήσεις σχετικά με τις διαδικασίες, τις συνθήκες εργασίας και τα επόμενα βήματα;
Σχεδιάστε ένα κλιμακούμενο σύστημα ανταλλαγής μηνυμάτων που υποστηρίζει 150 εκατομμύρια χρήστες, 75 εκατομμύρια DAU, 225 εκατομμύρια MAU, 1.2M ανάγνωση / 300k εγγραφή QPS, 5 εκατομμύρια ταυτόχρονους χρήστες, 60 PB νέα δεδομένα ετησίως, ετήσια αύξηση 30%, P99 <200 ms για ανάγνωση, <300 ms για εγγραφή, SLA 99.95%. ΠΕΡΙΒΑΛΛΟΝ Απαιτείται ο σχεδιασμός ενός διανεμημένου συστήματος ανταλλαγής μηνυμάτων, παρόμοιου με το WhatsApp, που υποστηρίζει προσωπικά και ομαδικά chat, διασφαλίζει την παράδοση μηνυμάτων, εμφανίζει online καταστάσεις χρηστών και μεταφέρει πολυμέσα αρχεία (φωτογραφίες, βίντεο, ήχο). Το σύστημα πρέπει να διασφαλίζει υψηλή διαθεσιμότητα και χαμηλή καθυστέρηση, να αντέχει σε υψηλό παράλληλο φόρτο και να κλιμακώνεται σε παγκόσμιο επίπεδο. ΑΠΑΙΤΗΣΕΙΣ ΛΕΙΤΟΥΡΓΙΚΕΣ - Υποστήριξη προσωπικών (1:1) και ομαδικών chat με δυνατότητα προσθήκης/αφαίρεσης συμμετεχόντων - Αποστολή και λήψη κειμένων και πολυμέσων Μη λειτουργικές απαιτήσεις: - Δεν υπάρχει σαφής υλοποίηση μηχανισμού end-to-end κρυπτογράφησης σε επίπεδο υπηρεσιών ή πελατών, εκτός από μια γενική σημείωση. - Δεν υπάρχει σαφής περιγραφή του sharding και της αναπαραγωγής βάσεων δεδομένων βάσει chat_id ή user_id για κλιμάκωση και αντοχή σε σφάλματα. - Δεν υπάρχει σαφές στοιχείο ή μηχανισμός για offline συγχρονισμό μηνυμάτων και αποδείξεων παράδοσης. - Δεν είναι σαφές πώς γίνεται η ισοκατανομή φόρτου μεταξύ βάσεων δεδομένων και υπηρεσιών, ειδικά σε περιόδους αιχμής. **Σημεία που χρήζουν προσοχής:** (Το διάγραμμα δείχνει μια αρχιτεκτονική με Load Balancer, API Gateway, Message Queue, Service, Cache, Database, Object Storage και CDN.)
Τι συμβαίνει αν μπλοκάρει η κλήση συστήματος (syscall);
Έχετε εργαστεί ποτέ με συναλλαγές στο PostgreSQL; Με ποια επίπεδα απομόνωσης συναλλαγών έχετε συναντήσει, σε ποιες περιπτώσεις χρησιμοποιούνται;
Πόσο γρήγορα θα λειτουργεί μια γραμμική αναζήτηση όλων των backend σε υψηλό RPS (π.χ., 30.000 RPS και 10 backend);
Πώς λειτουργούν το HTTPS και το TLS; Τι είναι ένα πιστοποιητικό και πώς το ελέγχει ο περιηγητής;
Από ποια μέρη αποτελείται ένα αίτημα HTTP;