Sobes.tech

Τι συμβαίνει αν το defer βρίσκεται έξω από τη goroutine και όχι μέσα σε αυτή;

Senior
X5 techX5 tech
59

/* Υπάρχει μια εφαρμογή με αρχιτεκτονική μικροϋπηρεσιών. Ένα μικροϋπηρεσία μπορεί να αποδοθεί μέσω μιας διεπαφής Backend. Για πρόσβαση σε ένα αντίγραφο της μικροϋπηρεσίας, μπορείτε να χρησιμοποιήσετε τον τύπο BackendImpl, ο οποίος έχει ήδη υλοποιηθεί. Κάθε μικροϋπηρεσία έχει αρκετές δεκάδες εκτελούμενα αντίγραφα, καθένα προσβάσιμο μέσω της δικής του διεύθυνσης addr. Ωστόσο, τα μεμονωμένα αντίγραφα της μικροϋπηρεσίας δεν είναι αξιόπιστα: μπορούν να πέσουν, να είναι μη προσβάσιμα ή υπερφορτωμένα. Επομένως, πρέπει να υλοποιήσετε τον τύπο Balancer, ο οποίος υλοποιεί επίσης το interface Backend και πραγματοποιεί φορτωτική ισορροπία από την πλευρά του πελάτη μεταξύ των αντιγράφων της μικροϋπηρεσίας, επιλέγοντας κάθε φορά το **ελάχιστα φορτωμένο** αντίγραφο. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr περιέχει ip:port ενός συγκεκριμένου αντιγράφου func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs περιέχουν τις διευθύνσεις όλων των ισορροπημένων αντιγράφων func NewBalancer(addrs []string) *Balancer { // TODO }

Middle
Яндекс
59

Πόσα άτομα συμμετείχαν στο μεγαλύτερο έργο στο οποίο εργαστήκατε; Λιγότερα από δέκα, δεκάδες, εκατοντάδες;

Senior
Яндекс
59

Πες μου, ποια προβλήματα βλέπεις αυτήν τη στιγμή στην υλοποίηση της cache;

Middle
Ozon FreshOzon Fresh
59

Γιατί κάναμε χειροκίνητο commit offset αντί για αυτόματο commit;

Middle+
ВайлдберрисВайлдберрис
59

Ποια είναι η διαφορά μεταξύ Mutex και RWMutex;

Senior
Алабуга
59

Πώς να βελτιστοποιήσετε μια συναλλαγή με κλείδωμα γραμμής υπό υψηλό φόρτο (πρόβλημα bottleneck κατά την εγγραφή με κωδικό πρόσκλησης);

Senior
Не указано
59

Τι είναι το API Gateway και γιατί το χρειαζόμαστε;

Senior
Магнит Тех
59

Ποια είναι η διαφορά μεταξύ κοντεϊνεροποίησης και εικονικοποίησης;

Middle
VKVK
58

Πώς οργανώνουμε την γεωγραφική κατανομή με τρεις περιοχές με αυστηρή συνέπεια για συναλλαγές χρημάτων; Ποια αναπαραγωγή να χρησιμοποιήσουμε (master-master ή master-slave);

Senior
Магнит Тех
58

Ποιος είναι ο ρόλος ενός καναλιού σε μια μη buffer-ποιημένη μετάδοση, αν τα δεδομένα πηγαίνουν από στοίβα σε στοίβα;

Senior
AstonAston
58

Πώς θα εντοπίσετε και θα εξαλείψετε τα σημεία συμφόρησης που σχετίζονται με τον προγραμματιστή σε εφαρμογές υψηλού φορτίου;

Senior
sber tech
58

Μίλησε για το τρέχον έργο: πάνω σε τι εργάζεσαι, ποια είναι τα βασικά καθήκοντα και η τεχνολογική στοίβα;

Middle+
Займиго
58

Τι συμβαίνει με το χάρτη όταν δεν υπάρχει αρκετή διαθέσιμη μνήμη; Τι είναι ένα overflow-bucket και υπό ποια συνθήκη δημιουργείται;

Senior
техвил
58

Σε ποια επιλογή μετατροπής τύπου είναι πιθανό το πανικό και ποια κατασκευή το αποτρέπει;

Senior
Flant
58

Ποια μορφή εργασίας προτιμάς, έχεις στρατιωτικό πιστοποιητικό και ποιες είναι οι οικονομικές σου προσδοκίες;

Middle
VKVK
58

Υπάρχουν εταιρείες ή κλάδοι που δεν είστε διατεθειμένοι να εξετάσετε;

Senior
DST Lab
58

Πότε είστε έτοιμοι να ξεκινήσετε να εργάζεστε; Χρειάζεστε χρόνο για ξεκούραση μετά την απόλυση;

Senior
Nau
58

Εξηγήστε τη διαφορά μεταξύ κοντεϊνεροποίησης και εικονικοποίησης

Senior
СБЕРСБЕР
58

Πες μας για την εμπειρία σου στην υποδομή και την αλληλεπίδραση με το DevOps

Senior
Flant
58
/411