![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Друзья, мне нужен профессиональный совет.
Мы на прошлой неделе интервьюировали одного парня - мы ищем людей на контракт. Он очень хорошо отвечал, интересно рассказывал, подробно объяснял задачи, которые делал. У нас всеx осталось впечатление, что он толковый и с хорошим опытом работы. Пример на LINQ разобрал легко. Прекрасно отвечал про WPF, WCF. Я была среди спрашивающих последней, и мы все, я в том числе, были уверены, что это будет формальность - я должна была поспрашивать по основам объектного программирования и по C#. И вдруг - бэмс! - парень не смог мне ответить почти ни на один вопрос. Я резко снизила планку, но лучше не стало. Он не смог написать констрактор для наслeдуемого класса ( у класса-parent констрактор с параметрами), не знал что такое делегат, сказал что класс может имплементировать только один интерфейс, не знал как передаются параметры в функцию и не смог написать вызов функции, так чтобы входной параметер внутри измениля. Он функцию Swap не смог написать. Я, по-моему, растерялась больше чем он. Мы его отправили и задумались. Парень явно очень толковый, интервью длилось долго. Обычно мы долго не спрашиваем, но он очень хорошо отвечал, чем провоцировал новые вопросы по теме. Я бы списала его непониманий на мой акцент, но со мной сидели ребята, которые со мной работают, китаец и индус, они сказали что все прекрасно понимали и говорила я нормально. Возможно он просто устал, нервничал, и это было что-то вроде нервного срыва. Потому что не знать той фигни, которую я спрашивала - невозможно. Он this и base перепутал.
Мы решили позвать его второй раз - очень он нам понравился. Сегодня я его интервьюирую. Что бы поспрашивать. Может пример дать какой-нибудь. Если он какие-то определения не знает - бог с ними, я их сама не знаю. Но надо, чтобы он код мог писать. Любые советы приветсвуются. Среда - C#, .NET
UPD: Не взяли мы чувака. Это была не паника у него, он действительно ничего не знает. Т.е. что-то где-то, но очень плохенько. Осталась загадка - а как такие люди работают? Чувствую себя динозавром, который знает как написать сортировку, умеет переворачивать линк-лист, и знает что такое статическая переменная. Это уже четвертый чувак на интервью который не умеет программировать. Предыдущие не знали вообще ничего, этот кое-что по верхам нахватался.
UPD: Не взяли мы чувака. Это была не паника у него, он действительно ничего не знает. Т.е. что-то где-то, но очень плохенько. Осталась загадка - а как такие люди работают? Чувствую себя динозавром, который знает как написать сортировку, умеет переворачивать линк-лист, и знает что такое статическая переменная. Это уже четвертый чувак на интервью который не умеет программировать. Предыдущие не знали вообще ничего, этот кое-что по верхам нахватался.
no subject
Date: 2014-07-08 01:44 pm (UTC)no subject
Date: 2014-07-08 01:47 pm (UTC)no subject
Date: 2014-07-08 02:31 pm (UTC)no subject
Date: 2014-07-08 02:36 pm (UTC)no subject
Date: 2014-07-08 03:03 pm (UTC)no subject
Date: 2014-07-08 03:07 pm (UTC)no subject
Date: 2014-07-08 03:17 pm (UTC)Понимаешь, эта задача легкая, но показывает знание языка. Ибо чтобы ее решить надо воспользоваться только одной функцией, а не огород городить. Но это надо знать.
no subject
Date: 2014-07-08 03:36 pm (UTC)Почему он на вопросы-то не ответил? И хочется взять - толковый и приятный. И нарваться очень не хочется - разгребай потом за ним. Они мне оставили принимать решение, потому что он не ответил именно на мои вопросы. Вот я теперь и маюсь.
no subject
Date: 2014-07-08 03:43 pm (UTC)1. Write a program that prints the numbers from 1 to 100.
But for multiples of 3 print “Fizz” instead of the number and for the multiples of 5 print “Buzz”.
For numbers which are multiples of both 3 and 5 print “FizzBuzz”.
2. Write a function that checks if a given string is a palindrome. For example: "abcba" -> True, "abab" -> False, "aa" -> True, "a" -> True.
3. Write a function that takes a string and returns an unsigned integer represented by this string (in binary). For example, "1111" -> 15, "10101" -> 21, "1017" -> error (not binary). Bonus points for handling overflow. Extra bonus points for signed integers.
4. Write a program that takes an integer N and prints the Nth Fibonacci number (1, 1, 2, 3, 5, 8, 13, 21, 34, 55...).
no subject
Date: 2014-07-08 03:51 pm (UTC)Мне бы что-нибудь более практичное, из реальной жизни.
no subject
Date: 2014-07-08 03:52 pm (UTC)no subject
Date: 2014-07-08 03:53 pm (UTC)no subject
Date: 2014-07-08 04:03 pm (UTC)no subject
Date: 2014-07-08 04:39 pm (UTC)no subject
Date: 2014-07-08 04:42 pm (UTC)Я очень давно не опускалась до уровня программирования, но управляю большими проектами внедрения софта. Некоторые вещи которые Вы описываете, даже я помню из института...
no subject
Date: 2014-07-08 04:50 pm (UTC)Я не могу поверить, что можно уметь программировать и такую фигню забыть. А в стрессе мозги отключаются, бывает. Не у меня, у меня мозги устойчивые, поэтому мне оценить сложно.
no subject
Date: 2014-07-08 04:59 pm (UTC)no subject
Date: 2014-07-08 05:32 pm (UTC)no subject
Date: 2014-07-08 05:35 pm (UTC)#3 - можно не двоичные числа, а десятичные. Обнуляем буфер, идём от начала строки к концу и каждую цифру прибавляем к буферу, предварительно умножив буфер на 10. Следим за переполнением.
#4 - Фибоначчи легко объяснить любому: F(1) = 1, F(2) = 1, F(N) = F(N - 1) + F(N - 2). Прямо из этого определения вытекает простейший рекурсивный алгоритм. Продвинутые разворачивают рекурсию в цикл, используя три переменные.
Не буду спорить, практического смысла в таких задачах ноль, но с другой стороны, его мало и в переизобретении пузырьковой сортировки (которая, между прочим, сама по себе не так уж и очевидна).
no subject
Date: 2014-07-08 05:55 pm (UTC)no subject
Date: 2014-07-08 06:03 pm (UTC)no subject
Date: 2014-07-08 06:59 pm (UTC)no subject
Date: 2014-07-10 03:06 pm (UTC)это стресс.
no subject
Date: 2014-07-10 03:50 pm (UTC)no subject
Date: 2014-07-10 09:33 pm (UTC)