RUB
Ανεπαρκή δεδομένα · n=1

Company overview
Τελευταία θέση: 6 Αυγούστου 2026
Published in the selected period
Currencies are not converted. Lower and upper bounds are calculated independently and show their own sample sizes.
Ανεπαρκή δεδομένα · n=1
Published records
Συνεντεύξεις · 19
Συνεντεύξεις · 12
Συνεντεύξεις · 5
Συνεντεύξεις · 4
Συνεντεύξεις · 3
Συνεντεύξεις · 2
Συνεντεύξεις · 1
Συνεντεύξεις · 1
Συνεντεύξεις · 1
Συνεντεύξεις · 1
Συνεντεύξεις · 1
Συνεντεύξεις · 1
Συνεντεύξεις · 1
Grouped by direction
Ερωτήσεις · 203
Σχεδιασμός ενός κλιμακούμενου συστήματος ανταλλαγής μηνυμάτων που υποστηρίζει 150 εκατομμύρια χρήστες, 75 εκατομμύρια DAU, 225 εκατομμύρια MAU, 1,2 εκατομμύρια peak QPS ανάγνωσης / 300k εγγραφής, 5 εκατομμύρια ταυτόχρονους χρήστες, 60 PB νέων δεδομένων ετησίως, 30% ετήσια ανάπτυξη, SLA 99,95%, p99 <200 ms για ανάγνωση, <300 ms για εγγραφή. ΠΕΡΙΒΑΛΛΟΝ Απαιτείται ο σχεδιασμός ενός διανεμημένου συστήματος ανταλλαγής μηνυμάτων, παρόμοιου με το WhatsApp, που υποστηρίζει 1:1 και ομαδικές συνομιλίες, διασφαλίζει την παράδοση μηνυμάτων, εμφανίζει online καταστάσεις χρηστών και επιτρέπει τη μεταφορά πολυμέσων (φωτογραφίες, βίντεο, ήχο). Το σύστημα πρέπει να παρέχει υψηλή διαθεσιμότητα και χαμηλή καθυστέρηση, να υποστηρίζει υψηλό παράλληλο χειρισμό και να κλιμακώνεται σε παγκόσμιο επίπεδο. ΑΠΑΙΤΗΣΕΙΣ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ - Υποστήριξη προσωπικών (1:1) και ομαδικών συνομιλιών με δυνατότητα προσθήκης/αφαίρεσης συμμετεχόντων - Αποστολή και λήψη κειμένων και πολυμέσων Δεν φαίνεται να υπάρχει σαφής υλοποίηση μηχανισμού end-to-end κρυπτογράφησης σε επίπεδο υπηρεσιών ή πελατών, εκτός από μια γενική σημείωση. - Απουσιάζει σαφής περιγραφή του sharding και της αναπαραγωγής βάσεων δεδομένων βάσει chat_id ή user_id για κλιμάκωση και αντοχή σε σφάλματα. - Δεν υπάρχει σαφής συστατικό ή μηχανισμός για την offline συγχρονισμό μηνυμάτων και αποδείξεων παράδοσης. - Δεν είναι σαφές πώς πραγματοποιείται η κατανομή φόρτου μεταξύ βάσεων δεδομένων και υπηρεσιών, ειδικά σε περιόδους αιχμής. **Κρίσιμα σημεία που πρέπει να ληφθούν υπόψη:**
type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr contiene ip:port di una istanza specifica func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs contiene gli indirizzi di tutte le istanze bilanciate 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(&best.inflight){ best = entry } } return best }
Ερωτήσεις · 163
Ποια είναι η διαφορά μεταξύ των μεθόδων areContentsTheSame και areItemsTheSame στην κλάση DiffUtil και ποιος είναι ο σκοπός τους;
Ποια είναι η διαφορά στη χρήση των μεθόδων subscribeOn και observeOn στο RxJava και πώς επηρεάζουν τη ροή εκτέλεσης;
Создание собственного аналога findViewById для View
Нахождение ближайшего общего предка в иерархии экранов
Разбор поведения flatMap в цепочке RxJava
Ερωτήσεις · 123
Ερωτήσεις · 109
Что выведет console.log в примере №81
Функция определения палиндромности строки
Надёжный GET‑запрос с автоматическим повтором
Проверка массива на монотонность
Определение пути перелёта между двумя пунктами
Что будет выведено в консоль в данном JavaScript‑фрагменте?
Ερωτήσεις · 97
Ερωτήσεις · 83
Ερωτήσεις · 57
Ερωτήσεις · 41
Χρησιμοποιήθηκε ML για την επιλογή χαρακτηριστικών στην εργασία ταξινόμησης αυτοκινήτων;
Μια φορά κι έναν καιρό, ένας ασκούμενος κατά της απάτης της Yandex Ads εντάχθηκε στην ομάδα. Καθώς η ομάδα απάτης ήταν ενεργή, προσομοίαζε την κίνηση στους ιστότοπούς τους μέσω επισκέψεων bot, και έτσι λάμβανε χρήματα για εμφανίσεις διαφημίσεων από bots, η αποστολή του ασκούμενου ήταν να βρει όλους αυτούς τους απατηλούς ιστότοπους με ψεύτικη κίνηση. Ενδιαφέρον είναι ότι όλη η κίνηση σε αυτούς τους ιστότοπους δημιουργούνταν με υποκατάσταση IP, κάνοντας να φαίνεται ότι ένας bot επισκεπτόταν από την πόλη A, αλλά στην πραγματικότητα η συσκευή βρισκόταν σε εντελώς διαφορετικό μέρος. Πέρασε πολύς χρόνος, και ο ασκούμενος προσπάθησε να καλύψει ολόκληρη αυτή την ομάδα απάτης, καταφέρνοντας ακόμη και να πιάσει μερικούς ιστότοπους μερικώς. Αλλά ολόκληρο το δίκτυο δεν μπόρεσε να πιαστεί. Μετά από κάποιο χρονικό διάστημα, παρατήρησε μια είδηση: στην πόλη A, στις 02.08.2025, δεν υπήρχε καθόλου κινητό διαδίκτυο. Ωστόσο, το ενσύρματο (οικιακό) διαδίκτυο συνέχιζε να λειτουργεί. Δεδομένου αυτού, πώς μπορεί ο ασκούμενος να βρει όλους τους ψεύτικους ιστότοπους; Έχετε αρχεία καταγραφής ιστότοπων σε μορφή πίνακα για την περίοδο από 30.07.2025 έως 10.08.2025: timestamp | site_id | city_id Κάθε εγγραφή αντιστοιχεί σε μια επίσκεψη σε έναν ιστότοπο από μια συσκευή. Είναι γνωστό ότι η κίνηση bot αλλάζει πολύ λιγότερο από την πραγματική κίνηση ανά ημέρα. Ο στόχος σας είναι να βρείτε όλους τους ιστότοπους, των οποίων η κίνηση αποτελούνταν κυρίως από bots που πλαστογράφησαν την περιοχή τους στην πόλη A. Σημείωση Ο πίνακας που περιέχει τα δεδομένα ονομάζεται logs. Παράδειγμα εγγραφής στον πίνακα: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A
Ερωτήσεις · 31
Ερωτήσεις · 25
Ερωτήσεις · 13
Ερωτήσεις · 12
Ερωτήσεις · 10
Ερωτήσεις · 10
Ερωτήσεις · 4
Ερωτήσεις · 4
Ερωτήσεις · 3
Ερωτήσεις · 3
Ερωτήσεις · 1