Can we write code without interfaces?
Golang
If we have UTF-8, how can we get the length of a string?
Tell me about the features of RPC and gRPC.
What is graceful shutdown?
What is the advantage of the new map implementation over the old bucket-based one?
Tell about the features of Kafka — how is it structured?
How did services communicate with each other?
Tell me about the most memorable bug in production: what was it, how did you fix it, and what lessons did you learn?
Why use interfaces?
You joined a project where the code has been written for years, lots of legacy, no tests, everything is barely breathing. Where would you start if you need to implement a new feature?
Let's clarify on the map. In buckets — that's the previous implementation, the new implementation, what can be said?
What other synchronization primitives do you know?
Tell me, what built-in types do you know in Go?
Suppose we have a buffered channel. We write 10 messages into it, but no one reads from the other side — what will happen?
What non-obvious concurrency (goroutine) problems have you faced in real projects and how did you solve them?
```go type SafeMap struct { data map[string]string } func (s *SafeMap) GetOrCreate(key, value string) string { } ```
What can you tell about interfaces in Go?
We have 10 messages in the channel. We close it and start reading — what will happen in this case?
Why do issues arise with string length in UTF-8?
In which case are atomics most often used?