Sobes.tech

Golang

Comment accélérer un endpoint API lent — quelles approches existent?

Middle+
VK music
53

Quelle ressource Kubernetes est nécessaire pour que les instances du pod s'exécutent sur tous les nœuds du cluster?

Senior
Flant
53

Comment fonctionne la map en interne?

Middle+
WaterWal
53

Quelles sont vos attentes salariales ? Comment était structuré votre revenu précédent (salaire de base, primes) ? Êtes-vous prêt à considérer le revenu total incluant les primes ?

Middle+
Озон банк
53

Que se passe-t-il si l'on effectue d'autres opérations mathématiques avec un résultat dépassant la capacité de int32 : y aura-t-il une erreur, une panique ou autre chose ?

Senior
МВидео/эльдорадо
53

Parlez-moi d'un défi difficile que vous avez réussi à relever récemment, ou du plus intéressant. Qu'est-ce que c'était, qu'avez-vous fait, qu'est-ce que cela a donné ?

Middle+
РамблерРамблер
53

À quelle fréquence faites-vous des releases et à quel moment?

Senior
2gis2gis
53

Qu'est-ce qu'une tranche en Go?

Senior
Small
53

Revue de code : problèmes dans la fonction getExternalOrderIdFromCRM (client HTTP)

Middle+
Magnit Tech
53

Avez-vous de l'expérience dans la migration d'une architecture monolithique vers des microservices?

Senior
Effective IT
53

Quels événements ont été transmis via Kafka et comment avez-vous géré leur ordre incorrect ?

Senior
FinFrame
53

Est-ce que déclarer beaucoup d'index aura un impact sur l'espace de stockage?

Senior
Алабуга
53

// Le client transmet un objet (Task) avec des données pour exécuter la tâche, // dans notre exemple, nous utiliserons une structure vide. // // Le gestionnaire peut traiter au maximum N tâches simultanément, // et pas plus de X tâches peuvent être en file d'attente. // Si l'espace dans la file d'attente est plein, une erreur est renvoyée immédiatement au client. // // La tâche est prise en charge si des processeurs libres sont disponibles. // Nous simulons la durée du traitement avec time.Sleep(5*time.Second). // Dès qu'une tâche est terminée, nous prenons la suivante dans la file. // Si la file est vide, nous attendons de nouvelles tâches des clients. // // Avec une étoile : compléter la structure Task et obtenir les statuts des tâches via une requête séparée. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // implémentation en attente } type Task interface { Do() }

Senior
Cloud.ru
53

Connais-tu l'architecture de Kubernetes, quelles entités existent, qu'est-ce que le plan de contrôle?

Senior
Базис
53

Parle-moi plus en détail de WaitGroup : à quoi sert-il, quelles méthodes existe-t-il ?

Senior
sber tech
53

Supposons que nous sommes un grand réseau publicitaire. Nous plaçons des bannières sur des sites partenaires dans le monde entier. Nous devons concevoir un système de collecte et de traitement des événements en temps réel. Ces données sont critiques pour deux objectifs: Facturation : Déduire de l'argent aux annonceurs pour les clics. Analytique : Afficher l'efficacité actuelle des campagnes (CTR, impressions) dans le tableau de bord. Données d'entrée (pour le calcul de la charge) Vous devez estimer vous-même les capacités requises (RPS, trafic, stockage), en vous basant sur les métriques suivantes: Réseau partenaire : 500 000 sites actifs. Trafic : En moyenne, chaque site reçoit 2 vues de pages par seconde. Blocs publicitaires : Sur chaque page, 3 bannières sont affichées simultanément. Conversion : Le taux moyen de clics (CTR) est de 1%. Inégalité : La charge de pointe (heures du soir) est 4 fois supérieure à la moyenne. Taille de l'événement : L'objet de l'événement (ID de la bannière, ID du site, UserID, Timestamp, type d'événement) pèse environ 500 octets. Exigences techniques Presque en temps réel : Les données dans l'interface analytique doivent apparaître avec un retard ne dépassant pas 10 secondes. Fiabilité : La perte de clics n'est pas acceptable (cela entraîne une perte d'argent). La perte d'impressions est acceptable jusqu'à 0,01%. Scalabilité : Le système doit pouvoir s'étendre facilement avec la croissance du nombre de plateformes.

Senior
Dataworks
53

Que se passe-t-il si nous ajoutons trop d'éléments à une slice à l'intérieur d'une fonction?

Middle
Магнум
52

SELECT user_id, COUNT(*) AS order_count FROM orders WHERE price_total >= 1000 GROUP BY user_id ORDER BY order_count DESC;

Middle+
OZONOZON
52

Comment structurer correctement l'architecture du service : où stocker les commandes, les entités de domaine, les erreurs ?

Senior
2gis2gis
52

Finalement, quelles solutions ont-ils choisies ? ClickHouse, ELK et quoi d'autre ?

Senior
Wildberries & Russ Bank
52
/412