Show balanced judgement: "I use generics for utility functions like slices.Contains and type-safe result types. I avoid them when a concrete type or small interface is clearer — Go readability matters more than type gymnastics."
Generics (Go 1.18+) eliminate the need for interface{}/any casts and code generation for type-safe collections and utilities. Good use cases: generic data structures (maps, sets, queues), utility functions (Map, Filter, Contains), and reducing boilerplate across similar types. Cases to avoid generics: when a simple interface suffices, when it makes code harder to read, or when the function only works with one or two types. Strong candidates show restraint — generics are a tool, not a goal.
Tests whether candidates adopt features thoughtfully. Those who use generics everywhere are fighting Go idioms. Those who refuse to use them are missing genuine improvements. Look for practical examples with clear trade-off reasoning.