What are lightweight threads called in Go?

  • Fibers
  • Goroutines
  • Processes
  • Threads
Goroutines are lightweight threads of execution in Go, allowing concurrent execution without the overhead of full-blown threads.

The _______ data type in Go is used to represent a single Unicode character.

  • byte
  • char
  • int
  • rune
In Go, the rune data type is used to represent a Unicode character. It's synonymous with int32 and is commonly used when dealing with Unicode characters or representing the code point of a particular character.

Which testing framework provides features like test parallelization and subtests for organizing tests in Go?

  • GSpec
  • GUnit
  • Ginkgo
  • GoConvey
GUnit stands out for its features such as test parallelization and subtests, which help in organizing and managing tests efficiently. These capabilities make it a suitable choice for projects requiring extensive test suites.

In Go, methods can be defined on _______ types, including slices and maps.

  • All Data Types
  • Composite
  • Only Structs
  • Primitive
In Go, methods can be defined on all data types, not just structs. This includes slices and maps, allowing for more flexible and expressive code when working with various data structures.

The _______ package in Go provides support for text and HTML template parsing.

  • html/template
  • text/template
  • template/html
  • go/template
The correct option is text/template. The text/template package in Go provides functionality for parsing and executing text templates. It's a powerful package used for creating text-based output formats. It's commonly used in web applications for generating dynamic HTML content and other text-based formats.

In Go, '_________' is a built-in interface type used to represent any value that can describe itself as a string.

  • fmt.Stringer
  • printable
  • stringable
  • stringer
The 'fmt.Stringer' interface in Go represents any type that can describe itself as a string. It has a single method 'String()' that returns a string representation of the object implementing the interface.

In Go templating, what is the significance of the "." (dot) operator?

  • Accessing fields/methods of the current context
  • Accessing global variables
  • Importing external packages
  • Looping over arrays/slices
In Go templating, the "." (dot) operator is used to access fields and methods of the current context, such as variables passed to the template during execution.

Which NoSQL database is known for its high performance, reliability, and ability to handle large volumes of data, often used for real-time analytics?

  • Cassandra
  • Couchbase
  • MongoDB
  • Redis
Cassandra is a distributed NoSQL database designed for high scalability, fault tolerance, and performance. It's commonly used in applications requiring high availability and real-time analytics due to its ability to handle large volumes of data with low latency.

The _______ operation in a transaction is used to permanently save the changes made during the transaction.

  • Begin
  • Commit
  • Rollback
  • Savepoint
The Commit operation in a transaction is crucial as it finalizes the changes made during the transaction and makes them permanent in the database. It ensures that the changes are durable and will persist even in the event of system failures.

In Go, it is a best practice to place tests in a file named _______.

  • go_test.go
  • test.go
  • test_cases.go
  • testing.go
In Go, it is a common convention to name test files with the suffix "_test.go". This helps in distinguishing test files from regular source code files. Using this convention makes it easier to organize and manage tests within a project.