როგორ გადაეცემა სლაისი ფუნქციას პროგრამირების ენაში?
Golang
func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
პროექტირების ნიმუშებზე მითხარით. რა არის double-checked locking (ორმაგი შემოწმების ბლოკირება) და რა მიზნით გამოიყენება?
გთხოვთ, ახსნათ რატომ და რომელ (კოდის გამოყვანის შესახებ)
შესაძლებელია თუ არა არასპირალური წაკითხვების სიტუაცია Read Committed იზოლაციის დონეს გამოყენებისას?
რა გამოვა თითო პრინტზე? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
მითხარი, როგორ მუშაობს Redis, რა არის ეს?
7-ე ხაზზე გამოიტანეს დასკვნა, რომ შიდა მასივი გადატვირთული იქნება და ახალი შექმნილი იქნება. რატომ ასე გადაწყვიტე?
მითხარი, როგორ მუშაობს goroutine-ების გრაფიკი Go-ში (GMP).
გქონდათ შეცდომები / პრობლემები სამუშაოზე?
მითხარი, რა არის map-ი Go-ში და როგორ გესმის ამას?
რა მოხდება Token Bucket სიჩქარის შეზღუდვასთან სცენარით: 1 მოთხოვნა წამლის დასაწყისში, 99 ბოლოს, და შემდეგ კიდევ 100 შემდეგი წამში?
მითხარი შენი მაგალითზე მოვლენების გამოყენების შესახებ (მოვლენებზე დაფუძნებული მიდგომა)
// ამ კოდის რა არის ცუდი? როგორ შეიძლება გაუმჯობესება? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
რომელი დავალებები მოგწონთ? რა ეძებთ საკუთართვის?
გარე API-ისთვის 100 მოთხოვნა წამში/წუთში ლიმიტით სიჩქარის შეზღუდვის დიზაინი
ვინ არის პროექტის არქიტექტორი — შენ როგორც ფუნქციის ლიდერი, გუნდთან ერთად, თუ გუნდის ლიდერი?
გოლანგს იყენებ?
რა გამოვა თითო პრინტზე? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
როგორ ხსნიდნენ?