func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Golang
Jak przekazać slice do funkcji w języku programowania?
Wyjaśnij dlaczego i które (dotyczące wyjścia kodu)
Opowiedz o wzorcach projektowych. Czym jest double-checked locking (blokada z podwójnym sprawdzaniem) i do czego służy?
Czy możliwa jest sytuacja odczytu niepowtarzalnego przy użyciu poziomu izolacji Read Committed?
Opowiedz, jak działa Redis, czym jest?
Co zostanie wyświetlone przy każdym printcie? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Na 7. linii stwierdzono, że wewnętrzna tablica zostanie przepełniona i zostanie utworzona nowa. Dlaczego tak zdecydowałeś?
Opowiedz, jak działa planista goroutines w Go (GMP).
Czy były błędy / problemy w pracy?
Co się stanie z limiterem przepustowości Token Bucket w scenariuszu: 1 żądanie na początku sekundy, 99 na końcu, a następnie kolejne 100 w następnej sekundzie?
Opowiedz o wykorzystaniu zdarzeń (podejście oparte na zdarzeniach) na twoim przykładzie
// Co jest złego w tym kodzie? Jak go ulepszyć? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Opowiedz, czym jest map w Go i jak to rozumiesz?
Jakie zadania lubisz? Czego szukasz dla siebie?
Kto zaprojektował architekturę projektu — ty jako lider funkcji, wspólnie z zespołem, czy jako lider zespołu?
Zaprojektuj limiter prędkości dla zewnętrznego API z limitem 100 żądań na sekundę/minutę
Co zostanie wyświetlone na każdym printcie? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Jak były rozwiązywane?
Czy używasz Golang?