What are the typical causes of goroutine leaks in production systems and how do they affect the runtime behavior of the service?
Golang
Which is faster: callback or channel in Go? Why?
Tell about the context in Go: types, hierarchy, features of child contexts. How to create a child context independent of the parent?
Why do you use gRPC instead of REST? What are the advantages of HTTP/2, on which gRPC is based?
How to create a slice with pre-allocated memory using make? Why specify capacity in advance?
What types of memory are there in Go? How does the stack differ from the heap?
What collision resolution algorithms in hash tables are you familiar with? Which one is used in Go map?
What is the difference between SQL and document-oriented databases? When should each be used?
How does garbage collection work in Go? The three-color mark-and-sweep algorithm, STW.
How is garbage collection implemented in Go and what trade-offs does it make between latency and throughput?
What are arrays and slices in Go, and how do they differ? How does append work and what is capacity extension?
Task: there is a callback that triggers 100,000 times per second, delivering binary data. How to deliver it to the central server? What pitfalls and best practices?
How does Go ensure the safety of working with maps during concurrent access, and what synchronization mechanisms are used in practice?
Why are you changing your job?
What are the features of consumer and producer interactions with partitions in Kafka?
What is a map in Go? Is it thread-safe? What are the ways to safely work with a map in a concurrent environment?
What properties should map keys have in Go?
Data types in Go: which ones do you know, and how can they be grouped?
What are channels in Go? Types of channels, what happens when writing/reading from a closed channel?