Golang:
- what is a pointer, operations on pointer (* and &)
- what is a goroutine.
- how to communicate between goroutines.
- what is a channel. when is blocked, buffered vs non buffered.
- what is an array. what is a slice, differences.
- new() vs make()
- what is an struct. can you add a method to a struct? difference method vs function
- what is an error. how you handle errors in golang.
General concepts:
- Apart from Singleton, tell me a recent sofware pattern you have used.
- connection pooling.
- Circuit breaker. The states of the circuit. How to implement it?
- Timeout, Retry with backoff.
- CAP Theorem.
- What SQL databases you know? and about NoSQL?
- what is a primary key.
- Idempotency, how would you implement it.
- Rate limiter, how could you implement it.
- Load balancer.
- CQRS.
- Messaging, Kafka.
- DynamoDB. What types of keys. What is a partition key?
- Strong consistency, eventual consistency.
- Database master-slave. Can you use a slave/readonly replica for everything (no, because it has a replication lag).