როდესაც პანიკას ვერ ვიჭერთ, პროგრამა მაინც დაიხურება?
Golang
RPC სტილის სახელწოდება რა ნიშნავს? ჩვენს შემთხვევაში, gRPC და REST — რა განსხვავებაა მათ შორის?
მიუხედავად ამისა, ჯერ კიდევ მუშაობთ Magnit-ში? რატომ გადაწყვიტეთ ბაზარზე გასვლა?
Inbox-ის შემდეგ pipeline-ში რა ხდებოდა? როგორ იწერებოდა მონაცემები ბაზაში?
რა არის სინგ პაკეტში?
კოდში გამიჯვრის დონე გამარტივებით გქონდათ განკუთვნილი?
// კითხვ 5. რა გამოიტანს ეკრანზე func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
მიუხედავად ამისა, ჯერ კიდევ Magnit-ში მუშაობ? რატომ გადაწყვიტე ბაზარზე გასვლა?
ისტორიული ცხრილები შექმენით — მაგალითად, მომხმარებლისთვის, სადაც ინახება მისი თვისებების ცვლილებების ისტორია?
// კითხვის 3. რა გამოიტანს ეკრანზე package main import "fmt" import "math" func main() { i := int32(math.Pow(2, 64)) - 1 fmt.Println(i) }
როგორ ოპტიმიზირდით 10-20 წუთიანი მოთხოვნებს 5-7-მდე? რა ანგარიშები იწარმოებოდა ასე დიდხანს?
ძალიან ბევრი ასეთი გაუქმებული შეტყობინება იყო?
სად არის საჭირო recover-ის განსაზღვრა, რომ პანიკის შემთხვევაში აპლიკაცია არ ჩამოვარდეს, თუ მას ბევრი ბოლო წერტილი, ბევრი დამოკიდებულება (მონაცემთა ბაზა, კეში, ბიბლიოთეკები) აქვს?
მითხარით თქვენი ამბავი, რა გქონდათ, რა აკეთეთ?
რა ხდებოდა პირველი სინქრონიზაციის არხზე? ეს მონაცემთა მოდელი იყო, რომლის საფუძველზეც ისინი მდიდრდებოდნენ?
// კითხვა 2. რა გამოიტანება ეკრანზე package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) }
რა ხდებოდა შეტყობინებებთან ხელით დამუშავების შემდეგ? რა ვარიანტები იყო?
დასტურების შესახებ მომიყევი: რა ვარიანტებია დადასტურებისთვის, რა ხდება თუ შეტყობინება ვერ დადასტურდა?
პრაქტიკაში გამოიყენეთ ტრიგერები?
იცნობ თუ არა Saga-ის მსგავსი პატერნს?