Aus welchen Feldern besteht ein Slice in Go?
Golang
Gab es Situationen, in denen Sie mit dem Teamleiter oder Stakeholdern nicht einverstanden waren? Was haben Sie getan?
func revert(nums []int) { // 1 2 3 4 => 4 3 2 1 } func main() { a := []int{1,2,3,4,5} revert(a) fmt.Println(a) } func revert(nums []int) { // 1 2 3 4 => 4 3 2 1 l, r := 0, len(nums)-1 for l < r { nums[l], nums[r] = nums[r], nums[l] l++ r-- } } func main() { a := []int{1,2,3,4,5} revert(a) fmt.Println(a) }
Was machen Sie, wenn Sie feststellen, dass die Fristen näher rücken und Sie es nicht rechtzeitig schaffen?
Mussten Sie jemals eigenständig architektonische Entscheidungen treffen?
Erzählen Sie mir von Ihrem letzten Projekt. Welche Rolle haben Sie dort eingenommen?
func main() { defer func() { if r := recover(); r != nil { fmt.Println("wiederhergestellt") } }() defer func() { fmt.Println("defer") }() go func() { fmt.Println("inner goroutine start") panic("boom") fmt.Println("inner goroutine end") }() time.Sleep(time.Second) }
Wie wissen Sie, dass die Aufgabe qualitativ hochwertig erledigt wurde?
Analysieren Sie das folgende Go-Code-Snippet und erklären Sie, was vom Programm ausgegeben wird und warum: ```go func main() { type User struct { Name string } m := map[string]User{ "a": {Name: "Alice"}, } u := m["a"] u.Name = "Bob" fmt.Println(m["a"].Name) } ```
Was machen Sie, wenn die Aufgabe bis zum Ende unklar ist oder die Spezifikation von dem abweicht, was bereits gemacht wurde?
Verwenden Sie neuronale Netze bei Ihrer Arbeit? Wie genau? Wie stehen Sie ihnen gegenüber?
1.21 func main() { var nums []*int for i := 0; i < 10; i++ { nums = append(nums, &i) } for _, v := range nums { go func() { fmt.Println(v) }() } }
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) //