Sobes.tech

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) //

Senior
CRTEX
35

Kādas ir jūsu algas cerības?

Middle
X5 groupX5 group
35

Kāpēc tu nolēmi tagad kaut ko meklēt, kāpēc dodies uz intervijām?

Senior
X5
35

Kā risināt sacensību stāvokļa problēmu, pievienojot vienlaicīgi preces vienā grozā no dažādām gorutīnām?

Middle+
КуперКупер
35

Kā izskatīsies saikne starp tabulām transfers un accounts (divas FK vienā tabulā)?

Senior
Lamoda Tech
35

Kāpēc izvēlēts PostgreSQL ziņu glabāšanai? Kā saprast, pie kādiem slodzēm kura tehnoloģija darbojas bez sharding un replikācijas (Postgres, Kafka, Redis, pakalpojums Go)?

Senior
Магнит Тех
35

Kurš nodarbojās arhitektūrā komandā?

Middle
X5 groupX5 group
35

// GetUsersList atgriež lietotāju sarakstu. (datu bāzē tiek glabāti aptuveni 1 miljons lietotāju) // Izmanto lietotāju saraksta rādīšanai administrācijas panelī. Ja isActive = true, tiek atgriezti tikai aktīvie lietotāji. 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("kļūda, iegūstot lietotāju sarakstu") } var users []User // Aizpildiet informāciju par lietotājiem. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Iegūstiet lietotāja e-pasta sarakstu err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("kļūda, iegūstot lietotāju sarakstu") } 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 // Iegūstiet profila informāciju no VK API profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("kļūda, iegūstot lietotāju sarakstu") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("kļūda, iegūstot lietotāju sarakstu") } }

Middle
СитиДрайвСитиДрайв
35

Vai esat iepazinies ar vakances aprakstu?

Senior
HR
35

Kāda ir atšķirība starp HTTP un HTTPS?

Senior
AvitoAvito
35

Kāda ir atšķirība starp GET un POST?

Middle+
FanZino
35

Vai jums ir pieredze ar moderniem frontend ietvara (Vue, React, Svelte)? Kas ir reaktivitate un kā tā tiek īstenota React?

Middle
Graveling
35

Kā plānotājs pārtrauc gorutīnu, kas ieiet bezgalīgā ciklā?

Senior
А7
35

Ko tu gaidi no komandas / vadītāja? Ko viņš ir jāizdara, kā palīdzēt?

Senior
OZONOZON
35

Kas ir tīra arhitektūra? Kāpēc tā ir nepieciešama?

Middle
СБЕРСБЕР
35

Pastāsti par buferētajiem un nebuferētajiem kanāliem. Kad mēs tos izmantojam? Kā tie bloķējas un kad notiek deadlock?

Middle
АО Медиа Эффект
35

Pastāstiet par savu pieredzi [uzņēmums].

Senior
AstraTech
35

Kāpēc jūs izdarījāt tieši tik daudz pakalpojumu? Kā notika izvēle — veidot pakalpojumu vai nē?

Middle+
РамблерРамблер
35

Vai mūsu maksājumu webhook pakalpojums ir stateful?

Senior
Магнит Тех
35

Vai esat nodarbojies ar mašīnmācību?

Senior
sber tech
35
/412