Golang
Ποιες προσεγγίσεις μπορούν να χρησιμοποιηθούν για την εξασφάλιση της ασφάλειας των νημάτων κατά την εργασία με slices σε ένα περιβάλλον πολλαπλών νημάτων;
Ποιες λειτουργίες επιτρέπονται κατά την εργασία με ένα nil slice στη γλώσσα προγραμματισμού;
Ποιες μεθόδους σχεδιασμού συστημάτων προτιμάς κατά τη δημιουργία λύσεων;
Αναφέρετε μια δύσκολη εργασία που καταφέρατε να λύσετε γράφοντας ένα σενάριο για το σύστημα Linux
Πώς μπορεί να ρυθμιστεί ο όγκος των δεδομένων που αποθηκεύονται στην κρυφή μνήμη;
Ετοιμότητα να αναλάβετε τον ρόλο του μοναδικού ειδικού Backend στην ομάδα
Ποιος είναι ο κύριος λόγος για τη χρήση του τύπου sync.Map στο Go;
Ποιες είναι οι καλές πρακτικές και τα antipatterns στις μονάδες δοκιμών; Πώς καταλαβαίνεις αν οι δοκιμές είναι καλές;
func Exclude(a, b []int) []int { set := make(map[int]struct{}) for _, v := range b { set[v] = struct{}{} } result := make([]int, 0) for _, v := range a { if _, ok := set[v]; !ok { result = append(result, v) } } return result } Σφάλμα μεταγλώττισης # command-line-arguments ./main.go:39:32: σφάλμα σύνταξης: απροσδόκητη νέα γραμμή, αναμενόταν { μετά την if δήλωση
Έχετε αντιμετωπίσει ποτέ δυσκολίες στην υλοποίηση αλληλεπιδράσεων μεταξύ διαφορετικών υπηρεσιών;
Πώς γίνεται η μεταβίβαση ενός κομματιού (slice) σε μια συνάρτηση σε μια γλώσσα προγραμματισμού;
Τι είναι το μοτίβο Saga;
Γιατί δεν πήραν Testcontainers;
/* Chreiazomaste na metatrepoume dedomena apo mia poria se mia alli. I poria parexei ta dedomena se mikro merh, (~deka eggrafes), enw o xristis douleuei pio apodotika me megalous morfous. Enas pragmatikos paradeigma einai i metatrepisi dedomenon apo Kafka-typous oures stin vasi dedomenon Clickhouse. Poria: - Praktika apeiro. - I poria den epistrefei pio apo MaxItems eggrafes se mia monadiki klisi Next. - Mesa se mia "synthesi" (mia klisi tis sunartisis Pipe), i poria epistrefei nea dedomena se kathe Next. - Omws, meta apo mia epanarchi, i poria tha ksekinisei apo tin prohgoumeni "epiveveomeni" thesi, pou deixnei apo to cookie. Opote, *kathe* timi cookie pou epistrefei to Next, meta tin apothikeusi ton dedomenon ston parakto, prepei na epiveveothei me mia klisi Commit, stin idia seira pou epistrefontai apo to Next. Paraliptikos: - Den mporei na diadrastei perissotero apo MaxItems se mia fora. Vasi: Prepei na ylopoiisete tin sunartisi func Pipe(p Producer, c Consumer) error pou diavazei dedomena apo tin poria, ta omadopoiei se ena buffer me megethos oxi pio apo MaxItems kai ta apothikeuei ston parakto, meta epivevevei to progresa stin poria. */ const MaxItems = 9999 type Producer interface { // Next epistrefei: // - ena paketo me items gia diadrasth // - cookie gia na epiveveothei otan oloklirothei i diadrasth // - lathi Next() (items []any, cookie int, err error) // Commit xrisimopoieitai gia na shmeiosei oti to paketo einai olokliro Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { var buf []any var cookies []int for { items, cookie, err := p.Next() if err != nil { return err } buf = append(buf, items...) cookies = append(cookies, cookie) if len(buf) >= MaxItems { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } buf = buf[:0] cookies = nil } } if len(buf) > 0 { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } } return nil }
Ένα πίνακας με (id PRIMARY KEY, data JSON) — είναι ένας δείκτης PostgreSQL αρκετά καλός για αναζήτηση με κλειδί;
Ποια είναι η διαφορά μεταξύ εικονικοποίησης και κοντεϊνεροποίησης;
Μπορείτε να εισάγετε ένα άλλο μπλοκ κώδικα με αγκύλες μέσα σε μια υπάρχουσα λειτουργία;
Πώς ορίσατε και διατυπώσατε τα καθήκοντα στη προηγούμενη θέση σας;
Πώς ενσωματώθηκε ο τελικός κώδικας στο περιβάλλον παραγωγής στο τελευταίο σας έργο;
Πώς λειτουργεί η λειτουργία προσθήκης ενός νέου στοιχείου σε μια slice σε μια γλώσσα προγραμματισμού;