У нас на работе при найме есть тест на соображалку типа дано два массива символов и нужно найти все совпадения больше двух раз. Задание конечно же не это, но надеюсь смысл понятен. Главное тут понимать возможные проблемы производительности и уметь находить оптимальные решения.
На прошлой работе у меня в команде работал хороший программист и я решил его посоветовать. Он пришёл на тест, и как он мне сказал, решил его с помощью LINQ выражения.
Я то знаю, что он хороший программист, но не уверен, что LINQ - это правильное решение. Если бы я принимал тест, я бы заставил переделать все без использования LINQ.
Что ты думаешь по этому поводу? Правильно ли принимать решения задачи, если она решена с помощью LINQ? Может ли это показать профессионализм программиста?
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Молодец, я бы тоже попроще вариант сделал.
А разве Linq чем-то хуже в производительности, чем традиционный перебор элементов 2-х массивов?
Если цель в том чтобы определить умеет ли человек реализовать какой нибудь алгоритм сортировки или поиска то конечно стоит попросить переписать решение без использования Where или OrderBy.
Лучше уточнить, что желательно использовать. А то ведь это говорит о том, что он хорошо знает linq, что само по себе является плюсом для него.
Если человек видит возможные проблемы реализации и готов предложить альтернативные варианты, обходящие такие проблемы - пусть пишет на чем угодно
Хитрый код красноглазых бородачей, любителей чтива K&R, все равно необходимо изолировать и выпилить в отдельные сущности и библиотеки.
Ибо подобное спагетти == мина замедленного действия.
А сахар подобный Linq для того и создали, чтобы автоматизировать и структурировать работу со сложными структурами данных, с последующей не выносящей мозг поддержкой без костылей.
Если в задании не указано, что его нужно сделать в unsafe и через указатели, то какие вопросы могут быть по реализации.
И третье, если уж говорить о хайлоаде, то нет никакой гарантии в том, что красноглазый спагетти код из десяти вложенных массивов будет быстрее, чем код сгенерированый Linq после оптимизации.
* десяти вложенных циклов
Заговорили за массивы и сортировки чего то вспомнился вопрос - как часто Вам приходится использовать алгоритмы сортировки? Во время изучения программирования, наверно все, изучали несколько вариантов сортировок, но на практике как часто это используется?
Далеко не все алгоритмы приходится самому реализовывать, но даже если использовать готовый алгоритм - нужно знать, какой быстрее, какой использует больше или меньше памяти...
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.