Skip to content

Go Programming Practice Exam

Test yourself under real exam conditions: 50 timed questions, 60 on the clock, pass mark 70%%. Instant score with a full review of everything you got wrong. Free — no account needed.

📝 50 questions · ⏱ 60 minutes · 🎯 Pass mark 70% · 🆓 Free, no signup

Exam details

  • 50 questions drawn from 170 cards
  • Countdown timer — auto-submits when time runs out
  • Pass mark 70% (real certification threshold)
  • Full review of wrong answers at the end
  • No signup required — save your score with a free account

Sample Questions

5 shown

What is Go (Golang)?

Show ▼

Go is an open-source programming language developed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is statically typed, compiled, and designed for simplicity, concurrency, and performance.

How do you declare a variable in Go?

Show ▼

You can declare variables using:
var x int = 10
var y = "hello" (type inferred)
z := 42 (short declaration, only inside functions)

What is a goroutine?

Show ▼

A goroutine is a lightweight thread managed by the Go runtime. You start one with the go keyword:
go myFunction()
Goroutines are multiplexed onto OS threads and are extremely cheap to create (only a few KB of stack).

How do you create a channel in Go?

Show ▼

Use the make function:
ch := make(chan int) — unbuffered
ch := make(chan string, 5) — buffered with capacity 5
Channels are used to communicate between goroutines safely.

What is the difference between unbuffered and buffered channels?

Show ▼

Unbuffered channels block the sender until the receiver is ready, and vice versa — they provide synchronization.
Buffered channels allow sending up to their capacity without blocking. The sender only blocks when the buffer is full.

🎯 Take the Go Programming Practice Exam