Ας αρχίσουμε να γράφουμε τη δομή — τι θα χρειαστούμε σε αυτήν τη δομή;
Golang
Πώς αποθηκεύονται τα δεδομένα στη βάση δεδομένων;
Γιατί πρέπει να διακόψουμε το πλαίσιο στην δομή; Γιατί να τερματίσουμε τους εργαζόμενους; Θέλουμε να διακόψουμε τη μέθοδο Stop.
Τι συνέβαινε αν η υπηρεσία κατέρρεε και δεν διάβαζε μηνύματα από το Kafka;
Έχεις ερωτήσεις για μένα;
Ποια είναι η διαφορά μεταξύ HAVING και WHERE;
Στη τρέχουσα εργασία σου, γράφεις πολύ ασύγχρονο κώδικα;
Τι συμβαίνει με το buffer όταν οι goroutines που γράφουν μπλοκάρουν;
Προσθέτεις WaitGroup, για ποιο λόγο;
Πώς είναι το offset που δεσμεύεται από τον καταναλωτή σε διαφορετικά modes;
Πώς δημιουργείτε μια γενική δομή δεδομένων (που λειτουργεί με οποιοδήποτε τύπο τιμών) στο Go;
Πώς διαφέρει το RIGHT JOIN από άλλα JOIN; Τι είναι το CROSS JOIN;
Σύνθετοι δείκτες — τι πρέπει να τοποθετηθεί πρώτα: η ισότητα ή το εύρος;
Διαφορά μεταξύ εικονικής μηχανής και κοντέινερ
Μίλησέ μου για το CQRS
Γιατί επιλέξατε το Kafka και όχι άλλα συστήματα μηνυμάτων (RabbitMQ, NATS);
Πώς υλοποιείτε έναν ταξινομημένο χάρτη (ordered map) σε Go που εγγυάται τη σειρά των κλειδιών κατά την επανάληψη;
Ποια άλλα ποσοστιαία χρησιμοποιήσατε;
// Γράψτε έναν ασύγχρονο διαχειριστή εργασιών ως βιβλιοθήκη // Ο πελάτης μεταβιβάζει ένα αντικείμενο (Task) με δεδομένα για την εκτέλεση της εργασίας, // στο παράδειγμά μας θα χρησιμοποιήσουμε μια κενή δομή. // Ο διαχειριστής μπορεί να επεξεργάζεται ταυτόχρονα όχι περισσότερες από N εργασίες, // και όχι περισσότερες από X εργασίες μπορούν να τοποθετηθούν σε ουρά για επεξεργασία. // Αν δεν υπάρχει χώρος στην ουρά, επιστρέφουμε άμεσα σφάλμα στον πελάτη. // Η εργασία λαμβάνεται υπό επεξεργασία αν υπάρχουν διαθέσιμοι ελεύθεροι επεξεργαστές. // Προσομοιώνουμε τη διάρκεια επεξεργασίας με time.Sleep(5*time.Second). // Μόλις μια εργασία ολοκληρωθεί, παίρνουμε την επόμενη από την ουρά. // Αν η ουρά είναι άδεια, περιμένουμε νέες εργασίες από τους πελάτες. // Με ένα αστερίσκο: επεκτείνετε τη δομή Task και λαμβάνετε τις καταστάσεις των εργασιών μέσω ξεχωριστού αιτήματος.
Πώς προσθέτετε πλαίσιο στη μέθοδο Stop ώστε να μπορείτε να διακόψετε την αναμονή εκτέλεσης των εργασιών με χρονικό όριο;