Sobes.tech
Junior — Middle

Koji znaci ukazuju na to da vaš nivo profesionalne kompetencije odgovara nivou Middle?

sobes.tech АИ

Одговор од АИ

Обично, ниво Middle у развоју на Go карактерише следеће особине:

  • Уверено познавање основа језика: разумевање горутинa, канала, интерфејса и структура.
  • Способност за самостално развијање и одржавање модула средњег нивоа.
  • Знање стандардне библиотеке и способност да се она примењује за решавање практичних проблема.
  • Искуство са системима за контролу верзија и писање тестова (јединичних, интеграционих).
  • Разумевање принципа дизајна и образаца, као и способност читања и унапређења туђег кода.
  • Учешће у прегледима кода, и способност давање и прихватање конструктивне критике.
  • Способност процене времена извршења задатака и планирања свог рада.

Пример: можете написати функцију која ефикасно обрађује податке коришћењем горутинa и канала, и покрити је тестовима.

func sum(nums []int, c chan int) {
    total := 0
    for _, n := range nums {
        total += n
    }
    c <- total
}

func main() {
    nums := []int{1, 2, 3, 4, 5, 6}
    c := make(chan int)
    go sum(nums[:len(nums)/2], c)
    go sum(nums[len(nums)/2:], c)
    x, y := <-c, <-c
    fmt.Println(x + y) // 21
}