Sobes.tech

Golang

Serwis na produkcji nie działa stabilnie dłużej niż 5 minut. Udało się zlokalizować problem: istnieje funkcja P() w zewnętrznej bibliotece, która z pewnym prawdopodobieństwem wywołuje panic. Jak rozwiązać ten problem? Biblioteka jest open source, kod można obejrzeć w vendor.

165

```go func main() { wg := sync.WaitGroup{} for i := 0; i < 10; i++ { wg.Add(1) go func(wg sync.WaitGroup) { defer wg.Done() fmt.Println(i) }(wg) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```

161

Jak zoptymalizować ciężkie zapytanie SQL analityczne w dużej bazie danych produkcyjnych?

Middle+
159

Opowiedz o swoim doświadczeniu, interesujących zadaniach, nad czym lubisz pracować, z czego jesteś dumny.

158

Gdzie lepiej deklarować interfejs — w miejscu implementacji czy w miejscu użycia?

Middle+
158

Czy kolejność wyjścia 100 gorutyn będzie za każdym razem taka sama? Od czego to zależy?

156

Załóżmy, że zadanie jest w wersji Go 1.18. Co się zmieni w zachowaniu programu?

152

Jaka jest różnica między silnikami MergeTree, ReplicatedMergeTree i Distributed w ClickHouse?

Middle+
152

Czy znasz architekturę Kubernetes, jakie istnieją jednostki, czym jest control plane?

148

Co byś zrobił, gdybyś zaproponował rozwiązanie architektoniczne, ale lider techniczny się z tym nie zgadzał, a ty byłeś pewien swojej racji?

Middle+
146

Jak działa system moderacji do wykrywania zabronionej treści, w tym podobnych obrazów?

Middle+
146

Jak możliwe jest uruchamianie wielu odizolowanych środowisk na jednej lokalnej maszynie (Docker/konteneryzacja)?

135

```go func main() { wg := sync.WaitGroup{} wg.Add(8) for i := 0; i < 10; i++ { go func(wg *sync.WaitGroup, i int) { defer wg.Done() fmt.Println(i) }(&wg,i) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```

134

Dzięki czemu udało się skrócić czas przetwarzania operacji z 120 do 5 sekund?

Middle+
132

Co zobaczymy na ekranie podczas uruchamiania programu, jeśli naprawimy błąd z wg (przekazać wskaźnik)?

130

Jak sprawić, aby na piątym wierszu, jednostka dodana przez append, również była widoczna? Nie zmieniając sygnatury funkcji fill.

130
/2