Explain what sync.Map is and what its advantages are compared to regular maps in Go.
Golang
What is a linter in Go?
What are the advantages and disadvantages of Elasticsearch?
Can you explain the concept of channels in programming and their main purpose?
What criteria are important to you when selecting a team for a project?
How to solve the problem of concurrent booking when switching to a real database?
Is it necessary to add a return after logging an error in the handler when validation fails?
Why do you put business errors (ErrUnknownRoom, ErrRoomNotAvailable) into the domain layer?
What is a panic in Go and how does it differ from an error? How to catch a panic?
Is the string type in Go mutable or immutable?
Tell us about the garbage collector in Go. What is tri-color marking? What is a write barrier? What optimizations are used?
Should an interface be returned instead of a structure? When could this be an advantage?
What is the problem with concurrent access to a slice without a mutex? How to fix it?
Recruiter's question about salary expectations and project employment conditions (230k vs 280k, fixed-term contract)
What is Graceful Shutdown and why is it needed?
What are ACID properties of transactions? Tell about each property.
How to optimize performance under high load (1000 RPS) on a booking method with a mutex?
What problems are associated with a DTO object passing through all layers (handler → service → repository)?
Can you give an example of a situation where you successfully solved a very complex problem?
Where should business validation (e.g., date checks, booking limit of 10 days) be located? In the handler or in the service?