Τι σημαίνει η ονοματολογία σε στυλ RPC; Στην περίπτωσή μας, gRPC και REST — σε τι διαφέρουν;
Golang
Ποια είναι η διαφορά μεταξύ SQL και NoSQL;
Ακόμα εργάζεσαι στη Magnit; Γιατί αποφάσισες να βγεις στην αγορά;
Τι υπάρχει στο πακέτο sync;
Έπρεπε να ορίσετε ρητά το επίπεδο απομόνωσης στον κώδικα;
// Ερώτηση 5. Τι θα εμφανιστεί στην οθόνη func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
Τι συνέβαινε στη γραμμή επεξεργασίας μετά το inbox; Πώς γράφονταν τα δεδομένα στη βάση;
Έχετε δημιουργήσει ιστορικούς πίνακες, για παράδειγμα, για τον χρήστη όπου αποθηκεύεται το ιστορικό αλλαγών των χαρακτηριστικών του;
// Ερώτηση 3. Τι θα εμφανίσει στην οθόνη package main import "fmt" import "math" func main() { i := int32(math.Pow(2, 64)) - 1 fmt.Println(i) }
Πώς βελτιστοποιήσατε τα ερωτήματα από 10-20 λεπτά σε 5-7; Ποιες αναφορές εκτελούνταν τόσο αργά;
Πολλά τέτοια μη έγκυρα μηνύματα υπήρχαν;
Ακόμα εργάζεσαι στη Magnit; Γιατί αποφάσισες να βγεις στην αγορά;
Πες μας λίγα πράγματα για τον εαυτό σου, τι έκανες, με τι ασχολήθηκες;
Τι έγινε με τα μηνύματα μετά την χειροκίνητη επεξεργασία; Ποιες ήταν οι επιλογές;
Τι συνέβαινε στο πρώτο κανάλι συγχρονισμού; Είναι κάποιο μοντέλο δεδομένων βάσει του οποίου εμπλουτίζονταν;
// Ερώτηση 2. Τι θα εμφανιστεί στην οθόνη package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) }
Πού πρέπει να ορίσετε το recover ώστε, σε περίπτωση πανικού, η εφαρμογή να μην καταρρεύσει, λαμβάνοντας υπόψη ότι έχει πολλαπλά endpoints, πολλές εξαρτήσεις (βάση δεδομένων, cache, βιβλιοθήκες);
Πες μου για την επικύρωση: ποιες επιλογές επικύρωσης υπάρχουν, τι συμβαίνει αν ένα μήνυμα δεν περάσει την επικύρωση;
Χρησιμοποιήσατε triggers στην πρακτική;
Ξέρεις ένα μοτίβο όπως το Saga;