Golang
a := []int{1} // *T &1111000 len cap fmt.Println(len(a), cap(a)) // 1 1 b := append(a, 2) // *T &1111001 fmt.Println(len(b), cap(b)) // 2 2 b[0] = 0 fmt.Println(a) // [1] fmt.Println(b) // [0 2] c := append(b, 3) // [0 2 3] len = 3, cap = 4 // *T &1111011 ? d := append(c, 4) // [0 2 3 4] // len = 4, cap = 4 // *T &1111011 ? c[0] = 100 fmt.Println(b) // fmt.Println(c) // fmt.Println(d) //
Айлык күтүүлөрүңүз кандай?
Неге азыр бир нерсе издөө чечимине келдиң, эмне үчүн интервьюларга барасың?
Төрт гуруруттан бир убакта товарларды бир себетке кошууда race condition маселесин кантип чечсе болот?
Transfers жана accounts таблицаларынын ортосундагы байланыш кандай болот (бир таблицада эки FK)?
Неге посттарды сактоо үчүн PostgreSQL тандалды? Кайсы жүктөөлөрдө кайсы технология шардинг жана репликациясыз иштей турганын кантип түшүнүү керек (Postgres, Kafka, Redis, Go кызмат)?
Командада архитектура менен ким алектенди?
// GetUsersList колдонуучулардын тизмесин кайтарат. (Маалыматтар базасында болжол менен 1 миллион колдонуучу сакталат) // Административдик панелде колдонуучулардын тизмесин көрсөтүү үчүн колдонулат. Эгер isActive = true болсо, only активдүү колдонуучулар кайтарылат. func (u *UsersRepo) GetUsersList(ctx context.Context, isActive bool) ([]User, error) { rows, err := u.DB.Query("SELECT id, name, phone FROM users WHERE is_active = ?", isActive) if err != nil { return nil, errors.New("колдонуучулардын тизмесин алуудө ката") } var users []User // Колдонуучулар тууралуу маалыматтарды толтуруңуз. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Колдонуучунун электрондук почта тизмесин алыңыз err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("колдонуучулардын тизмесин алуудө ката") } var emails []string for er.Next() { var email string err := rows.Scan(&email) if err != nil { return nil, err } emails = append(emails, email) } if len(emails) != 0 { for i, e := range emails { e = strings.ToLower(e) emails[i] = e } } user.Emails = emails // VK API'сынан профилдик маалыматтарды алыңыз profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("колдонуучулардын тизмесин алуудө ката") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("колдонуучулардын тизмесин алуудө ката") } }
Вазиптин сүрөттөмөсү менен тааныштыңызбы?
HTTP жана HTTPS ортосундагы айырма эмне?
GET жана POST ортосунда эмнелер айырмаланат?
Сизде заманбап фронтенд-рамкалар менен иштөө тажрыйбасы барбы (Vue, React, Svelte)? Реактивдүүлүк деген эмне жана ал Reactте кантип ишке ашырылат?
Пландаштыруучу кандайча чексиз циклга кирген goroutine'ду үзгүлтүккө учуратат?
Тимден / жетекчиңизден эмне күтөсүз? Ал эмне кылышы керек, кандай жардам бере алат?
Таза архитектура деген эмне? Эмне үчүн керек?
Бюджеттелген жана бюджетсиз каналдар жөнүндө айтып бер. Качан колдонобуз? Алар кантип блоктолот жана качан deadlockка кирет?
[Компания]деги тажрыйбаңыз жөнүндө айтып бериңиз.
Неге так көп кызматтарды жасадыңыз? Тандоо кандай болду — кызмат кылуу же кылбоо?
Биздин төлөм вебхук кызматы statefulби?
Машина үйрөнүү менен алектендиңизби?