Sobes.tech

Company overview

Яндекс

Последња позиција: 6. август 2026.

Позиције
122
Интервјуи
52
Питања
992
Задаци
53

Published in the selected period

Позиције · 50

All company vacancies

Salary ranges

Currencies are not converted. Lower and upper bounds are calculated independently and show their own sample sizes.

RUB

Недовољно података · n=1

Published records

Интервјуи · 52

All company interviews

Grouped by direction

Питања и задаци · 1045

Golang

Dizajn skalabilnog sistema za razmenu poruka koji podržava 150 miliona korisnika, 75 miliona DAU, 225 miliona MAU, 1.2M peak QPS za čitanje / 300k za pisanje, 5 miliona istovremenih korisnika, 60 PB novih podataka godišnje, rast od 30% godišnje, SLA 99.95%, p99 <200 ms za čitanje, <300 ms za pisanje. KONTEKST Potrebno je dizajnirati distribuirani sistem za razmenu poruka, sličan WhatsApp-u, koji podržava 1:1 i grupne razgovore, obezbeđuje dostavu poruka, prikazuje online statuse korisnika i omogućava prenos multimedijalnih fajlova (fotografije, video, audio). Sistem mora obezbediti visoku dostupnost i nisku latenciju, podržavati visok paralelizam i skalirati na globalnom nivou. FUNKCIONALNI ZAHTEVI - Podrška za lične (1:1) i grupne razgovore sa mogućnošću dodavanja/uklanjanja učesnika - Slanje i primanje tekstualnih poruka i multimedijalnih fajlova Nije jasno implementiran mehanizam end-to-end enkripcije na nivou servisa ili klijenata, osim opšte napomene. - Nedostaje eksplicitni opis sharding-a i replikacije baza podataka po chat_id ili user_id radi skalabilnosti i otpornosti na greške. - Nema jasnog komponenta ili mehanizma za offline sinhronizaciju poruka i potvrda isporuke. - Nije jasno kako se vrši balansiranje opterećenja između baza podataka i servisa, posebno u vršnim periodima. **Kritične tačke za razmatranje:**

Сениор

type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr obsahuje ip:port konkrétneho inštancie func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs obsahujú adresy všetkých vyvažovaných inštancií func NewBalancer(addrs []string) *Balancer { data := make([]*backentry,len(addrs)) for i,addr := range addrs{ data[i] = &backentry{ backend: NewBackend(addr), inflight: 0, } } return &Balancer{backends:data} } func(b *Balancer)Invoke(ctx context.Context, req Request) (Response, error){ b.mu.Lock() entry := b.best() atomic.AddInt64(&entry.inflight,1) b.mu.Unlock() defer atomic.AddInt64(&entry.inflight,-1) return entry.backend.Invoke(ctx,req) } func(b *Balancer) best() *backentry{ var best *backentry for _,entry := b.backends{ if best == nil || atomic.LoadInt64(&entry.inflight) < atomic.LoadInt64(&bests.inflight){ best = entry } } return best }

Средњи

Machine Learning / AI

Data Analyst

Da li je ML korišćen za odabir karakteristika u zadatku klasifikacije automobila?

Интерн

Једном је у тим стигао практикант за борбу против преваре у Јандек огласима. Док је група за превару била активна, симулирала је саобраћај на својим сајтовима преко ботова, и тако добијала новац за приказе огласа од ботова, задатак практиканта био је да пронађе све такве преварне сајтове са лажним саобраћајем. Занимљиво је да је сав саобраћај на тим сајтовима генерисан IP заменом, што је изгледало као да бот посећује са града А, али у стварности, уређај је био на потпуно другом месту. Прошао је много времена, и практикант је покушао да обухвати целу ову групу преваре, чак је успео делимично да ухвати неке сајтове. Али целу мрежу није успео да ухвати. После неког времена, приметио је вест: у граду А, 02.08.2025, потпуно је недостајао мобилни интернет. Међутим, кабловски (кућни) интернет наставио је да ради. Узимајући то у обзир, како практикант може да пронађе све лажне сајтове? Имаш логове сајтова у формату табеле за период од 30.07.2025 до 10.08.2025: timestamp | site_id | city_id Сваки запис одговара посети сајту од стране једног уређаја. Зна се да се саобраћај ботова мења знатно мање него стварни саобраћај по дану. Твој задатак је да пронађеш све сајтове чији је саобраћај у великој мери сачињен од ботова који су фалсификовали свој регион у град А. Напомена Табела која садржи податке зове се logs. Пример записа у таблици: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A

Интерн

DevOps

Product Analyst

Java

Android

Frontend

C/C++