Most commonly asked interview theory questions.
- Why golang
- What is goroutines
- What is channels
- Types of channels - Buffered & Unbuffered channel
- Where you used goroutine and channels in project
- What is wait groups
- What is Mutexes / how to avoid race condition in
- Go-routines talking each other one is failed to send data to another how you handle
- What is interfaces
- What is methods
- What are the reference types in golang
- How to generate in go mock / go mocking?
- Go testing tools used ?
- What is difference between interface and struct
- runtime time type checking
- Unit tests / How you test server, handler, repository ?
- How Slices different from array , how they dynamically shrink ?
- Remove middle element from slice without re-slicing ?
- Can we add filter on slice, for example only return even no from slice ?
- How to create an worker pool
- Error handling in go / exception handling in golang
- What is nil in golang
- What is anonymous function
- What is empty struct{}
- What is maps
- How to get only keys from map
- How to iterate over map without using for loop
- What is struct
- How to detect race condition in golang
- What are golang data structures used in project
- Have you written own pkg in golang
- Tools to format go code
- What is Function Closure
- How do know channel is closed?
- What is Shallow copy , Deep copy difference
- Datatypes in Go
- Write an API in gin framework
- Panic and Recovery
- What is go mod
- Serialization in go / Go is asynchronous or synchronous
- What is context package
- Add value to a map using channels
- Parallelism and concurrency
- Polymorphism and Inheritance in golang , How to achieve ?
- Design a rest server to store employee details
- Do you know Gin ?
- What is string literals
- What is Docker
- What is k8s
- Complexity of insert , search in maps and array/slice
- Drawbacks of micro services
- Write API for user register how you can do ?
- Micro services how to handle failed
- How you mange and read config at local, staging, production ?
- How to write response if something happen in service layer ?
- What happens when two go routines try to access same resource, how to avoid ?
- How to know if any service third party API failed ?
- How to copy one file from server1 to server2
- Rate yourself out of 10 in golang , database
- How you migrate existing monolithic project into micro services
- What are the design patterns ?
- Explain URL shortner service how you structure code ( Architecture folder structure)
- Which database will choose relational or nosql
- Can we design architecture for your project?
- Have you written own pkgs in golang ?
- What is docker file, docker-compose difference ?
- Can you able to write Docker file ?
- What is GRPC
- Can we use json or xml instread on protobuf in grpc
- Why not follow TDD in current project
- How you find error if any micro service is down , how to check logs and recover
- Do you know Virtualisation , pagination some OS concepts
- Which framework used
- How you migrate NoSQL to SQL DB
- What are the message queue you used ?
- Git hub actions –> CICD
- How you document your API - Swagger, GoDOC
- How you secure application at code level
- AWS - Amazon Elastic Compute Cloud (EC2), AWS Lambda - server less, Amazon Simple Storage Service (S3), Amazon DynamoDB,
- What is terraform
- Array vs linked-list , queue vs stack , complexity
- What is kafka
- How to set env in docker
- What is Service discovery
- Which db is faster relational vs nosql
- Interpreter vs compiler
- What is heap and stack
- What is thread
- Tell me common HTTP Error codes
- Explain 2 tier , 3 tier Architecture
- Communication Client to Server end to end
- Micro services vs monolith
- What is race condition , deadlock
- Linux commands
- What is /proc in Linux
- What is bash ?
- What is script and What is program
- Explain your project structure / What is clean code architecture
- ELK Elastic search
- How micro services communicates?