Sobes.tech

Golang

Parle-moi de ton expérience professionnelle de manière libre, sans entrer dans les détails techniques approfondis.

Senior
FaceApp
37

Parlez-moi des processus dans l'équipe — comment travailliez-vous selon Scrum?

Senior
AvitoAvito
37

Que savez-vous de l'entreprise «Yadro» ? Avez-vous entendu parler de nous ?

Middle
YadroYadro
37

Quels outils utilisez-vous pour l'évaluation des performances et le profilage lors du développement d'applications?

Senior
Магнит Тех
37

Quand faut-il passer du monolithe aux microservices ? À quel RPS et dans quelles conditions ?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
37

Combien de partitions doit avoir un topic Kafka?

Senior
А7
37

/* Nous devons transférer des données d'une source à un consommateur. La source fournit les données en petits lots (~dix enregistrements), tandis que le consommateur fonctionne plus efficacement avec de gros lots (~mille enregistrements). Un exemple réel est le transfert de données depuis des files d'attente de type Kafka vers une base de données Clickhouse. Source : - Pratiquement infinie. - La source ne renvoie jamais plus de MaxItems enregistrements en un seul appel à Next. - Dans le cadre d'une "session" (un appel à la fonction Pipe), la source renvoie de nouvelles données à chaque appel à Next. - Cependant, après un redémarrage, la source recommence à partir de la position "confirmée" précédente, définie par cookie. Par conséquent, *chaque* valeur de cookie renvoyée par Next, après avoir sauvegardé les données dans le récepteur, doit être confirmée avec un appel à Commit, dans le même ordre dans lequel elles ont été renvoyées par Next. Récepteur : - Ne peut traiter plus de MaxItems à la fois. Il faut implémenter la fonction func Pipe(p Producer, c Consumer) error qui lit les données de la source, les regroupe dans un buffer de taille maximale MaxItems et les sauvegarde dans le récepteur, après quoi elle confirme la progression dans la source. */ const MaxItems = 9999 type Producer interface { // Next retourne : // - un lot d'éléments à traiter // - cookie à confirmer une fois le traitement terminé // - erreur Next() (items []any, cookie int, err error) // Commit est utilisé pour marquer le lot de données comme traité Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Middle+
Яндекс
37

Parle-moi de defer : dans quel ordre s'exécute, avant ou après le return ?

Middle
АО Медиа Эффект
37

Avec quelles bases de données avez-vous travaillé le plus étroitement?

Senior
Ozon ФинтехOzon Финтех
37

Comment apprends-tu de nouvelles choses en Go ? Que lis-tu, que étudies-tu ?

Middle+
Штрафов нет
37

Comment les données des calculs étaient-elles transférées dans 1C?

Middle+
А7
37

Tu travailles?

Senior
aic
37

Quelle a été la plus grande quantité de données avec laquelle vous avez travaillé et combien de requêtes de lecture/écriture y a-t-il eu?

Senior
Яндекс
37

Comment Go décide-t-il d'allouer la mémoire sur la pile ou le tas ? Pourquoi est-ce important ?

Senior
А7
37

Comment argumentes-tu ton point de vue si un collègue n'est pas d'accord avec toi?

Senior
AvitoAvito
37

Dans quels domaines serait-il intéressant de continuer à évoluer : en technologies, en tâches, en directions ?

Middle+
OZONOZON
37

Parlez-moi de votre lieu de travail actuel, de ce que vous y faisiez et des choses intéressantes que vous aimeriez partager.

Senior
OkkoOkko
37

Raconte un cas où tu as proposé quelque chose et où tu as dû prouver ton point de vue.

Senior
Cloud.ru
37

Existe-t-il un linter Go appelé S ? (golangci-lint)

Senior
X5 techX5 tech
37

Comment souhaitez-vous recevoir votre paiement : par le TК RF ou via la cryptomonnaie USDT?

Middle+
АЙ-ТЕКОАЙ-ТЕКО
37
/412