DEV Community

Alex Mesropians for WorksHub

Posted on

Getting ready for a Golang Interview?

Wanting to get hired or make your next move within the Golang market place. Here are a few hints, tips and questions to help you out in your next interview.

So, let’s start.

General questions

  • What is the difference between TCP and UDP? In which case is UDP preferred?
  • Is it possible to kill a thread inside a specific process with the kill command?
  • How can I sort a file by 100GB, in which the numbers are arranged in random order, by 1 number per line? Limitations β€” the amount of RAM on the machine is 1GB.
  • What is your favorite technology (can it be a database, a queue server, a library β€” anything)? And why?
  • What decisions would you make as a technical director at your current / past job?

Questions about microservices

  • What do you think are microservices?
  • What advantages do you see in microservice architecture in comparison with monolith? And what are the disadvantages?
  • What difficulties have you encountered in building a microservice architecture?
  • What have you used (or heard about) to trace services? For monitoring? And for logging?
  • How to deal with the consistency of data between several microservices?

Questions about infrastructure and deployment

  • What is blue-green deployment?
  • What was the process of deployment in your current (or previous) place of work? - What disadvantages do you see in this approach?
  • What tasks the container orchestration systems solve?

Questions about caching and databases

  • What problems in data caching did you encounter?
  • How would you solve a problem when at the same time many clients do not receive data from the cache, and all of them go to the master data source at the same time (for example, to the database)?
  • What are the pros and cons of relational DBMS in comparison with NoSQL solutions? In which case would you prefer to choose NoSQL? What NoSQL solutions did you work with? And what difficulties did you encounter while working with these solutions?

Golang questions

  • What is the string data type in the Golang language? Can I change a specific character in a string? What happens when concatenating strings?
  • What will happen when a concurrect map write occurs? How can this problem be solved?
  • Should I lock a structure with a mutex if there is a concurrent write in a different fields of the struct?

Hope this helps and for those looking within the Golang space make sure you check out Golang Works for some of the latest roles across the globe.

Original content by VictorNerd

Discussion (1)

Collapse
gayanhewa profile image
Gayan Hewa

Awesome πŸ‘, some of the content is more general than Go specific.