What does the repository layer see?
Golang
Tell me about pessimistic and optimistic locking
package main import ( "fmt" "sync" ) func change(sl []int){ sl[0] = 10 } func main() { sl := make([]int, 10) sl[0] = 5 //5 change(sl) //1 fmt.Println(sl) }
Do you work with gRPC? How do you handle backward compatibility in gRPC?
What is the difference between sharding and partitioning?
How to implement Dead Letter Queue (DLQ) in Kafka?
How to make a string validator not longer than 250 characters?
Why not use WebSocket instead of gRPC streaming?
package main import ( "fmt" "sync" ) func main() { ch := make(chan int) wg := &sync.WaitGroup{} wg.Add(3) for i := 0; i < 3; i++ { go func(v int) { defer wg.Done() ch <- v * v }(i) } wg.Wait() var sum int for v := range ch { sum += v } fmt.Printf("result: %d\n", sum) }
How are the models between layers organized?
What architectural patterns allow to eliminate atomicity between microservices? Have you worked with the Saga pattern? What are the two types of Saga and what is the difference?
What is the difference between replication and sharding?
Which REST methods are idempotent?
When are stream requests in gRPC better than single requests?
What can you tell about map in Go?
Tell me about transaction isolation levels. How many are there and what is the default in PostgreSQL?