Bandicoot
@Bandicoot
Вась-программист

В каких задачах по веб-разработке вам требовались знания алгоритмов?

Как ни пытался вникнуть в суть алгоритмов из книг Кормена, Вирта и др. авторов, так ничего и не получилось. Максимум могу понять суть рекурсии и типы сортировок. Видимо, не стать мне профессиональным программистом) Но веб-разработкой могу заниматься вполне сносно - по моим прикидкам, 90% задач мне вполне посильны. С шаблонами проектирования особых проблем нет - могу понять и воспроизвести.

Соответственно, вопрос - в каких задачах по веб-деву вам требовалось знание алгоритмов из вышеупомянутых книг? Спрашиваю, что бы не соваться туда куда не надо)
  • Вопрос задан
  • 3696 просмотров
Решения вопроса 2
laska
@laska
PHP/JS разработчик
Разумеется обычно никто их не пишет (есть готовые протестированные библиотеки), но знать что эти алгоритмы есть необходимо. И разобрать их тоже необходимо.

Проведу очень отделенную аналогию. Вы обычный охранник, и ваш коллега Вася тоже охранник. Вы делаете одно и тоже, стоите и наблюдаете. Но зарплата у Васи больше. Почему такая несправедливость? Ведь вы делаете все одинаково. Но в свободное от работы время Вася ходит в спортзал и в тир. И в случае ЧП Вася будет более подготовлен. За это его и ценят.

Ну так вот, "покачка тела" ни у кого не вызывает сомнений. Её легко формализировать, пощупать. Но "прокачка мозга" точно так же существует. И тщательный разбор книг условного Вирта даст вам именно это. И хоть вы не сможете увидеть увеличившийся вес на штанге, следующую книгу вы поймете быстрее.
Ответ написан
Комментировать
Знание алгоритмов требуется в первую очередь в бек-энд разработке. При этом писать новый алгоритм придётся не то что бы часто. Довольно часто приходится просто делать выбор, например какую структуру данных использовать.

Если вам нужен конкретный пример. давайте возмём для примера сайт тостер. На сайте тостер зарегистрировано больше 25 тысяч пользователей, задано почти 100 тысяч вопросов, по 300 разным тегам. У каждого пользователя есть свой список тегов на которые он подписан. Предлагаю реализовать алгоритм генерирующий для пользователя страничку n в его ленте. (То есть выбирающий вопросы на которые пользователь подписан, с n * 20 по n * 20 + 20) Для этого соответственно определить как и с помощью каких структур данных будет хранится список вопросов.

Вот тут как раз широкий простор для применения алгоритмов из вышеупомянутых книг.ь
Единственное что, я пока что мало встречал людей действительно выучивших алгоритмы по вышеупомянутым книгам. Большинство всё же учится у преподавателей, а книги используют как вспомагательный материал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@mamkaololosha
Алгоритмы из этих книг это как шаблоны проектирования из GOF. Советы бест-практиса по решению общих задач. На деле же вам придется придумывать "свои" алгоритмы под конкретную задачу.
В фриланс-вебе и в обычном пхп-магазинном вебе вооообще никак. Вы это сами уже написали.
На хабре была статья по собеседование в Twitter и задачку про водопады или здания, что-то такое. Та задача называется что-то вроде "Задача разгрузки коммуникационных каналов". И является сферической задачей в вакууме, которыми занимаются вовсяких яндексах, фейсбуках, амазонах и прочее. Её решения нету в книгах. Она решается тупа мат-аппаратом вашего мозга и бреинштормом. Когда у вас 100500кк посетителей в день и простой в 2-3 часа наносит убытки в миллионы долларов.
Ответ написан
@nikelsj
Даже если не возникает задач связанных напрямую с алгоритмами, подобного рода знания необходимы для понимания каким образом функционируют встроенные в язык средства + программист должен решать любые возникающие задачи, в этом и заключается такое понятие как профессионализм. Например вам нужно будет написать элементарную рекомендательную систему либо не классическую сортировку каких либо сложных объектов... (как частные примеры)
Ответ написан
Комментировать
@Eddy_Em
Во всех. От веб-морды для работы с накопленными метеорологическими данными до 3D-интерфейса на webGLU.
Даже если веб-морда элементарная, серверная часть отнюдь не такая! Скажем, простая "панелька" для управления парой ШД занимает несколько строк кода html и жабоскрипта, а на сервере это с полторы тысячи сишных строк!
Ответ написан
@Evsign
Попробуйте написать что-нибудь без использования библиотек и встроенных языковых функций, т.е. только синтаксическими средствами языка. Думаю придётся много чего подсмотреть в книгах упомянутых авторов)
Ответ написан
Комментировать
DoctorX
@DoctorX
Веб разработчик
Напрямую использовать (писать) не приходилось.
А вот понимание алгоритмов в работе помогает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы