Golang
Ποιο μισθό εξετάζετε κατά τη μετάβαση σε μια νέα εταιρεία;
Απαιτείται η υλοποίηση της συνάρτησης uniqRandn, η οποία παράγει μια λίστα μήκους n με μοναδικούς, τυχαίους αριθμούς. import ( "fmt" "math/rand" ) func main() { fmt.Println(uniqRandn(10)) } func uniqRandn(n int) []int { //... }
Τι είναι οι υποδοχές και ποιοι τύποι υπάρχουν;
Τι είναι πιο σημαντικό — τα συμφέροντα της επιχείρησης ή τα συμφέροντα του χρήστη; Υπήρξε στην πρακτική ένα παράδειγμα όπου χρειάστηκε να επιλέξετε;
Ποιος τύπος δείκτη είναι ο προεπιλεγμένος στο PostgreSQL;
Περιγράψτε τον κύριο στόχο της απομόνωσης των αλλαγών σε ξεχωριστά κλαδιά πριν από το merge στο main: - Να εξαλείψετε την ανάγκη για δοκιμές πριν από την κυκλοφορία - Να διασφαλίσετε ανεξάρτητες εκδόσεις της εφαρμογής για παραγωγή και ανάπτυξη χωρίς merge - Να διατηρήσετε τη σταθερότητα του κύριου κλάδου - Να αποφύγετε συγκρούσεις κατά την κοινή ανάπτυξη
Ας μιλήσουμε για την αρχιτεκτονική μικροϋπηρεσιών. Τι ήταν πιο συχνό πρόσφατα: υποστήριξη ή ανάπτυξη;
Τι είναι ένας σύνθετος δείκτης (δείκτης σε πολλαπλές στήλες);
func updateV1(px *int) { x2 := 20 px = &x2 } func updateV2(px *int) { *px = 20 } func main() { x := 10 updateV1(&x) fmt.Println(x) updateV2(&x) fmt.Println(x) }
Πώς διαχειριζόμαστε το κλείσιμο μιας θέσης εργασίας — πρέπει να αρχειοθετείται σε όλες τις ιστοσελίδες εργασίας;
Έχετε αντιμετωπίσει ποτέ υψηλό φόρτο; Ποιο ήταν το μέγιστο φορτίο σε RPS;
Πες μας για μια ενδιαφέρουσα/πολύπλοκη τεχνική εργασία που έλυσες
Πώς μπορεί να αποφευχθεί το πρόβλημα με την κινητή υποδιαστολή χωρίς τη χρήση NUMERIC; Ποια είναι μια εναλλακτική προσέγγιση με τον τύπο INT;
Γιατί χρειάζονται πραγματικά οι διεπαφές; Γιατί να μην χρησιμοποιούμε απλώς δομές;
func fanin[T οποιοσδήποτε](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }
Είσαι αυτήν τη στιγμή εργαζόμενος ή έχεις ήδη αφήσει την τελευταία σου θέση;
Παραδόθηκαν 20 μηχανές κοπής κρέατος, 5 αποστολή — πόσα απομένουν στην αποθήκη και ποια είναι η τρέχουσα κατάσταση στο σύστημα;
Πώς μπορούμε να επιταχύνουμε τον αλγόριθμο φιλτραρίσματος γράφου με μεγάλο αριθμό κορυφών και γεγονότων;
Μπορείς να δουλέψεις χωρίς αναλυτές;
κύριο πακέτο εισαγωγή "fmt" func execute πρότυπο string, args ...interface{}) string { return πρότυπο } func main() { res := execute("mailbox/:mailbox/folder/:folder_id", "inbox", 123) // Έξοδος: mailbox/inbox/folder/123 fmt.Println(res) }