Войти Регистрация

Код-ревью

Чужой код с ошибками, как на секции ревью: отмечаете строки, пишете, что не так. После ответа — список багов, ложные подозрения и исправленный код.

28 задач на ревью кода: 7 — из отчётов кандидатов и блогов компаний, 21 — наши, на задачах компаний (Яндекс · Т‑Банк · Сбер · Ozon · Авито · Wildberries · Альфа-Банк · МТС). Источник — у каждой.

Условия и примеры открыты всем. Чтобы решать, нужен вход: подходы, черновики и повторы хранятся в профиле.

Регистрация Войти
  1. 1 Перевод между счетами с комиссиейJava · деньги, транзакции, блокировки, SQL-инъекция · Т‑Банк: секция Java, код-ревью с доработкой под бизнес-задачу Средняя ~20 мин Не начата 3 энергии за подход
  2. 2 Начисление кешбэка по категориямGo · HTTP, идемпотентность, database/sql, деньги · Т‑Банк: секция Go, код-ревью с доработкой под бизнес-задачу Средняя ~18 мин Не начата 3 энергии за подход
  3. 3 Выписка по счёту постраничноPython · пагинация, SQL, персональные данные · на задачах Т‑Банка: выписка в мобильном банке Лёгкая ~9 мин Не начата 2 энергии за подход
  4. 4 Суточный лимит по карте при авторизацииKotlin · многопоточность, атомарность, часовые пояса, латентность · на задачах Т‑Банка: авторизация платежей по карте Сложная ~22 мин Не начата 4 энергии за подход
  5. 5 Класс Person: восемь замечанийJava · equals и hashCode, неизменяемость, даты, персональные данные · обзор транскриптов интервью: Сбер, Java — ревью класса Person Средняя ~20 мин Не начата 3 энергии за подход
  6. 6 Компонент истории платежейTypeScript · React, useEffect, гонка запросов, утечки · Сбер: собеседование фронтенд-разработчика, код-ревью компонента Средняя ~15 мин Не начата 3 энергии за подход
  7. 7 Массовая отправка push-уведомленийGo · горутины, каналы, HTTP-клиент, гонка на map · на задачах Сбера: push-уведомления о платежах Сложная ~22 мин Не начата 4 энергии за подход
  8. 8 Оплата ЖКХ с комиссиейPython · деньги, аргументы по умолчанию, HTTP-таймауты · на задачах Сбера: платежи поставщикам услуг Лёгкая ~8 мин Не начата 2 энергии за подход
  9. 9 Экран текущего заказа таксиSwift · UIKit, retain cycle, главный поток, Timer · Яндекс: мобильная разработка, секция «исправить ошибки в готовом коде» Средняя ~15 мин Не начата 3 энергии за подход
  10. 10 Отслеживание курьера на картеKotlin · Android, жизненный цикл, корутины, утечки · Яндекс: мобильная разработка, секция «исправить ошибки в готовом коде» Средняя ~14 мин Не начата 3 энергии за подход
  11. 11 Назначение заказов ближайшим курьерамGo · геометрия, гонки, сложность алгоритма, граничные случаи · на задачах Яндекса: диспетчеризация курьеров Доставки Сложная ~24 мин Не начата 4 энергии за подход
  12. 12 Расчёт стоимости поездки таксиPython · деньги, время, промокоды, округление · на задачах Яндекс Такси: тарифы и промокоды Средняя ~13 мин Не начата 3 энергии за подход
  13. 13 Резерв товара на складе при оформленииJava · транзакции, гонки, Spring Data, производительность · на задачах Ozon: склады и резервы Средняя ~16 мин Не начата 3 энергии за подход
  14. 14 Корзина с промокодомTypeScript · React, состояние, деньги, двойная отправка · на задачах Ozon: корзина и промокоды Лёгкая ~9 мин Не начата 2 энергии за подход
  15. 15 Применение промокода к заказуGo · SQL, целочисленное деление, гонки, граничные условия · на задачах Ozon: промокоды и акции Средняя ~14 мин Не начата 3 энергии за подход
  16. 16 Импорт остатков склада из CSVPython · ресурсы, SQL, N+1, идемпотентность, транзакции · на задачах Ozon: остатки продавцов на складах Сложная ~22 мин Не начата 4 энергии за подход
  17. 17 Автомодерация объявленийJava · строки, null, автоупаковка · на задачах Авито: модерация объявлений Лёгкая ~8 мин Не начата 2 энергии за подход
  18. 18 Хук поиска с бесконечной лентойTypeScript · React, хуки, устаревшее замыкание, гонка запросов · на задачах Авито: поиск и выдача объявлений Средняя ~17 мин Не начата 3 энергии за подход
  19. 19 Платное поднятие объявленияPython · Django, транзакции, гонки, HTTP-коды · на задачах Авито: платные услуги продвижения Средняя ~14 мин Не начата 3 энергии за подход
  20. 20 Выдача заказов в пункте выдачиGo · HTTP-обработчик, ошибки, транзакции · на задачах Wildberries: пункты выдачи заказов Лёгкая ~8 мин Не начата 2 энергии за подход
  21. 21 Пакетная обработка возвратовJava · пул потоков, BigDecimal, идемпотентность, гонки · на задачах Wildberries: возвраты товаров и денег Сложная ~25 мин Не начата 4 энергии за подход
  22. 22 Срок бесплатного хранения в ПВЗKotlin · даты, часовые пояса, граничные случаи · на задачах Wildberries: хранение заказов в пунктах выдачи Лёгкая ~9 мин Не начата 2 энергии за подход
  23. 23 Кешбэк по категориям: неочевидные багиJava · BigDecimal, автоупаковка, SimpleDateFormat, округление · обзор транскриптов интервью: Альфа-Банк, код с неочевидными багами Сложная ~22 мин Не начата 4 энергии за подход
  24. 24 Форматирование операций в выпискеSwift · опционалы, DateFormatter, форматирование денег · на задачах Альфа-Банка: выписка в мобильном приложении Лёгкая ~8 мин Не начата 2 энергии за подход
  25. 25 Форма перевода по номеру телефонаTypeScript · React, формы, useEffect, деньги, персональные данные · на задачах Альфа-Банка: переводы через СБП Средняя ~15 мин Не начата 3 энергии за подход
  26. 26 Детализация звонков за месяцJava · JDBC, ресурсы, N+1, тарификация, даты · на задачах МТС: детализация и тарификация звонков Средняя ~16 мин Не начата 3 энергии за подход
  27. 27 Ежедневное списание абонентской платыGo · биллинг, потерянное обновление, идемпотентность, даты · на задачах МТС: биллинг тарифов Средняя ~15 мин Не начата 3 энергии за подход
  28. 28 Виджет баланса в личном кабинетеTypeScript · React, setInterval, токены, обработка ошибок · на задачах МТС: личный кабинет абонента Лёгкая ~8 мин Не начата 2 энергии за подход
«Подход» — сколько энергии спишется при старте. С подпиской — 0.Время — медиана до зачёта у решивших или оценка автора.