How did you implement the Outbox worker — did you write your own polling or use an infrastructural tool?
ERP Consultant
What multithreaded collections do you know?
Tell about transaction isolation levels. Which ones have you worked with, and how do they differ?
How was working with the database and ORM organized in backend services? Did you use Repository, DAO, or Active Record?
Is there a difference in the order of defining fields in a composite index? For example, there is a composite index (name, surname), but the query only has surname — will the index be used?
Naming conventions in Go — how should abbreviations be written?
Implement a rate limiter for a handler: each client has client_id, limit, and interval; limit the number of handler calls for each client within a sliding time window and throw RateLimitExceededError.
Tell about a heavy query that you had to optimize.
How to implement the Inbox Pattern on the Notification service side to guarantee message processing?
How to organize load balancing between multiple hosts using mTLS? How does mTLS work with a load balancer in its infrastructure?
What types of sagas do you know?
How was the work with databases carried out in the projects — through ORM or native tools?
What guarantees of message delivery do you know in Kafka?
What is exactly-once semantics in Kafka? Does it really provide absolute guarantees?
What is the slowest delivery guarantee level in Kafka?
Why did you choose Go for a messenger?
What is a servlet? What is a servlet container? Which popular containers do you know?
How does GoVet differ from golangci-lint?
What is a context in Go? What is it used for, what types are there, and what patterns exist for working with it?
What happens when awaiting a coroutine? Does the execution block?