Подборка объединяет вопросы, отмеченные на этапах интервью в Авито Скрининг. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, concurrency.
Docker-контейнеры работают на уровне операционной системы При виртуализации создаются полноценные виртуальные машины с собственным ядром Docker использует общий хост-кернел, поэтому работает быстрее и требует меньше…
пакет для управления временем жизни операций передаёт таймауты, дедлайны и сигналы отмены обеспечивает распространение отмены между goroutines содержит кросс-сервисные метаданные (trace-id, auth) позволяет выполнять…
Есть ли в Go исключения (exception)? В Go нет традиционного механизма исключений Для ошибок и аварийных ситуаций предусмотрена связка panic/recover Вызов panic останавливает выполнение текущей горутины С помощью…
Для чего нужны транзакции? база данных, целостность объединение нескольких операций в единое целое атомарность: либо выполняются все операции, либо ни одна изоляция: исключает конфликты между параллельными операциями…
ограничение времени ожидания ответа от сервера предотвращение зависания клиента при длительном выполнении запроса защита от сетевых задержек и сбоев повышение отзывчивости приложения управление ресурсами и…
Из каких компонентов состоит HTTP-запрос? сетевой протокол HTTP/HTTPS Request Line: метод запроса (GET, POST и другие), URL и версия протокола Headers: метаданные запроса, включая Content-Type, Authorization и другие…
В Go отдельного стандартного типа Set нет множество обычно представляют как map[T]struct{} ключи выступают элементами, а значения почти не используют память добавление, удаление и проверка выполняются примерно за O(1)…
фундамент функционального программирования функции рассматриваются как объекты первого класса их можно передавать в параметры и возвращать из функций это позволяет реализовывать коллбэки и хайер-ордер функции подход…
Какие бывают агрегатные функции? обрабатывают набор значений и возвращают единый результат SUM() — вычисляет сумму значений AVG() — рассчитывает среднее арифметическое COUNT() — считает количество элементов MAX() —…
Типы индексов PostgreSQL и сценарии их применения B-tree: универсальный вариант для равенств и диапазонов Hash: эффективен при точных равенствах, однако имеет ограниченные возможности GIN: подходит для мультивалютных…
буферизированные: обладают ёмкостью и не блокируют операции сразу небуферизированные: отправитель и получатель блокируются до момента согласования каналы с направлением: односторонние, только для отправки или…
Какова разница между слайсами и массивами в Go? в Go используются два типа данных: массив и слайс массив имеет фиксированный размер, который является частью его типа слайс динамичен и представляет собой ссылку на…