Golang
// Ερώτηση 1. Τι θα εμφανιστεί στην οθόνη; package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Σφάλμα", err) } fmt.Println(s) }
Τι θα συμβεί στο τέλος με το μήκος του πίνακα κατά τη συγχρονισμένη προσθήκη από 1000 goroutines;
Έφτασε μια παραλαβή στο αποθήκη, στη συνέχεια φορτώθηκαν 5 τεμάχια από το αποθήκη στο φορτηγό. Πώς θα προχωρήσει η ροή στο πληροφοριακό σύστημα;
Μίλησε για το map στο Go.
Ποιος πρέπει να κλείσει το κανάλι εξόδου out — η λειτουργία merge ή η main;
Φαντάσου μια κατάσταση: έχεις έρθει σε ένα έργο όπου ο κώδικας γράφεται εδώ και χρόνια, υπάρχει πολύ legacy, δεν υπάρχουν δοκιμές, και όλα αυτά δυσκολεύονται να αναπνεύσουν. Από πού θα ξεκινούσες την εργασία σε μια τέτοια κατάσταση, αν έπρεπε να εισάγεις μια νέα λειτουργία;
Έχεις αντιμετωπίσει ποτέ την έννοια του sharding;
Τι είναι το Mutex και το RWMutex; Ποια είναι η διαφορά;
Πώς αισθάνεσαι στην ομάδα σε επίπεδο; Τι λείπει για μια πλήρη θέση senior;
Τι είναι ένας μερικός (partial) δείκτης;
Πώς καταλαβαίνεις σε ποιο κουβά να βάλεις ένα νέο στοιχείο;
Σε ποιο πεδίο μπλοκαρίσματος αναφέρεσαι (διευκρίνιση σχετικά με την denormalization, σημαία is_blocked);
Τι κάνατε στην τελευταία σας εργασία; Ποιο ήταν το έργο;
Πείτε για το byte και το rune στο Go, ποια είναι η διαφορά, και δώστε ένα παράδειγμα με την αναστροφή μιας συμβολοσειράς.
Μπορεί το Kafka να λειτουργήσει με gRPC;
Έπρεπε να ορίσετε ρητά το επίπεδο απομόνωσης στον κώδικα;
Πού πηγαίνει η επανάληψη σε περίπτωση σύγκρουσης έκδοσης της βελτιστοποιημένης κλειδώματος — από το μήνυμα Kafka ή από την υπηρεσία;
Τι σημαίνουν τα ακρωνύμια KISS και DRY;
Ποια είναι η διαφορά μεταξύ των επιπέδων απομόνωσης συναλλαγών: Read Committed και Repeatable Read;
Μπορείς να εξηγήσεις τα μοτίβα Inbox και Outbox, σε τι αφορούν;