Πώς θα έπαιρνες με μια ερώτηση τη λίστα των μη αποκλεισμένων πωλητών, έχοντας έναν πίνακα με όλους τους πωλητές και έναν άλλο μόνο με τους αποκλεισμένους;
Golang
Η πρόσοψη έχει πρόσβαση σε 10 εσωτερικές υπηρεσίες (καθεμία 100-300 ms) καθώς και σε μια παγκόσμια υπηρεσία στην Κίνα (500 ms), ο συνολικός χρόνος απόκρισης είναι περίπου 3,5 δευτερόλεπτα. Πώς θα λύνατε αυτό το πρόβλημα για να επιταχύνετε την επεξεργασία;
Αν μια από τις υπηρεσίες που χρησιμοποιείς επιστρέψει σφάλμα, τι θα κάνεις και πώς θα το διαχειριστείς αν υπάρχει κανάλι;
Έχεις ερωτήσεις για τον συνάδελφό σου;
Είχατε ένα μόνο gateway υπηρεσίας στην είσοδο, με το οποίο επικοινωνούσαν όλοι οι συνεργάτες (B2B); Σε πόσες περιπτώσεις λειτουργούσε;
Πώς να μην πηγαίνετε καθόλου σε μια υπηρεσία που σίγουρα θα καταρρεύσει ή θα είναι απρόσιτη;
Ο Redis κρατούσε τα δεδομένα μόνο στη μνήμη ή υπήρχε fallback στον δίσκο; Τι θα συμβεί αν ο Redis πέσει;
Στη γλώσσα Go υπάρχουν goroutines — ελαφριά νήματα. Μπορείς να εξηγήσεις πώς καταλαβαίνεις πότε πρέπει να χρησιμοποιήσεις μια goroutine και πότε όχι;
Αν υπάρχει μια μεγάλη εργασία, για παράδειγμα ένα αρχείο 10 GB με ρυθμίσεις γραμμή προς γραμμή, και πρέπει να επεξεργαστεί κάθε γραμμή (για παράδειγμα, να βάλει μια τελεία στο τέλος), θα βοηθούσαν οι goroutines να επιταχύνουν αυτή τη δουλειά;
Φοβάσαι τον χρονόμετρο; Γιατί;
Αν χρησιμοποιήσετε κανάλια για τη συλλογή αποτελεσμάτων από υπηρεσίες, πόσα κανάλια θα χρειάζονταν για την οργάνωση αυτού του μηχανισμού;
Πόσα κέντρα δεδομένων είχατε: ένα ή περισσότερα;
Πώς υπολογιζόταν το RPS — απλώς προσθέτατε το φορτίο σε όλες τις λαβές, ή πώς;
Πώς υλοποιήσατε την ατομικότητα της εγγραφής στο Redis; Ποιο αλγόριθμο χρησιμοποιήσατε (Lua script);
Εργάζεσαι κυρίως απομακρυσμένα;
Αν κάνεις μια συγχρονισμένη αίτηση στη βάση δεδομένων ή σε μια γειτονική υπηρεσία, και η αίτηση διαρκεί 5 δευτερόλεπτα, τι θα συμβεί με το νήμα του λειτουργικού συστήματος στο οποίο τρέχει η υπηρεσία ενώ η αίτηση εκτελείται;
Πώς να καταλάβετε πού βρίσκεται το σημείο συμφόρησης στην επεξεργασία αρχείου — αν η επεξεργασία γραμμή προς γραμμή φαίνεται αργή, και οι goroutines επεξεργάζονται σε βρόχο;
Είπατε ότι έχετε μια υπηρεσία που ακούει το Kafka και ενημερώνει την cache στο Redis, σωστά;
Τι θα μεταδιδες μέσα σε αυτό το κανάλι (ποια δομή δεδομένων);
Η υπηρεσία απλώς διανέμει δεδομένα από την cache, ή εκτελεί και κάποια άλλη λογική;