Подготовка к интервью

Вопросы на собеседовании в ПочтаТех

127 вопросов с собеседований в ПочтаТех

127 вопросов 1634 компании 353 технологии

Что проверяют на интервью

Как устроена подборка

Подборка объединяет вопросы, отмеченные на этапах интервью в ПочтаТех. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, backend, sql.

Каталог

Результаты поиска

Найдено: 127
Теория

Как работают CTE (Common Table Expressions) в PostgreSQL?

Как работают CTE (Common Table Expressions) в PostgreSQL? SQL-конструкция для временных именованных результатов создаются с помощью ключевого слова WITH доступны только в рамках текущего запроса повышают понятность и…

Читать ответ
System Design

Как спроектировать API для загрузки больших файлов при нестабильном интернет-соединении?

Проектирование API загрузки больших файлов при нестабильном интернете API должен предусматривать поэтапную загрузку (chunked upload), при которой файл разделяется на отдельные части Каждый фрагмент отправляется…

Читать ответ
System Design

Как спроектировать возобновляемую загрузку файла при нестабильном соединении с помощью API и управления состоянием?

Как спроектировать возобновляемую загрузку файла при нестабильном соединении с помощью API и управления состоянием Контекст: передача файлов по unreliable network Задействовать API, поддерживающий HTTP Range-запросы,…

Читать ответ
Теория

Как устроены оконные функции (window functions) в SQL?

SQL-инструмент для выполнения аналитических вычислений над набором строк Они анализируют окно строк относительно текущей записи, не объединяя результат в одну строку Границы окна задаются конструкцией OVER(), где…

Читать ответ
Теория

Как устроены поколения (generations) и когда срабатывает сборщик мусора?

Поколения (generations) и условия запуска сборщика мусора Поколения — это подход к управлению памятью, при котором объекты распределяются по продолжительности жизни: на молодое (new), старое (old) и, в некоторых…

Читать ответ
Теория

Какие примитивы синхронизации в C# вы знаете помимо lock?

Какие примитивы синхронизации есть кроме lock Mutex — блокирует доступ также из других процессов, но по затратам тяжелее lock Semaphore / SemaphoreSlim — задаёт максимальное число потоков, которые могут выполняться…

Читать ответ
Теория

Когда следует применять асинхронность для тяжёлых вычислений?

Асинхронность позволяет отделить ресурсоёмкие задачи от основного потока При выполнении блокирующих операций, способных остановить UI или сервис Для параллелизации задач и более эффективной загрузки процессоров Чтобы…

Читать ответ
Теория

Может ли async-метод выполняться синхронно и что происходит с потоком при await?

async-функция в любом случае возвращает Promise, даже когда в её теле отсутствует await до первого await код внутри async-функции выполняется синхронно при достижении await выполнение приостанавливается, а управление…

Читать ответ
Теория

Почему boxing значимого типа в ссылочный считается дорогой операцией?

Почему boxing значимого типа в ссылочный считается дорогой операцией? контекст: управление памятью и производительность при упаковке для значимого типа создаётся объект-обёртка в куче (heap) выделение памяти в куче…

Читать ответ
Теория

Почему для межсервисного взаимодействия выбирают брокеры сообщений, например RabbitMQ, а не REST?

Асинхронный обмен данными: вызов не блокируется Надёжная доставка с помощью очередей и подтверждений Простое масштабирование при увеличении нагрузки Поддержка сложных коммуникационных паттернов (pub/sub,…

Читать ответ
Теория

Почему нельзя использовать await внутри lock и как lock работает под капотом?

Асинхронность и блокировка: конструкция await приостанавливает выполнение метода и позволяет другим задачам продолжить работу, тогда как lock синхронно блокирует общий ресурс. Риск deadlock: после await поток…

Читать ответ
Теория

Чем отличаются Dispose и Finalize в C# и когда применять каждый метод?

Ключевые различия Dispose и Finalize в C# Dispose — метод интерфейса IDisposable, предназначенный для явного освобождения неуправляемых ресурсов. Его можно вызвать вручную либо использовать конструкцию using, чтобы…

Читать ответ