Golang
რატომ გამოიყენეთ ერთდროულად Kafka და gRPC? რა სცენარები მიდიოდა Kafka-ით და რა gRPC-ით?
როგორ სწორად შეინახოთ გარე სერვისის ჰოსტის URL-ი?
რა არის map Go-ში? როგორ არის მოწყობილი (ახალი რეალიზაცია Go 1.24-ში)?
CI/CD პაიპლაინზე ისაუბრეთ: რა გარემოებები, რა ნაბიჯები, როგორ აშენდა პროცესი?
რატომ გადაწყვიტეთ ბაზარზე გასვლა? რა არ მოგწონთ თქვენს მიმდინარე ადგილას?
რატომ გამოიყენება ინტერფეისები Go-ში, რა სარგებელი და ნაკლია მათ?
რა განსხვავებაა მატერიალიზებული ხედვისა და ჩვეულებრივი ხედვის შორის?
გქონიათ თუ არა გამოცდილება Kubernetes-თან მუშაობაში წინა პროექტებში?
რეპოზიტორიის ფენა რა შეუძლია ნახოს?
როდესაც ჰეშის გადახედვა ხდება, ჰეში რჩება იგივე, თუ ახალი გამოითვლება გასაღებისთვის?
რა არის კონკურენტუნარიანობა და პარალელიზმი? რა განსხვავებაა მათ შორის? შეიძლება თუ არა ისინი თანაცხოვრება?
რამდენი მეხსიერებას იკავებს bool ტიპი?
თქვენ თვითონ უყურებთ მონიტორინგს თუ გაქვთ ცალკე გუნდი?
როგორ მუშაობს GOMAXPROCS და რა არის P (პროცესორი) GMP-მოდელში?
რატომ არის საჭირო ორი if შემოწმება (ხაზზე 79 და ხაზზე, სადაც len(buf)==MaxItems), ერთი არა?
/* PostgreSQL-ის ორი სერვერი არსებობს: * PROD - OLTP სერვერი, * STATS - სერვერი გრძელვადიანი ანალიტიკური შეკვეთებისთვის. მიმდინარე სერვერზე, prod მონაცემთა ბაზაში, არსებობს დიდი (10Tb) ცხრილი შემდეგი სტრუქტურით: CREATE TABLE profiles( id SERIAL, data JSONB ) ცხრილში შეიძლება იყოს "ფუჭი ადგილები", ანუ ზოგი `id` შეიძლება გამოტოვებული იყოს. პროგრამის დაწერა საჭიროა, რომელიც კოპირებს ცხრილს profiles PROD-დან STATS-მდე. განსაზღვრილია, რომ გამოიყენება შემდეგი ინტერფეისები მონაცემთა ბაზებთან მუშაობისთვის: type Row []interface{} type Database interface { // ინტერფეისის რეალიზაცია შეუძლია კავშირების აღდგენა // SaveRows-ის გამოძახება არის იდემპოტენტური 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 // თუ full=false, განაგრძეთ მონაცემების გადაცემა წინა შეცდომის ადგილიდან // თუ full=true, გადაიტანეთ ყველა მონაცემი func CopyTable(fromName string, toName string, full bool) error { // ... თქვენი კოდი } თუ გადაეცემა ვარიანტი `full=false`, პროგრამა უნდა განაგრძოს მონაცემების გადაცემა წინა შეცდომის ადგილიდან. თუ `full=true`, უნდა გადაიტანოს ყველა მონაცემი. **ძირითადი დონე**: - მონაცემების სერიული გადაცემა ერთ ნაკადში - შეცდომის შემდეგ აღდგენა (ვარიანტი `full=false`) დამატებითი ინფორმაცია: - თუ საჭიროია, შეგიძლიათ ინტერფეისი გააფართოვოთ თქვენი საკუთარი მეთოდებით - თუ საჭიროია, შეგიძლიათ პირდაპირ გამოიყენოთ **database/sql** პაკეტი
რა გითვალისწინეთ მომხმარებლის დაგვიანებას (consumer lag) სერვისის გადაყენების ან შეჩერების დროს?
გსურს განვითარება არქიტექტურაში?
შეგიძლია გითხრა გორუტინების შესახებ? რა გეცოდინება მათზე, რა არის მათი მახასიათებლები?
პროექტზე რა ტესტები ჩატარდა და როგორ დაიწყეს ისინი?