Tell me about Kubernetes — what is it, how does it differ from Docker, what are its main components?
Golang
How can data race conditions be avoided? How does Mutex work?
What problems can arise when using shared memory with threads? What is a race condition?
Under what conditions will reading from a channel be blocked forever? What happens when writing to a nil-channel? When writing to a closed channel?
How are errors handled in Go? What is the difference between errors.Is and errors.As?
What will happen to the slice when passing it to a function, adding an element, and modifying an existing one?
How does containerization differ from virtualization?
How can goroutines communicate with each other? What synchronization methods exist in Go?
// Given sorted slices A and B. Slices keep unique values. Produce a union of them into sorted slice RES without duplicates. // A = [1, 3, 5, 7] // B = [1, 2, 3, 7, 9] // RES = [1, 2, 3, 5, 7, 9]
Why are you changing jobs?
Tell me more about WaitGroup: how does it work, what do Add, Done, Wait do?
Tell me about TCP and UDP, what is the difference?
How do containers differ from virtual machines?
Linux commands you know. What does the kill command do?
What is an interface in Go, why is it needed, how does it work? What does it look like under the hood?
What are goroutines? How do they differ from regular threads?
What problems can arise from shared memory among threads? How can they be avoided? What synchronization methods do you know?
What is the difference between virtualization and containerization?
How deep did you have to dive into Kafka? How many concurrent readers can there be from a topic with 5 partitions within a Consumer Group?
How to trigger a panic when working with a channel? What happens with nil-channel and closed channel operations?