Середньо статистичному веб розробнику, щоб вам не казали, не потрібні доскональне знання алгоритмів. Так, навіть бекендерам. Час розпочинати холівар. Та пролється кров.
Раунд Перший.
Давайте запитаєм будьякого розробника: Коли останій час він/вона використовували щось складніше за вбудовані в ту чи іншу мову програмування алгоритми? - Відповідь буде проста - майже ніколи. Для більшості задач, з якою ми зустрічаємось кожного разу, є багато вбудованих функцій, багато написаних бібліотек, котрі економлять час, а значить економлять і грощі витрачені на нас - розробників. Бо реалізувати це самим нам займе час: написання, дебагінг, тестінг і ще довгий час виловлювання помилок, які прогавили.
Так інколи треба побудувати шось складніше за те шо я описую, але все це можна нагуглить в два кроки, сподіваюсь вас ще не забанили. Тай ChatGBT може вам допомогти в цій задачі.
Раунд Другий.
Де ми переважно зустрічаємось з алгоритмами? Так це вводить в жах усіх джунів (початківців) і іноді мідлів (середнячків) та сеньорів (матьорих) - співбесіди. На мій погляд це робиться в деяких випадках: відсіяти людей та реально протестувати.
Почнемо з першого. Чього саме відсіяти? На мій субєктивний погляд - знання алгоритмів не додає плюсів на співбесіді. Знати алгоритми та правильно використовувати - різні речі. Складнощі в коді там де вони не потрібні плюсом не будуть, а зроблять з вашим кодом дуже складно підтримувану річ, яку скоріш за все перепишуть, коли буде час. Тобто ніколи. Так, це питання може показати обізнаність та глибину знань - не більше. А ось відсіяти на ньому просто, бо багато хто з нас забуває чи не приділяє час цій темі. Відверто кажучи, багато стартапів чи проектів не так і складні, як здаються навіть розробникам.
В дєяких випадках, коли ви реально ідете на співбесіду до компанії, що має проекти чи спеціалізується на проектах з високим навантаженням питання аулгоримів - гостре. І розуміння чим і як відрізняється О(n) та О(log n) - має значення. Продовжувати це розписувати не маю бажання.
Раунд третій - останій.
Я маю намір підняти тему, сказати те, що початківцям, багатьом мідлам не потрібні алгоритми так, як розписано в книжках. Краще приділяти увагу технологіям, контрі знаходяться у вас в руках. Я не хочу давати читачу виправдання за те шо у вільний час ви не вчитесь. Ми ніколи не знаємо який стартап стане єдинорогом та замість 2-3 користувачів на ньому будуть сидіти мільйони. А скільки стартапів вбив поганий код навіть уявити складно.
Я сподіваюсь що у вас зявиться жага відповісти на питання: Чи потрібні вам алгоритми? - з правильно ракурсу.