Golang
Šta može da vidi sloj repozitorijuma?
С којим методологијама развоја сте радили? Које су најудобније?
/* Места у биоскопу су распоређена у једном реду. Гледалац који је управо стигао бира место, да седи што даље од осталих гледалаца у реду. То значи, растојање од места где ће седети до најближе Гарантовано је да увек постоје слободна места у реду и већ седи бар Напиши функцију која, на основу датог реда места (низ нула и јединица) Пример: Улаз: [1, 0, 0, 0, 1] Излаз: 2 Улаз: [1, 0, 1, 0, 0, 1, 0, 0, 0, 1] Излаз: 2 Улаз: [1, 0, 1, 0] Излаз: 1 */
Šta je observability? Šta uključuje ovaj pojam i šta je potrebno da bi servis bio spreman za produkciju? Zašto su potrebne metrike, trace-ovi i logovi?
Navedite primer slučaja sa SELECT FOR UPDATE kada to može dovesti do deadlocka.
Šta su kanali u Go i koje su njihove vrste?
Šta radite ako shvatite da se rokovi približavaju i nećete stići na vreme?
Postoji li način da upravljate i prilagodite stop-the-world sakupljač smeća u Go?
// таблица с товарами: // ID | cnt_view // ----------- // 1 | 100 // два пользователя начали одновременно просматривать товар с id = 1 // и в нашей базе данных запущены 2 параллельные транзакции // какой будет результат? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
Да ли има питања о фазама и тимовима?
Koje linters koristiš u Go i gde ih pokrećeš?
Da li ste ikada morali da se bavite arhitektonskim zadacima? Kako su donesena arhitektonska rešenja?
func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val } package main import "fmt" type Person struct { Name string } func changeName(person *Person) { person = &Person{ Name: "Alice", } } func main() { person := &Person{ Name: "Bob", } fmt.Println(person.Name) // changeName(person) fmt.Println(person.Name) // }
Пакет грешака: две методе, Is и As, у чему је разлика и када се користе?
Kada si bio u T-banku, na kojem projektu si radio tamo?
[ime] je pitao: ispričaj mi o primitivima za sinhronizaciju u GoLang.
Kako ocenjuješ svoje iskustvo sa Kubernetes-om?
Kako su išli zadaci u timu — od biznisa preko analitičara do lidera?
Koje testove smatraš najučinkovitijima?
Šta je VACUUM u PostgreSQL?