Sobes.tech

Golang

Erzählen Sie mir vom Design des Moderations-/Orchestrator-Systems — wie wurde es entworfen, welche Entscheidungen wurden getroffen?

Senior
Hi Rockits
115

Welche Caching-Strategie wählen – Cache-aside oder Write-through – unter Berücksichtigung des Nutzerverhaltens beim Überprüfen des Bestellstatus?

Senior
plata
115

Welche Regeln für die Arbeit mit Kanälen sollten bei der Entwicklung bekannt sein (geschlossen, offen, wann was gemacht werden darf)?

Senior
техвил
115

Schreiben Sie eine Aufgabe in der Programmiersprache Go — praktischer Abschnitt (Probleme aus dem Entwicklerleben, ohne Algorithmen): Dienst verbessern oder korrigieren. Dauer — 1,5 Stunden.

Middle+
Яндекс
115

Was tun, wenn die Nutzer sich über die Änderung des Monetarisierungsmodells beschweren, aber das Unternehmen einen klaren Plan hat?

Senior
AvitoAvito
115

Live-Coding: Semaphore — wie es funktioniert und die Implementierung auf Basis eines gepufferten Kanals.

Middle+
Веро Трейс
115

Welche Methodik verwenden Sie: Scrum, Kanban oder eine Mischung?

Senior
РамблерРамблер
115

Was ist die Einschränkung eines Semaphors und eines gepufferten Kanals als Lösungen zur Begrenzung paralleler Anfragen?

Intern
Яндекс
115

Haben Sie schon einmal von [Unternehmen] oder unseren Produkten gehört?

Middle
РедСофт
115

Was sind Schätzungen?

Senior
2gis2gis
115

Worauf möchtest du bei der Arbeit nicht mehr stoßen?

Senior
SberAuto
115

Wie ist dein Level – middle, middle+, senior?

Middle
X5 groupX5 group
115

Go-Code-Analyse: Was macht der Code, welche Probleme gibt es?

Senior
РамблерРамблер
115

Zu welcher Gruppe (mutabel/immutabel) gehört die Schnittstelle in Go?

Senior
VK CloudVK Cloud
115

Was sind Autorisierungstoken und welche gibt es?

Middle+
Магнум
115

Was ist der Unterschied zwischen relationalen Datenbanken und NoSQL?

Middle
VKVK
115

Entwurf eines skalierbaren Messaging-Systems, das 150 Millionen Nutzer, 75 Millionen DAU, 225 Millionen MAU, 1,2 Mio. Lese- / 300k Schreib-Peak-QPS, 5 Millionen gleichzeitige Nutzer, 60 PB neue Daten pro Jahr, 30% jährliches Wachstum, SLA 99,95%, p99 <200 ms für Lesen, <300 ms für Schreiben unterstützt. KONTEXT Es ist erforderlich, ein verteiltes Messaging-System zu entwerfen, ähnlich wie WhatsApp, das 1:1- und Gruppen-Chats unterstützt, die Zustellung von Nachrichten gewährleistet, Online-Status der Nutzer anzeigt und die Übertragung von Multimedia-Dateien (Fotos, Videos, Audio) ermöglicht. Das System muss hohe Verfügbarkeit und niedrige Latenz bieten, hohen Parallelismus unterstützen und global skalieren. FUNKTIONALE ANFORDERUNGEN - Unterstützung für persönliche (1:1) und Gruppen-Chats mit der Möglichkeit, Teilnehmer hinzuzufügen/zu entfernen - Versand und Empfang von Textnachrichten und Multimedia-Dateien Es ist keine klare Implementierung eines End-to-End-Verschlüsselungsmechanismus auf Service- oder Client-Ebene sichtbar, abgesehen von einer allgemeinen Anmerkung. - Es fehlt eine explizite Beschreibung von Sharding und Replikation der Datenbanken nach chat_id oder user_id für Skalierbarkeit und Fehlertoleranz. - Es gibt keinen klaren Komponenten- oder Mechanismus für die Offline-Synchronisierung von Nachrichten und Delivery-Receipts. - Es ist unklar, wie die Lastverteilung zwischen Datenbanken und Diensten, insbesondere bei Spitzenbelastungen, erfolgt. **Kritische Punkte, die beachtet werden sollten:**

Senior
Яндекс
114

Liste den Haupt-Stack in Go auf

Senior
X5
114

Mussten Sie jemals die Stunden erfassen, die Zeit in einem System verfolgen?

Middle
Stroki
114

""" Die Plätze im Kino sind in einer Reihe angeordnet. Ein neu ankommender Zuschauer wählt einen Platz, um so weit wie möglich von den anderen Zuschauern in der Reihe zu sitzen. Das heißt, die Entfernung von dem Platz, wo der Zuschauer sitzen wird, bis zum nächsten Zuschauer, soll maximal sein. Es ist garantiert, dass in der Reihe immer freie Plätze vorhanden sind und mindestens ein Zuschauer bereits sitzt. Schreiben Sie eine Funktion, die anhand einer Reihe von Plätzen (ein Array aus Nullen und Einsen) die Entfernung (Anzahl der Zwischenräume zwischen den Sitzen) vom gewählten Platz zum nächsten Zuschauer zurückgibt. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }

Intern
Яндекс
114
/412