-
Installation: 1- Explain how Go path works? 2- What are the benefits of Go Module (reference its commands)?
-
Concurrency: 1- Explain Concurrency & when to use it? 2- How would you allow communication between goroutines in Go? 3- How would you manage their access to resources?
- why do you use Go (my answer was as simple as "why i shouldn't", and some extra points Grimacing face)
- which libraries I use for development (almost always using the std library
- error handling
- testing (testing techniques, benchmark testing)
- logging (whether using in app logging or sending logs to external service)
- concurrency patterns.
- monitoring (this is tend to be generic not specific to go)
- internal services communications (REST, gRPC, and/or Event Bus).
- MicroServices Architectures (this tend to be a generic not specific to go), which one I use the most?
- in case of using net/http. how to handle http methods, path parameters?
-
Buffered vs Unbuffered channels
-
What is a go routine
-
Fix a Deadlock in a code snippet
-
Implement a map allowing concurrent access
-
Compare emojis represented using runes and strings (I don’t recall this very well)
-
How would you implement rate limiting
-
Why are go routines so cheap when compared to normal threads?
-
What’s is the difference between concurrency and parallelism?
-
How Go’s garbage collection works?
The one interesting thing I can think of is that I was once asked about how to use channels as a work control mechanism (like for/select, or separately the quitChan pattern)
-
What is the difference between goroutine and os thread?
-
How Go GC works?
-
What is goroutines
-
How goroutines works
-
What is channel and how it works
-
What is the hardest about Go in your opinion
-
Difference between Dep and GoMod
-
Why does an empty interface can be used for all types ?
-
Why is go’s memory footprint considerably less than Java’s ?
-
Best practises when dealing with goroutines ?
-
Go’s GC.
Perfect. Thank you