Golang
Hər namespace üçün ən çox log olan xidməti tapmaq üçün funksiya həyata keçirin. Top-1, top-2, top-10 üçün alqoritmlərin mürəkkəbliyi nədir?
Əgər sizə təklif etsək, nə vaxt qoşula bilərsiniz?
/* PostgreSQL-in iki server var: * PROD - OLTP server, * STATS - uzun analitik sorğular üçün server. Hazırkı serverdə, prod bazasında, böyük (10Tb) cədvəl var: CREATE TABLE profiles( id SERIAL, data JSONB ) Cədvəldə "deliklər" ola bilər, yəni bəzi `id`lər atlanmış ola bilər. PROD-dən STATS-ə profiles cədvəlini kopyalamaq üçün proqram yazmaq lazımdır. Aşağıdakı interfeyslərdən istifadə ediləcəyini fərz edirik: type Row []interface{} type Database interface { // Database interfeysinin tətbiqi əlaqələri yenidən qura bilər // SaveRows çağırışı idempotentdir io.Closer GetMaxID(ctx context.Context) (uint64, error) LoadRows(ctx context.Context, minID, maxID uint64) ([]Row, error) // [minID, maxID] SaveRows(ctx context.Context, rows []Row) error } func Connect(ctx context.Context, dbname string) (Database, error) // CopyTable // Əgər full=false, əvvəlki xətadan sonra məlumatların köçürülməsini davam et // Əgər full=true, bütün məlumatları köçür func CopyTable(fromName string, toName string, full bool) error { // ... kodunuz } Əgər `full=false` seçimi verilsə, proqram əvvəlki xətadan sonra məlumatların köçürülməsini davam etdirməlidir. Əgər `full=true` isə, bütün məlumatları köçürməlidir. **Əsas səviyyə**: - məlumatların ardıcıl köçürülməsi tək axında - səhvlərdən sonra bərpa (seçim `full=false`) Əlavə məlumatlar: - lazım olarsa, interfeysi öz metodlarınızı əlavə etməklə genişləndirə bilərsiniz - lazım olarsa, birbaşa **database/sql** paketindən istifadə edə bilərsiniz
İstifadəçilər ID-ə görə şarding olunur. Xidmət istifadəçinin şifrəsini yeniləmək üçün sorğu alır — xidmət səviyyəsində növbəti nə baş verir?
Loglar harada saxlanılıb?
Goroutine ilə əməliyyat sistemi ipi arasındakı fərq nədir?
Bu kod nə üçün yazılıb? Hangi biznes-texniki problemi həll edir?
İstifadəçi üçün atributların dəyişiklik tarixinin saxlandığı tarixçə cədvəllərini yaratdınızmı?
Hər bir SOLID prinsipini qısa şəkildə izah edə bilərsinizmi?
Şərt 3 varlıq mövcuddur - istifadəçi, söhbət, mesaj • İstifadəçinin adı və qeydiyyat tarixi var • Söhbətin adı və yaradılma tarixi var • Mesajın mətni, müəllifi və yaradılma tarixi var • İstifadəçi eyni zamanda bir neçə söhbətdə ola bilər • Mesaj mütləq söhbətə aiddir və eyni zamanda bir neçə söhbətə aid ola bilməz • Sahəni cədvəl şəklində təsvir etmək lazımdır
// Tapşırıq üçün asinxron işləyici kimi kitabxana yazın // Müştəri işləmək üçün məlumatlarla bir obyekt (Task) ötürür, // nümunəmizdə boş bir struktur istifadə edəcəyik. // İşləyici eyni zamanda N-dən çox tapşırıq işləyə bilməz, // və X-dən çox tapşırıq işləmə üçün növbəyə qoyula bilər. // Əgər növbədə yer yoxdursa, dərhal müştəriyə xəta qaytarılır. // Əgər boş işləyicilər varsa, tapşırıq alınır. // İşləmə müddətini time.Sleep(5*time.Second) ilə simulyasiya edirik. // Hər bir tapşırıq tamamlandıqda, növbəti tapşırıq növbədən alınır. // Əgər növbə boşdursa, yeni tapşırıqları gözləyirik. // Ulduz ilə: Task strukturunu genişləndirin və tapşırıqların statuslarını ayrıca sorğu ilə alın.
İterasiya sayını 12-yə artırın
Linux-u bilirsiniz və hansı səviyyədə?
[]any və delta int qəbul edən bir funksiyanı həyata keçirin. Yalnız unikal ədədlərin (int) ilk girişlərini delta qədər artırmaq lazımdır. Digər növlər və təkrarlanan ədədlər dəyişdirilməyəcək. Funksiya yenilənmiş siyahını və 2 ədədi geri qaytarmalıdır: updated – neçə unikal ədəd dəyişdirildi, duplicates – neçə ədədi element təkrarlanan oldu func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // kodunuz } // Nümunə: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // unikal ədədlər: 1, 5, 0 // d == 2 // təkrarlanan ədədlər: ikinci 1, ikinci 5
İşə qəbulumun düzgün qərar olduğunu 6 ay sonra hansı göstərici göstərəcək?
Niyə və hansı (koddən çıxış haqqında) izah et
Hansı verilənlər bazaları ilə işlədiniz və hansı SQL sorğularını yaza bilirsiniz?
Mənim üçün suallarınız varmı?
İctimai buludlardan istifadə etmisinizmi? Əgər bəli, hansı təminatçılar və xidmətlər?
Deadlock nədir və ondan necə qurtulmaq olar?