golang-interview-questions icon indicating copy to clipboard operation
golang-interview-questions copied to clipboard

golang 面试集锦

Golang 面试集锦

[Golang Job Interview Questions]

This file contains a number of interview questions that can be used when vetting potential candidates. It is by no means recommended to use every single question here on the same candidate (that would take hours). Choosing a few items from this list should help you vet the intended skills you require.

Note: Keep in mind that many of these questions are open-ended and could lead to interesting discussions that tell you more about the person's capabilities than a straight answer would.

Table of Contents

  1. 基础类 General Questions
  2. 高级类 improve Questions
  3. 算法类 Algorithms
  4. 网络类 Network Questions
  5. Linux Questions
  6. Security Questions
  7. Cloud Questions
  8. Architecture Questions
  9. Automation Questions
  10. CI Questions
  11. Coding Questions
  12. Fun Questions

Getting Involved

  1. Contributors
  2. How to Contribute
  3. License

基础类 General Questions

  • What does the term "DevOps" mean to you?
    • "Hard"/hands-on/SRE vs
    • "Soft"/Three Ways/Theory of Constraints/philosophy of DevOps
  • Describe your experience with task management
    • Agile
    • Kanban
    • Waterfall
  • What drew you to DevOps
  • Describe the most challenging situation that you were faced with and how did you fix it?
  • How do you stay current?

高级类 improve Questions

算法类 Algorithms

Network Questions

  • Say I open a web browser and enter an address. I hit enter. Describe how the connection the works in as much detail as possible. Trying to hear that they understand:
    • DNS
    • Network routing
    • Load Balancing
    • Ports on server
    • Service that is serving port
  • What’s a PTR in DNS?
  • What’s a MX record in DNS?
  • How a CDN chooses the closest host to serve a client?
  • In which cases would you choose to not implement a CDN?
  • How do you measure the performance of a server/web application? (tools, methods)
  • What are secure ways to SSH to a server inside a private network from a public location?

Linux Questions

  • Difference between RAID 0, 1 and 5?
  • What’s the advantage of one RAID over another?
  • Alternative to init.d in Linux?
  • How to view running processes in Linux?
  • How to check DNS records in Linux?
  • Describe your experience with scripting

Security Questions

  • Difference between authorization and authentication?
  • Describe two-factor authentication
  • Describe how would you secure a web application
    • HTTP vs HTTPS
  • Talk about PKI/your experience with SSL/Certificates

Cloud Questions

  • Have you used AWS or other cloud platforms?
    • How long for?
    • In production or just at home on personal projects?
  • How to keep logs on servers or containers with ephemeral storage?
  • Where to look when trying to reduce cloud costs without reducing capacity?
  • Name the "Big Three" cloud providers
    • AWS
    • GCE
    • Azure

Database Questions

  • What's the use case for a database read replica?

Architecture Questions

  • How to scale a database without just increasing capacity of a single machine while maintaining ACID?
  • How to choose between relational database and noSQL?
  • What advantages a NoSQL database like MongoDB has, comparing to MySQL?
  • How to manage API versions?
  • How to reduce load time of a dynamic website?
  • How to reduce load time of a static website?

Automation Questions

  • Have you used Puppet, Chef, Salt or Ansible?
    • How long have you used it for?
    • Have you used it in production?
  • Describe the size of the environment that you automated (how many servers, small scale or large scale)

CI Questions

  • Are you familiar with CI tools? Which ones?
  • Describe your experience implementing continuous deployment
  • How do you setup an end-to-end pipeline from dev to deployment? (long answer)
    • How can Docker help in this case?
  • How frequently have you been deploying?
    • Have you been able to improve the frequency of deployments? If so, how?

Coding Questions

Fun Questions

  • Do you have any side projects?
  • If you could learn any technology now, what would be?