Go Programming Competency

  • 15m
  • 15 questions
The Go Programming Competency benchmark measures your ability to work with Go's advanced programming features such as libraries or packages, data handling, efficient solutions for concurrency issues, and testing techniques. You will be assessed on your skills to work with modules and packages and Goroutine; improve performance with Go concurrency models; implement channels, pipelines, and WaitGroup; perform unit testing; connect to databases; and apply the most significant best practices of Go. A learner who scores high on this benchmark demonstrates that they have the ability to build robust Go applications with the knowledge of advanced features and techniques that the Go language possesses.

Topics covered

  • combine channels and WaitGroups with Goroutines
  • compare and contrast race conditions versus data race conditions
  • create and execute a Go program to improve performance with concurrency
  • create and execute a simple Goroutine
  • create and implement a pipeline in a Go program
  • create and use nested packages in Go
  • create and use prepared statements in relation to databases in Go programs
  • create and use WaitGroups in Goroutines
  • create and work with buffered and unbuffered channels in Goroutines
  • create and work with modules and packages
  • describe concurrency primitives typically used in Go programs
  • implement unit testing against a Go program
  • outline best practices for organizing Go code, with reference to code structure, naming conventions, and comments
  • recognize the deployment tools and techniques used for Go applications and deploy a Go program to a cloud provider
  • use an intrinsic approach in Go for handling errors, null values, and unknown columns