Решение задачи на алгоритм с помощью LINQ


9 0

У нас на работе при найме есть тест на соображалку типа дано два массива символов и нужно найти все совпадения больше двух раз. Задание конечно же не это, но надеюсь смысл понятен. Главное тут понимать возможные проблемы производительности и уметь находить оптимальные решения. 

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

Я то знаю, что он хороший программист, но не уверен, что LINQ - это правильное решение. Если бы я принимал тест, я бы заставил переделать все без использования LINQ.

Что ты думаешь по этому поводу? Правильно ли принимать решения задачи, если она решена с помощью LINQ? Может ли это показать профессионализм программиста?


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Таблицешлеп

20 Августа 2016

Молодец, я бы тоже попроще вариант сделал.


Евгений

21 Августа 2016

А разве Linq чем-то хуже в производительности, чем традиционный перебор элементов 2-х массивов?


urumchic

21 Августа 2016

Если цель в том чтобы определить умеет ли человек реализовать какой нибудь алгоритм сортировки или поиска то конечно стоит попросить переписать решение без использования Where или OrderBy.


Евгений

21 Августа 2016

Лучше уточнить, что желательно использовать. А то ведь это говорит о том, что он хорошо знает linq, что само по себе является плюсом для него.


eqr

21 Августа 2016

Если человек видит возможные проблемы реализации и готов предложить альтернативные варианты, обходящие такие проблемы - пусть пишет на чем угодно


СкульРидер

23 Августа 2016

Хитрый код красноглазых бородачей, любителей чтива K&R, все равно необходимо изолировать и выпилить в отдельные сущности и библиотеки.

Ибо подобное спагетти == мина замедленного действия.

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

Если в задании не указано, что его нужно сделать в unsafe и через указатели, то какие вопросы могут быть по реализации.

И третье, если уж говорить о хайлоаде, то нет никакой гарантии в том, что красноглазый спагетти код из десяти вложенных массивов будет быстрее, чем код сгенерированый Linq после оптимизации.


Опечатка

23 Августа 2016

* десяти вложенных циклов


Владимир

02 Сентября 2016

Заговорили за массивы и сортировки чего то вспомнился вопрос - как часто Вам приходится использовать алгоритмы сортировки? Во время изучения программирования, наверно все, изучали несколько вариантов сортировок, но на практике как часто это используется?


Михаил Фленов

02 Сентября 2016

Далеко не все алгоритмы приходится самому реализовывать, но даже если использовать готовый алгоритм - нужно знать, какой быстрее, какой использует больше или меньше памяти...


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне