Sobes.tech

Golang

Parlami della progettazione del sistema di moderazione/orchestratore — come è stato progettato, quali decisioni sono state prese?

Senior
Hi Rockits
115

Quale strategia di caching scegliere — cache-aside o write-through — considerando il pattern di comportamento degli utenti durante la verifica dello stato dell'ordine?

Senior
plata
115

Quali regole di lavoro con i canali bisogna conoscere durante lo sviluppo (chiuso, aperto, quando cosa si può fare)?

Senior
техвил
115

Scrivere un problema in linguaggio Go — sezione pratica (problemi della vita reale dello sviluppatore, senza algoritmi): migliorare o correggere un servizio. Durata — 1,5 ore.

Middle+
Яндекс
115

Cosa fare se gli utenti si lamentano del cambiamento nel modello di monetizzazione, ma l'azienda ha un piano chiaro?

Senior
AvitoAvito
115

Codifica dal vivo: semaforo — come funziona e implementazione basata su un canale con buffer.

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

Quale metodologia utilizzi: Scrum, Kanban o una miscela?

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

Qual è la limitazione di un semaforo e di un canale con buffer come soluzioni per limitare le richieste parallele?

Intern
Яндекс
115

Hai già sentito parlare di [azienda] o dei nostri prodotti?

Middle
РедСофт
115

Cosa sono le stime?

Senior
2gis2gis
115

Con cosa non vorresti più confrontarti al lavoro?

Senior
SberAuto
115

Qual è il tuo livello: middle, middle+, senior?

Middle
X5 groupX5 group
115

Analisi del codice in Go: cosa fa il codice, quali problemi ci sono?

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

A quale gruppo (mutabile/immutabile) appartiene l'interfaccia in Go?

Senior
VK CloudVK Cloud
115

Cosa sono i token di autorizzazione e quali ci sono?

Middle+
Магнум
115

Qual è la differenza tra database relazionali e NoSQL?

Middle
VKVK
115

Progettazione di un sistema di messaggistica scalabile che supporti 150 milioni di utenti, 75 milioni di DAU, 225 milioni di MAU, 1,2 milioni di QPS di lettura / 300k di scrittura in picco, 5 milioni di utenti simultanei, 60 PB di nuovi dati all'anno, crescita del 30% annuo, SLA del 99,95%, p99 <200 ms per la lettura, <300 ms per la scrittura. CONTESTO È necessario progettare un sistema di messaggistica distribuito, simile a WhatsApp, che supporti chat 1:1 e di gruppo, garantisca la consegna dei messaggi, mostri gli stati online degli utenti e consenta il trasferimento di file multimediali (foto, video, audio). Il sistema deve garantire alta disponibilità e bassa latenza, supportare un alto parallelismo e scalare a livello globale. REQUISITI FUNZIONALI - Supporto per chat personali (1:1) e di gruppo con possibilità di aggiungere/rimuovere partecipanti - Invio e ricezione di messaggi di testo e file multimediali Non si vede una implementazione chiara del meccanismo di crittografia end-to-end a livello di servizi o clienti, a parte una annotazione generale. - Mancanza di una descrizione esplicita di sharding e replica dei database per chat_id o user_id per scalabilità e tolleranza ai guasti. - Non c'è un componente o meccanismo chiaro per gestire la sincronizzazione offline dei messaggi e delle ricevute di consegna. - Non è chiaro come venga effettuato il bilanciamento del carico tra database e servizi, specialmente in caso di picchi di carico. **Punti critici da considerare:**

Senior
Яндекс
114

Elenca lo stack principale in Go

Senior
X5
114

Hai mai dovuto registrare le ore, tracciare il tempo in qualche sistema?

Middle
Stroki
114

""" I posti al cinema sono disposti in una fila. Un spettatore appena arrivato sceglie un posto, per sedersi il più lontano possibile dagli altri spettatori nella fila. Cioè, la distanza dal posto, dove si siederà, al più vicino spettatore deve essere massima. Si garantisce che ci siano sempre posti liberi nella fila e che ci sia almeno uno spettatore seduto. Scrivi una funzione che, data una fila di posti (un array di zeri e uno), restituisca la distanza (numero di spazi tra i sedili) dal posto scelto allo spettatore più vicino. [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