Sobes.tech

Golang

Qu'est-ce que defer et à quoi sert-il ? Dans quel ordre les appels à defer sont-ils exécutés s'il y en a plusieurs dans une même fonction ?

Middle
Effective Technologies
59

Pourquoi avez-vous décidé de changer d'emploi ? Que recherchez-vous ?

Senior
X5
59

Quelles métriques produit collectez-vous?

Middle+
КуперКупер
59

Que se passe-t-il si defer est en dehors de la goroutine plutôt qu'à l'intérieur ?

Senior
X5 techX5 tech
59

/* Il existe une application avec une architecture de microservices. Un microservice peut être abstrait via une interface Backend. Pour accéder à une instance du microservice, on peut utiliser le type BackendImpl, qui est déjà implémenté. Chaque microservice a plusieurs dizaines d'instances en cours d'exécution, chacune accessible par sa propre adresse addr. Cependant, les instances individuelles du microservice ne sont pas fiables : elles peuvent échouer, être inaccessibles ou surchargées. Par conséquent, vous devez implémenter le type Balancer, qui implémente également l'interface Backend et effectue un équilibrage de charge côté client entre les instances du microservice, en choisissant à chaque fois l'instance **la moins chargée**. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr contient ip:port d'une instance spécifique func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs contiennent les adresses de toutes les instances équilibrées func NewBalancer(addrs []string) *Balancer { // TODO }

Middle
Яндекс
59

Combien de personnes ont été impliquées dans le plus grand projet sur lequel vous avez travaillé ? Moins de dix, des dizaines, des centaines ?

Senior
Яндекс
59

Raconte-moi, quels problèmes vois-tu actuellement dans la mise en œuvre du cache?

Middle
Ozon FreshOzon Fresh
59

Pourquoi faire un commit offset manuel au lieu de l'autocommit?

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

Quelle est la différence entre Mutex et RWMutex?

Senior
Алабуга
59

Comment optimiser une transaction avec verrouillage de ligne sous forte charge (problème de goulet d'étranglement lors de l'inscription avec un code d'invitation) ?

Senior
Не указано
59

Qu'est-ce qu'une API Gateway et pourquoi en avons-nous besoin?

Senior
Магнит Тех
59

Quelle est la différence entre la conteneurisation et la virtualisation?

Middle
VKVK
58

À quoi sert un canal dans une transmission sans tampon, si les données vont de pile en pile ? Quel rôle joue le canal ?

Senior
AstonAston
58

Comment identifier et éliminer les goulots d'étranglement liés au planificateur dans les applications à haute charge?

Senior
sber tech
58

Parle-moi de ton projet actuel : sur quoi tu travailles, quelles sont les principales tâches et la pile technologique.

Middle+
Займиго
58

Que se passe-t-il avec la carte lorsque la mémoire allouée est insuffisante ? Qu'est-ce qu'un seau de débordement et dans quelle condition est-il créé ?

Senior
техвил
58

Dans quelle option de conversion de type est-il possible de paniquer et quelle construction permet de l'éviter?

Senior
Flant
58

Quel format de travail préfères-tu, as-tu un certificat militaire et quelles sont tes attentes financières?

Middle
VKVK
58

Y a-t-il des entreprises ou des secteurs que vous ne souhaitez pas envisager?

Senior
DST Lab
58

Quand êtes-vous prêt à commencer à travailler ? Avez-vous besoin de temps pour vous reposer après avoir démissionné ?

Senior
Nau
58
/411