Sobes.tech

Golang

Quali metodi di sincronizzazione delle goroutine esistono in Go?

Middle+
YadroYadro
106

Parla dei canali in Go: cosa sono, cosa contiene, cosa succederà con un canale con buffer di 5 elementi quando si scrivono 5 valori?

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

Hai domande sui processi, le condizioni di lavoro e i prossimi passi?

Senior
spnd.xyz
106

Hai attualmente altri colloqui o offerte?

Senior
DST Lab
106

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 letture / 300k scritture QPS, 5 milioni di utenti simultanei, 60 PB di nuovi dati all'anno, crescita del 30% annuo, P99 <200 ms per la lettura, <300 ms per la scrittura, SLA 99,95%. CONTESTO È necessario progettare un sistema di messaggistica distribuito, simile a WhatsApp, che supporti chat 1:1 e di gruppo, garantisca la consegna dei messaggi, visualizzi gli stati online degli utenti e trasmetta file multimediali (foto, video, audio). Il sistema deve garantire alta disponibilità e bassa latenza, supportare 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 Requisiti non funzionali: - Nessuna implementazione esplicita di crittografia end-to-end a livello di servizi o client, tranne un'annotazione generale. - Mancanza di una descrizione chiara dello sharding e della replica dei database per chat_id o user_id per scalabilità e tolleranza ai guasti. - Nessun componente o meccanismo esplicito per gestire la sincronizzazione offline dei messaggi e le ricevute di consegna. - Non è chiaro come venga effettuato il bilanciamento del carico tra database e servizi, specialmente durante i picchi di traffico. **Punti critici da considerare:** (Il diagramma mostra un'architettura con Load Balancer, API Gateway, Message Queue, Service, Cache, Database, Object Storage e CDN)

Senior
Яндекс
106

Hai mai lavorato con transazioni in PostgreSQL? Con quali livelli di isolamento delle transazioni ti sei trovato, in quali casi vengono utilizzati?

Senior
Магнит Тех
106

Implementa una funzione che accetta []any e delta int. È necessario aumentare di delta solo le prime occorrenze di numeri unici (int). Altri tipi e numeri ripetuti devono essere lasciati invariati. La funzione deve restituire la slice aggiornata e 2 numeri: updated — quanti numeri unici sono stati modificati, duplicates — quanti elementi numerici si sono rivelati duplicati func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // il tuo codice }

Middle+
OZONOZON
106

Come sincronizzare i worker tramite PostgreSQL (lock distribuito nel database)?

Senior
Не указано
106

Alla settima riga si conclude che l'array interno sarà sovraccarico e ne verrà creato uno nuovo. Perché hai deciso così?

Senior
Холодильник.руХолодильник.ру
106

Cos'è il pattern Outbox e come viene implementato?

Senior
Mayflower
106

Come il browser rende le pagine? Cos'è il compositing?

Middle
Graveling
106

Se un compito del genere fosse inserito in uno sprint ora, da dove inizieresti e come gestiresti l'incertezza?

Senior
AvitoAvito
106

Come hai lavorato con Kubernetes nel tuo team precedente?

Senior
bip.ru
106

Perché sono necessarie due verifiche if (alla riga 79 e alla riga con len(buf)==MaxItems), invece di una sola?

Middle+
Яндекс
106

Qual è la motivazione del cambiamento? Perché hai deciso di entrare nel mercato?

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

Quale tipo usare per implementare un set in Go?

Middle+
ТБанк
106

Hai scritto o supportato servizi ad alta intensità?

Senior
ВкусВиллВкусВилл
106

Parlami della tua esperienza, cosa hai fatto, su quale progetto hai lavorato e quale ruolo hai ricoperto?

Senior
WildberriesWildberries
106

Quanto sono generalmente chiare le richieste?

Middle+
SelectelSelectel
106

Quali sono i livelli di isolamento delle transazioni? Quali hai usato?

Senior
Бюро 1440Бюро 1440
106
/412