Есть набор урлов.
Для последовательного варианта проверяйте URL в цикле, для конкурентного — передавайте задания workers, а результаты печатайте в вызывающей горутине. Нужны таймаут и закрытие тела ответа.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Для последовательного варианта проверяйте URL в цикле, для конкурентного — передавайте задания workers, а результаты печатайте в вызывающей горутине. Нужны таймаут и закрытие тела ответа.
Читать ответНужны users, chats, messages и связующая таблица chat_members для участия пользователя в нескольких чатах. Сообщение содержит один обязательный chat_id и author_id.
Читать ответВ коде неверная начальная длина корзины, несинхронизированный Add и отсутствует return в Remove. Удаление во время range также может пропустить элементы или выйти за границы.
Читать ответdbHits++ нужно защитить синхронизацией. Для независимого счётчика удобно использовать atomic.Int64 и операции Add/Load.
Читать ответОтсутствие профиля проверяется через NOT EXISTS. Для пользователей с несколькими профилями сначала находят группы с COUNT(*) > 1, затем выводят каждый профиль.
Читать ответВ IT ранги будут 1, 1, 2, в HR — 1, 2. Равная зарплата получает один ранг, а следующий ранг идёт без пропуска.
Читать ответВыплату нужно выполнять одной транзакцией с защитой обеих записей от конкурентных изменений. float32 для денег и локальный счётчик totalPayouts создают дополнительные риски.
Читать ответВ ветке entry == nil mutex не освобождается, поэтому следующий Invoke зависнет. Нужно разблокировать его перед возвратом, сохраняя сетевой вызов вне критической секции.
Читать ответВ показанном фрагменте ошибка flush игнорируется, а подтверждение cookies после Process требует идемпотентности. При частичном commit повтор может заново обработать уже выполненную часть.
Читать ответВ коде неверный идентификатор advertiser, SQL-инъекция, отсутствие транзакции и небезопасные денежные вычисления. Две записи и счётчик нельзя считать атомарной выплатой.
Читать ответНужно уточнить СУБД: процедура не везде может быть источником SELECT. В PostgreSQL для табличного результата используют функцию RETURNS TABLE, а процедуру вызывают через CALL.
Читать ответСгруппируйте заказы по клиенту и отфильтруйте группы через HAVING SUM(total_amount) > 1000. Имя и город берутся из customers.
Читать ответ