Γιατί δεν επιστρέφονται σφάλματα στη μέθοδο Process; Πρέπει να διορθωθεί και να σταλεί ο πλήρως λειτουργικός κώδικας.
Golang
Ποια είναι η διαφορά μεταξύ σχεσιακών βάσεων δεδομένων και NoSQL;
Γιατί τώρα μπαίνεις στην αγορά;
Ποιες άλλες δομές χρησιμοποιούνται για δείκτες σε βάσεις δεδομένων εκτός από το δέντρο B;
Τι είναι τα κανάλια στο Go και ο τελεστής select;
Ποια κατεύθυνση ή έργο σου έχει ανατεθεί αυτήν τη στιγμή στην τρέχουσα οργάνωσή σου;
Πώς λειτουργεί η δυαδική αναζήτηση σε μια ταξινομημένη λίστα;
Μπορεί το πλαίσιο να χρησιμοποιηθεί για τη μεταφορά δεδομένων μεταξύ συστατικών ή λειτουργιών;
Τι είναι ένας δείκτης και πόσο ζυγίζει;
Ποια είναι η διαφορά μεταξύ μιας διαδικασίας και ενός νήματος;
Τι είναι η κατάσταση αγώνα και ποιοι είναι οι τρόποι προστασίας από αυτήν;
Οι ενημερώσεις εγγράφων φτάνουν στην υπηρεσία message Document { string Url = 1; // URL του εγγράφου, ο μοναδικός του αναγνωριστικός uint64 PubDate = 2; // δηλωμένος χρόνος δημοσίευσης του εγγράφου uint64 FetchTime = 3; // χρόνος λήψης αυτής της ενημέρωσης εγγράφου, μπορεί να θεωρηθεί ως αναγνωριστικό έκδοσης. Το ζεύγος (Url, FetchTime) είναι μοναδικό. string Text = 4; // κείμενο του εγγράφου uint64 FirstFetchTime = 5; // αρχικά απουσιάζει, πρέπει να συμπληρωθεί } Τα έγγραφα μπορούν να φτάσουν σε οποιαδήποτε σειρά (όχι με τη σειρά που ενημερώθηκαν), και μπορεί να υπάρχουν διπλά μηνύματα. Είναι απαραίτητο να δημιουργηθούν στην έξοδο ίδια μηνύματα, αλλά με διορθωμένα πεδία σύμφωνα με τους ακόλουθους κανόνες (όλα τα παρακάτω αφορούν μια ομάδα εγγράφων με το ίδιο πεδίο Url): Το πεδίο Text και FetchTime πρέπει να είναι ίσα με αυτά του εγγράφου με το μεγαλύτερο FetchTime που έχει ληφθεί μέχρι τώρα. Το πεδίο PubDate πρέπει να είναι ίσο με αυτό του μηνύματος με το μικρότερο FetchTime. Το πεδίο FirstFetchTime πρέπει να είναι ίσο με την ελάχιστη τιμή FetchTime. Με άλλα λόγια, σε κάθε στιγμή παίρνουμε το PubDate και το FirstFetchTime από την πρώτη έκδοση που έχει ληφθεί μέχρι τώρα (αν τα ταξινομήσουμε κατά FetchTime), και το Text από την τελευταία. Ο διασυνδεδεμένος κώδικας μπορεί να υλοποιηθεί ως: type Processor interface { Process(doc *Document) (*Document, error) } Αυτός ο κώδικας θα λειτουργεί σε μια υπηρεσία που διαβάζει μηνύματα από μια ουρά (Kafka ή παρόμοια), και επίσης γράφει το αποτέλεσμα στην ουρά. Αν το Process επιστρέφει Null, τίποτα δεν γράφεται στην ουρά.
Ποια είναι η διαφορά μεταξύ μιας goroutine και ενός νήματος του λειτουργικού συστήματος;
Πώς χρησιμοποιείτε το select για να εργαστείτε ταυτόχρονα με πολλά κανάλια;
Τι είναι οι probes (δοκιμές) στο Kubernetes, πώς τις ρυθμίζετε και ποιοι τύποι υπάρχουν;
Τι άλλο, εκτός από ένα mutex, μπορεί να χρησιμοποιηθεί για την προστασία από συνθήκες αγώνα;
Τι είναι η επανάληψη σε μια συμβολοσειρά μέσω for range στο Go; Τι είναι οι μεταβλητές i και v μέσα στον βρόχο, ποιοι είναι οι τύποι δεδομένων τους;
Πες μας για την πρακτική σου εμπειρία με τα κανάλια στο Go — πώς τα χρησιμοποίησες στην πράξη;
Τι είναι η ασυμπτωτική σημειογραφία και τι σημαίνει;
Τι είναι η εικονική μνήμη (swap), πότε χρειάζεται και πότε πρέπει να την απενεργοποιήσετε;