Sobes.tech
Junior — Middle

Кои признаци показват, че вашето ниво на професионална компетентност съответства на ниво Middle?

sobes.tech AI

Отговор от AI

Общо взето, средното ниво в разработката на Go се характеризира с:

  • Уверено владеене на основите на езика: разбиране на горутините, каналите, интерфейсите и структурите.
  • Способност за самостоятелно разработване и поддръжка на модули със средна сложност.
  • Знания за стандартната библиотека и умения за прилагането й за решаване на практически задачи.
  • Опит с системи за контрол на версиите и писане на тестове (unit, integration).
  • Разбиране на принципите на проектиране и шаблоните, както и умение за четене и подобряване на чужд код.
  • Участие в прегледи на код и умение за даване и приемане на конструктивна критика.
  • Способност за оценка на времето за изпълнение на задачите и планиране на работата.

Пример: можете да напишете функция, която ефективно обработва данни с помощта на горутин и канали, и да я покриете с тестове.

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
}