Внимание!
воскресенье, 01 декабря 2019
URL
-
Поделиться
- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- LiveJournal
Комментарии
Вставить цитату
А что не используется - забывается. К тому же неправильно будет думать, что большинство разработчиков в принципе в хорошей алгоритмической форме.
А вот какие-нибудь базовые алгоритмы на графах DFS/BFS/алгоритм Дейкстры могут постоянно всплывать. Но может у меня искаженное восприятие, хз.
Однако более философский вопрос: может ли программист считаться готовым к решению рабочих задач, если он не может реализовать учебную задачу?
Смотря насколько учебная задача пересекается с его предметной областью. В случае алгоритма Хаффмана, если задачи не подразумевают активную работу со всевозможными алгоритмами сжатия и кодирования, то почему нет?
Если говорить же об общей алгоритмической подготовке, в предположении, что она нужна. Ну тут хз, субъективно кажется, что это не самая популярная тема, как уже сказал. Ну то есть условно можно сказать про алгоритм хаффмана "ну там что-то про кодирование эффективное, не помню, давно читал, никогда не нуждался" и получить в итоге оффер. То есть это не настолько базовая вещь, чтобы обязательно знать.
Ну и вообще обычно алгоритмические задачи на собеседованиях гораздо проще чем "стандартные алгоритмы".
Она может быть не нужна? У меня дезориентация возникает.
Ну и вообще обычно алгоритмические задачи на собеседованиях гораздо проще чем "стандартные алгоритмы".
Что такое "стандартные алгоритмы"?
Какие алгоритмы спрашивают на собеседовании, если не "стандартные"?
Мб у меня сложилось неправильное впечатление.
Алгоритмы, это что-то вроде законов термодинамики: не каждый физик будет ими пользоваться, но знание их обогащает интеллект любого.
Спросить на собеседовании сортировку близко по уровню к вопросу о законе Ома: основы основ, хоть расчеты давно делаются автоматически.
И если это примерно так, то мне (это не лично к Вам запрос, а просто рассуждения) было бы приятно знать, какие алгоритмы в действительности соответствуют закону Ома.
Мне постоянно кажется, что я не эффективно изучаю материал.
Она может быть не нужна? У меня дезориентация возникает.
Ну её могут хотеть, в частности потому что она положительно коррелирует с эффективностью программиста. Но для работы это достаточно часто не требуется, и целесообразнее на собеседовании проверить что-то более приземистое.
Ну просто потому что человек окажется что знает алгоритмы, любит решать задачки, а рабочие обязанности это не подразумевают. Не лучше ли взять того, кто просто хорошо знает фреймворк?
Что такое "стандартные алгоритмы"? Какие алгоритмы спрашивают на собеседовании, если не "стандартные"?
app.codility.com/public-link/DataFork-test/ ну вот пример теста от конкретной конторы. Похожее можно найти и на хакерранк (среди простых задач). Задачи вроде и на алгоритмическое мышление, но вроде и не совсем. И важно скорее не знать стандартные алгоритмы, а уметь эффективно пользоваться стандартными контейнерами.
"Стандартные алгоритмы", ну это вот всякие виды сортировок и поиска путей на графах. Которые собственно на википедии и в учебниках описаны.
Алгоритмы, это что-то вроде законов термодинамики: не каждый физик будет ими пользоваться, но знание их обогащает интеллект любого.
Не все разработчики имеют профильное образование. В этом и ключевое отличие
какие алгоритмы в действительности соответствуют закону Ома.
Соответствуют скорее структуры данных, надо примерно представлять как в используемом языке реализованы стандартные коллекции + знание вычислительный сложности стандартных операций над ними (обращение по индексу/проверка наличия, вставка в начало/середину/конец, удаление). При этом знать реализацию этих алгоритмов уже зачастую необязательно.
Ну и возможно то что выше упоминал - сортировки, бинарный поиск + DFS/BFS.
Но я не могу быть уверен, что у меня 100% адекватное представление о реальности. Ну по собеседованием тем не менее много ходил разным, поэтому не полный бред по крайней мере).