Sobes.tech

Golang

Go'da süreçler, iş parçacıkları ve goroutine'ler arasındaki fark nedir?

191

Koşul 3 varlık vardır: kullanıcı, sohbet, mesaj • Kullanıcının adı ve kayıt tarihi vardır • Sohbetin adı ve oluşturulma tarihi vardır • Mesajın metni, yazarı ve oluşturulma tarihi vardır • Bir kullanıcı aynı anda birden fazla sohbette bulunabilir • Mesaj zorunlu olarak bir sohbete aittir, aynı anda birden fazla sohbete ait olamaz • Alanı tablo şeklinde tanımlamak gerekir -- dağıtılmış -- message_count sohbetlerde 100 ile sınırlandırılmış --getShard(zaman dilimi) -> shard_id -> 1 --getShard(zaman dilimi) -> 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 );

191

Proje hakkında genel olarak bahset — bu son kullanıcı için neydi?

191

Kullanıcı şifreleriyle bir veritabanımız var, şifreler hash'lenmiş durumda (hashPassword fonksiyonu ile), ve şifrelerde kullanılabilecek karakterler kümesi de biliniyor (alphabet değişkeni). Görevimiz, bilinen hash'e göre şifreyi geri almak için RecoverPassword fonksiyonunu uygulamaktır ve TestRecoverPassword'un başarılı olmasını sağlamaktır. Temel gereksinimler: Herhangi bir yöntem kullanılabilir package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() {

189

Linux'ta bir süreci nasıl öldürürüz? kill pid işe yaramazsa ne yapmalı?

187

10'dan fazla kitabı olan yazarları göstermek için SQL sorgusu yazın (tablolar: yazarlar, kitaplar, çoktan çoğa ilişki)

187

Go'da yarış durumu (race condition) nedir? Bir örnek verin.

186

3 varlık vardır: kullanıcı, sohbet, mesaj • Kullanıcının adı ve kayıt tarihi vardır • Sohbetin adı ve oluşturulma tarihi vardır • Mesajın metni, yazarı ve oluşturulma tarihi vardır • Kullanıcı aynı anda birden fazla sohbette bulunabilir • Mesaj zorunlu olarak sohbete aittir ve aynı anda birden fazla sohbete ait olamaz • Konu alanını tablolar şeklinde tanımlamak gerekir

185

PostgreSQL'de EXPLAIN ve EXPLAIN ANALYZE nedir, aralarındaki fark nedir?

184

Çözmüş olduğun ilginç/zorlu teknik bir görev hakkında anlat

183

Kod incelemesi: Go'da mutex ile önbellek. Problemleri bulun ve geliştirmeler önerin. Koşul: okuma/yazma yükü 80/20.

174

Hangi HTTP yöntemleri var? Bunlardan hangileri idempotenttir?

173

ana paket import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func ŞifreyiGeriAl(h []byte) string { return "" } func şifreHashle(girdi string) []byte { h := md5.Sum([]byte(girdi)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := şifreHashle(exp) act := ŞifreyiGeriAl(h) if act != exp { fmt.Printf("Hata: beklendi %q, alındı %q\n", exp, act) ok = false } } if ok { fmt.Println("Tüm testler başarıyla geçti") } }

172

HTTP isteği ve yanıtının yapısını açıklayın. Yanıt kodları nasıl sınıflandırılır?

170

package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func ParolayıGeriAl(h []byte) string { return "" } func hashParola(i string) []byte { h := md5.Sum([]byte(i)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashParola(exp) act := ParolayıGeriAl(h) if act != exp { fmt.Printf("Hata: beklendi %q, alındı %q\n", exp, act) ok = false } } if ok { fmt.Println("Tüm testler başarıyla geçti") } } Kodun doğru çalışması için giriş noktası -- main fonksiyonu main paketinde Görev: MD5 hash'inden orijinal şifreyi, verilen alfabeden karakterler içeren, geri yükleyen fonksiyonu implement edin.

165

Kubernetes'ta yeni sürüm dağıtımı sırasında Go servisini graceful shutdown nasıl gerçekleştirirsiniz?

163

Neden yeni teklifleri değerlendiriyorsun? Aktif mi yoksa pasif mi arıyorsun?

163

Şu anda ne istiyorsun — yeni işten beklentilerin neler?

159
/4