TGViewer
Maxim WebDev Maxim WebDev @maxim_webdev · 513 subscribers
Post #112 1.68K
Какие алгоритмические задачи с собеседований я применял на коммерческих проектах?

Вас тоже бесит, когда на собеседованиях дают live-coding задачи, которые не используются в коммерческой разработке?

Я помню, как интервьюер дал мне задачу написать кастомный Stack с нуля, уверяя, что у них такая реализация используется в production коде. Когда я принял оффер, устроился в компанию и получил доступ к коду, то увидел... Что никакой кастомной реализации стека там нет.

Но на самом деле, многие задачи на алгоритмы применяются в коммерческой разработке. Расскажу вам про кейсы с моих мест работы.

1️⃣ mergeIntervals

Разбор решения задачи есть на моем YouTube.

Практический кейс был такой. Необходимо нарисовать график на основе данных с бэка. Бэк присылает массив объектов с параметрами dateStart, dateEnd и др. По оси Y идет цена в RUB, по оси X - интервалы дат.

Дело в том, что некоторые интервалы с датами пересекались. Не было смысла отображать отдельный столбец в графике, когда можно было схлопнуть несколько интервалов в один.

2️⃣ findClosestNumber (поиск ближайшего числа в массиве)

Разбор решения задачи есть в моем приватном ТГ канале.

Проект связан с оформлением кредитов онлайн. В интерфейсе приложения есть слайдер с инпутом для ввода суммы кредита. Кредит можно взять на конкретные суммы (например, 10_000, 30_000, 50_000, 100_000, 200_000 и тд). То есть если пользователь вводит в инпут число 47500, то его нужно заменить на ближайшее значение (в данном примере 50_000).

3️⃣ Observer / EventEmitter

Разбор реализации EventEmitter есть в моем приватном ТГ канале.

Проект все тот же, оформление кредитов онлайн. На клиенте есть форма из 20+ полей, где пользователю нужно заполнить персональные данные для регистрации кредита. У некоторых полей есть рядом блок с процентами (например, 5%, 8%, 20%). И вверху страницы расположена шкала от 0 до 100%. Если правильно заполняешь конкретное поле, то прибавляется процент к общей шкале.

Такой UI/UX мотивирует пользователя заполнять форму из большого количества полей.

Первое решение, которое приходит в голову, использовать useContext из React. Но его главный недостаток - лишние ререндеры. Зачем нам ререндерить всю форму при обновлении процентов шкалы, если можно воспользоваться паттернами EventEmitter или Observer?

В данном примере я применил Observer. Я повесил слушатель observer.subscribe в компоненте со шкалой процентов. А в каждом инпуте при валидном вводе значения делал observer.emit. Таким образом, ререндерилась только компонента со шкалой процентов.

----------

Конечно, примеров использования алгоритмических задач в моей практике было намного больше. Накидайте реакций, если вам понравился пост, сделаю еще одну часть.

А вы какие алгоритмические задачи с собеседований используете в коммерческой разработке? 🤔
  • 🔥 14
  • ❤ 5
More from @maxim_webdev
  1. Jun 9, 2025Как найти все ред-флаги компании в процессе собеседования? 🚩🚩🚩 Многие разработчики в ко…
  2. Nov 29, 2024Смешная история про общение с рекрутером Мне написала рекрутер и предложила пройти собесед…
  3. Nov 19, 2024⚛️ Хочу вам рассказать про рендеринг в React через реальную ситуацию с работы. Я отдал зад…
  4. Nov 4, 2024Недавно мне предложили 10_000 RUB за то, чтобы я другому человеку на алгоритмической секци…
  5. Oct 21, 2024Помните я вам рассказывал, как рекрутер не успевала записывать мои ответы на технические в…
  6. Oct 18, 2024На моем YouTube недавно вышло 3 видео с разбором решения задач в Бигтехи (Яндекс, Т-Банк,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →