Sobes.tech

What is important to you in a new job?

171

What is idempotency? For NoSQL databases — what are their differences and where to choose what?

169

How does DELETE differ from TRUNCATE? How would you reset a table?

169

Is Go an object-oriented or a structural language? Go through the main principles of OOP (encapsulation, polymorphism, inheritance, abstraction) and show how they are implemented in Go.

169

Task: What will the code output? ```go package main import "fmt" func main() { a := []int{1, 2, 3, 4, 5} b := a[:2] b = append(b, 100) fmt.Println(a, b) } ```

169

How to test the printNumber function without waiting a second?

168

What will work faster — generics or empty interfaces?

168

A new SKU (meat grinder) appears in the Postgres master system — should it or should it not appear in Redis?

168

Have you encountered Common Table Expression (CTE)? Tell about them, including recursive CTE.

167

Are you currently in Moscow? What work format do you consider?

166

What are you interested in right now, what are you looking for?

165

Task: "Parallel URL processing with timeout limit" Write a function fetchAll(urls []string, maxParallel int, timeout time.Duration) map[string]string, which: 1. Performs an HTTP GET request for each URL (using http.Get). 2. Returns a map[string]string where the key is the URL, and the value is the response body (as a string) or an empty string on error/timeout. 3. Executes no more than maxParallel requests simultaneously. 4. The total runtime of the function should not exceed timeout. If the timeout expires, all unfinished requests are interrupted, and the function returns what it has. 5. Use context for cancellation.

165

Why is data normalization needed in SQL?

165

What behavioral pattern do message brokers like Kafka implement? Describe how this pattern (Pub/Sub) is structured and the relationships between entities.

164

Why do we need Docker? Why can't we just run a binary on the server?

164

If the first product was shown 1000 times, the second — 500 times, and the first had 50 clicks, the second 25 — how can they be compared?

164

Are there interesting nuances with GOMAXPROCS and cgroups in Linux?

163

package main import ( "fmt" "time" ) func main() { ch := make(chan int) go func() { ch <- 1 }() time.Sleep(time.Millisecond * 500) close(ch) for i := range ch { fmt.Println(i) } time.Sleep(time.Millisecond * 100) }

161
/10