Чем database/sql отличается от ORM в Go-разработке?
Что хотят услышать интервьюеры:
Суть: database/sql нужно рассматривать через конкретное поведение и границы применения, а сравнение с ORM помогает показать trade-off, а не просто знание терминов.
Ответ:
database/sql — стандартная абстракция для SQL-драйверов, connection pool и запросов.
Пример:
db.QueryContext(ctx, "SELECT id FROM users") Практический акцент: Сравнительные вопросы часто используют, чтобы проверить не заучивание, а инженерное мышление.
Типичная ошибка: Главная ошибка — отвечать на сравнение абстрактно. Нужно показать, где один вариант безопаснее, проще или производительнее, и упомянуть риск: не закрывать rows и тем самым удерживать соединение из pool.
Как отвечать на собеседовании: На интервью формулируйте различие через применение в реальном backend-коде: читаемость, тестируемость, latency, память и сопровождение.