Golang
Sipariş durumu kontrolü sırasında kullanıcı davranış desenini dikkate alarak hangi önbellekleme stratejisini seçmek gerekir — cache-aside mi yoksa write-through mu?
Geliştirme sırasında bilinmesi gereken kanal çalışma kuralları nelerdir (kapalı, açık, ne zaman ne yapılabilir)?
Go dilinde bir görev yazın — pratik bölüm (geliştiricinin hayatından problemler, algoritmalar olmadan): bir hizmeti geliştirin veya düzeltin. Süre — 1,5 saat.
Kullanıcılar para kazanma modelindeki değişiklikten dolayı şikayet ediyorsa, ancak işletmenin net bir planı varsa — ne yapmalı?
Canlı kodlama: semafor — nasıl çalışır ve tamponlu kanal tabanlı uygulaması.
Hangi metodolojiyi kullanıyorsunuz: Scrum, Kanban veya karışım mı?
Eşzamanlı istekleri sınırlamak için çözümler olarak semafor ve tamponlu kanalın bir sınırlaması nedir?
Daha önce [şirket] veya ürünlerimiz hakkında bir şeyler duydunuz mu?
Tahminler nedir?
İş hayatında artık karşılaşmak istemediğin şey nedir?
Seviyeniz nedir — middle, middle+, senior?
Go'da kod analizi: kod ne yapıyor, hangi sorunlar var?
Go'da arayüz hangi gruba (değiştirilebilir/değiştirilemez) aittir?
Yetkilendirme tokenleri nedir ve hangi türleri vardır?
İlişkisel veritabanları ile NoSQL arasındaki fark nedir?
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:**
Go'da ana yığını listele
Hiç zaman kaydı yapmak veya herhangi bir sistemde zamanı takip etmek zorunda kaldınız mı?
""" Sinema koltukları tek bir sırada dizilmiştir. Yeni gelen izleyici, sıradaki diğer izleyicilerden mümkün olan en uzak mesafeye oturmak için bir koltuk seçer. Yani, izleyicinin oturacağı koltuk ile en yakın izleyici arasındaki mesafe maksimum olmalıdır. Her zaman boş koltuklar olduğunu ve en az bir izleyicinin oturduğunu garanti eder. Verilen bir koltuk sırası (sıfırlar ve birler dizisi) için, seçilen koltuk ile en yakın izleyici arasındaki mesafeyi (aralarındaki boşluk sayısı) döndüren bir fonksiyon yazın. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }
Lock contention nedir?