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

Лайвкодинг на собеседовании

3221 вопрос в категории «Лайвкодинг»

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

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

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

В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.

Каталог

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

Найдено: 3221
Лайвкодинг

Как в Linux найти подстроку в конкретной колонке лог-файла (например, дату в третьей колонке)?

Для поиска в конкретном поле подходит awk: index($3, "строка") проверяет третью колонку как обычную подстроку. grep ищет по всей строке и сам по себе колонку не ограничивает.

Читать ответ
Лайвкодинг

Решите домашнюю задачу: дан лог результатов проверки доступности хостов кластерной СУБД (ts, host, status = UP/DOWN). Для каждого дня посчитать время, в течение которого хотя бы один хост был недоступен; проверки происходят раз в 30 секунд.

Нужно объединить интервалы недоступности всех хостов и измерить их пересечение с каждым днём. Складывать время каждого хоста нельзя: одновременные отказы посчитаются несколько раз.

Читать ответ
Лайвкодинг

def extract_from_s3(**kwargs):

Пайплайн не воспроизводим из-за now() и может удваивать raw и агрегаты при retry. Кроме того, дубли userMetadata способны размножить транзакции при JOIN и завысить выручку.

Читать ответ
Лайвкодинг

Как добавить скользящее среднее суммы заказа за текущий и два предыдущих дня в разрезе пользователя?

Сначала посчитайте сумму заказов на день, заполните отсутствующие дни нулями, затем примените AVG по текущей и двум предыдущим строкам календаря каждого пользователя.

Читать ответ
Лайвкодинг

CREATE TABLE core.localUserMetadata ON CLUSTER cluster_4x2 (

Ключ шардинга по LastLoginDate нестабилен: версии одного UserId могут попасть на разные шарды и не схлопнуться. Для пользовательских метаданных лучше стабильное распределение по UserId.

Читать ответ
Лайвкодинг

у нас есть таблица клиенты(ид имя адрес допустим), товары(ид название и т.п.), движение товара(тут у нас ид клиента товара дата количество сума), надо найти какие товары продались 1 января уникальные только ну и так же вывести имя покупателя и...

Соедините движения с товарами и клиентами, ограничьте дату полуоткрытым интервалом и выберите DISTINCT. При выводе покупателя уникальность будет по паре «товар — покупатель».

Читать ответ
Лайвкодинг

Напишите SQL для добавления нарастающего итога суммы заказа в разрезе пользователя и даты.

Нарастающий итог считают SUM(amount) OVER с разделением по пользователю, порядком по дате и явной рамкой ROWS. При одинаковых датах нужен устойчивый дополнительный ключ.

Читать ответ
Лайвкодинг

Дан лог заездов/выездов в гостиницу. Лог состоит из записей (ts, user_id, event_type).

Преобразуйте заезды в +1, выезды в −1, посчитайте дневные изменения и накопительную сумму по календарю. Это верно для полного, очищенного лога с корректными переходами состояний.

Читать ответ
Лайвкодинг

Как решить задачу с ненарастающим расчётом, например по зарплатам или филиалам, и когда использовать оконную функцию вместо группировки?

Если нужен отдельный итог на каждый филиал, используйте GROUP BY. Если нужно сохранить строки сотрудников и добавить итог филиала рядом, используйте оконную сумму без ORDER BY.

Читать ответ
Лайвкодинг

Финальный результат:

Запрос ищет максимальный перерыв между соседними заказами каждого клиента и оставляет клиентов с перерывом больше 60 дней. В SQL Server вычисление gap нужно вынести в отдельный CTE.

Читать ответ