What is a string in Go? What is its structure and features?
Golang
Tell about the new implementation of map in Go (Swiss Tables). What collision resolution methods exist?
// Need to modify the ap function so that 6 is included in the output slice and the slice is sorted // Important - the ap function does not return anything package main import ( "fmt" ) func main() { v := []int{3, 4, 1, 2, 5} ap(v) fmt.Println(v) // the result should be - [3 4 1 2 5 6] } func ap(arr []int) { arr = append(arr, 10) arr[5] = 6 }
What is a goroutine? What makes it lightweight?
What query optimization methods have you used? What do you look at in EXPLAIN ANALYZE and query plan?
What data types in Go can accept nil by default?
Tell about your work experience and technology stack.
What is escape analysis? How does it determine where a variable will be allocated (stack or heap)?
General question: readiness for an interview and sources of questions.
How is data transmitted through a non-buffered channel? Does it have a buffer?
What is context switching of goroutines? Who performs it?
Where does memory for variables come from? What is a memory allocator?
What blocks mutex in a channel - a goroutine or a memory area?
What happens when an uninitialized channel is closed?
Why is a channel needed in unbuffered transmission if data flows from stack to stack? What role does the channel play?
How can the frequency of garbage collector calls be reduced? What optimization methods do you know?
What type of multitasking does the Go scheduler use? What are the two types of multitasking?
What tasks did you perform with Kafka? How did you configure delivery guarantees (exactly-once)?
How does mutex work in a buffered channel? What does it protect?
What is the advantage of Swiss Tables compared to the old hash table implementation? How many bits does the hash code occupy in the old and new implementations?