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
}