Sobes.tech

Golang

Come conservare i messaggi vocali in un'app di messaggistica come WhatsApp? Perché è meglio conservare le immagini in S3 piuttosto che in Postgres? Quali sono le opzioni di archiviazione delle immagini in Postgres?

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

Il consumatore riceve un messaggio da Kafka, lo accumula nel buffer, quando il batch è pronto, lo scrive e fa il commit. Cosa succede se il servizio si blocca nel momento della creazione del batch?

Middle+
МВидео/эльдорадо
100

Quanti microservizi hai in Go e con quale frequenza ci sono compiti che coinvolgono due microservizi?

Senior
X5
100

Condizione Ci sono 3 entità: utente, chat, messaggio • L'utente ha un nome e una data di registrazione • La chat ha un nome e una data di creazione • Il messaggio ha testo, autore e data di creazione • Un utente può essere in più chat contemporaneamente • Il messaggio appartiene obbligatoriamente a una chat, non può appartenere a più di una chat contemporaneamente • È necessario descrivere il dominio sotto forma di tabelle -- distribuito -- message_count nelle chat limite a 100 --getShard(time zone) -> shard_id -> 1 --getShard(time zone) -> shard_id -> 2 --shard1 [1..100] --shard2 [101..200] CREATE TABLE users ( id int PRIMARY KEY, name varchar(255) NOT NULL, reg_at TIMESTAMP NOT NULL DEFAULT NOW() ); CREATE TABLE chats ( id int PRIMARY KEY, name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT NOW(), message_count int NOT NULL CHECK <= 100 ); CREATE TABLE user_chats ( user_id int not null REFERENCES users(id), chat_id int NOT NULL REFERENCES chats(id), PRIMARY KEY (user_id, chat_id) ); CREATE TABLE messages ( id int PRIMARY KEY, chat_id int NOT NULL REFERENCES chats(id), author_id int NOT NULL REFERENCES users(id), created_at TIMESTAMP NOT NULL DEFAULT NOW(), text TEXT NOT NULL );

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

Quale dei seguenti è un mezzo di sincronizzazione in Go? (canali, sync.WaitGroup, sync.Mutex, sync.Cond)

Senior
Лаборатория Касперского
100

È stata utilizzata la parallelizzazione per accelerare l'elaborazione?

Middle+
Базис
100

Da quale somma consideri le tue aspettative salariali?

Middle+
Займиго
100

Parlami della tua esperienza in infrastrutture e interazione con DevOps

Senior
Flant
100

Cos'è lo shutdown elegante e perché è necessario?

Senior
2gis2gis
100

Qual è la differenza tra PARTITION BY e GROUP BY per una sottoquery?

Middle
WildberriesWildberries
100

Come avviene l'espansione (rehash) nelle tabelle Swiss?

Senior
I-teco
100

Quante persone c'erano nel team e chi assegnava i compiti?

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

Quanto tempo prevedi di cercare un nuovo lavoro? Hai dei limiti di tempo?

Senior
wilix
100

Compito: «Ping-pong con timeout» Scrivi una funzione pingPong che: - Avvia due goroutine: una genera messaggi "ping", l'altra — "pong". - Le goroutine devono scambiarsi messaggi attraverso un canale comune rigorosamente a turno. - Lo scambio dura 3 secondi, dopodiché il programma deve terminare (shutdown ordinato). - Usa un contesto per cancellare con timeout. - Visualizza ogni messaggio sullo schermo insieme al tempo (in millisecondi dall'inizio). Esempio di output atteso: 0ms: ping

Senior
FREEDOM LIFESTYLE
100

Cos'è il cambio di contesto delle goroutine? Chi lo esegue?

Senior
AstonAston
100

Da quale somma consideri l'offerta in base alle aspettative finanziarie?

Senior
ozon_tech
100

Come funziona una tabella hash?

Middle
VKVK
100

Raccontami del compito più difficile che hai svolto.

Senior
WildberriesWildberries
100

Hai parlato del modello di lettura con Redis. Redis veniva replicato tra i data center?

Middle
Aliexpress
100

Possiamo passare uno slice come parametro a una funzione? Ci sono delle sfumature in questa modalità di passaggio?

Senior
Магнум
100
/412