Golang
AeroHotels projesi hakkında bilgi ver: nihai mimari, backend'i nasıl tasarladın?
Kafka'da hangi teslimat garantileriyle karşılaştınız?
PostgreSQL'de replikasyon hakkında konuş: türler, senkron ve asenkron.
Yığınınızda hangi veritabanları ve mesaj aracısı kullanıyorsunuz?
Piyasa çıkmaya karar verme nedeniniz nedir?
CTE (Ortak Tablo İfadesi, WITH) ile bir şeyler yazdınız mı?
Benzersiz kullanıcı sayısı, tıklama sayısı, tıklama başı maliyet — bu metrikler hakkında bana anlatın
İşinizin dağılımı nasıl görünüyor — kodu yazdıktan sonra meslektaşlarınıza ne teslim ediyorsunuz?
UNION komutu ne yapar?
Birden fazla teklif varsa, hangi kriterlere göre seçeceksin?
Hikayeyi anlat, önbelleğin şu anki uygulamasında hangi sorunları görüyorsun?
Genel soru: mülakat hazırlığı ve soru kaynakları
Hangi veritabanlarıyla çalıştınız? Hangi tür veritabanlarını biliyorsunuz? Neden ilişkisel veritabanlarına ilişkisel denir?
150 milyon kullanıcı, 75 milyon DAU, 225 milyon MAU, 1.2M okuma / 300k yazma zirvesi QPS, 5 milyon eşzamanlı kullanıcı, yılda 60 PB yeni veri, yıllık %30 büyüme, %99.95 SLA, p99 <200 ms okuma için, <300 ms yazma için destekleyen ölçeklenebilir bir mesajlaşma sistemi tasarımı. KONTEXT WhatsApp benzeri, 1:1 ve grup sohbetleri destekleyen, mesaj teslimini sağlayan, kullanıcıların çevrimiçi durumlarını gösteren ve multimedya dosyalarının (fotoğraf, video, ses) iletimini sağlayan dağıtık bir mesajlaşma sistemi tasarlamak gerekiyor. Sistem yüksek kullanılabilirlik ve düşük gecikme sağlamalı, yüksek paralellik desteklemeli ve küresel ölçekte ölçeklenebilir olmalı. FONKSİYONEL GEREKSİNİMLER - Kişisel (1:1) ve grup sohbetleri desteği, katılımcı ekleme/çıkarma imkanı - Metin mesajları ve multimedya dosyalarının gönderimi ve alınması Servisler veya istemciler seviyesinde end-to-end şifreleme mekanizmasının açık bir uygulaması görünmüyor, genel bir not dışında. - chat_id veya user_id'ye göre veritabanlarının sharding ve replikasyonunun açık bir tanımı yok, ölçeklenebilirlik ve arıza toleransı için. - Çevrimdışı mesaj senkronizasyonu ve teslim raporlarını işlemek için açık bir bileşen veya mekanizma yok. - Özellikle zirve yüklerde, veritabanları ve servisler arasında yük dengelemenin nasıl yapıldığı net değil. **Dikkate alınması gereken kritik noktalar:**
Kafka'dan vazgeçilip başka bir mesaj aracısı kullanılması gerekirse ne olur? Kafka'yı dış servislerden nasıl izole edersiniz?
Goroutine'ler neden daha hızlı geçiş yapar?
Graceful shutdown hakkında anlat: bu nedir, sırasında ne olur, nasıl çağrılır? Kubernetes'te SIGTERM aldıktan sonra servis hangi süreçleri gerçekleştirir?
Satranç hizmeti için modüler monolit mi yoksa mikroservisler mi daha iyidir?
Büyük bir tablo var, ondan yapılan sorgular yavaş. Ne yapardınız?
Hâlâ şirkette çalışıyor musun?