Есть такая штука - числа Фибоначчи, это последовательность чисел в которой каждое следующее число является суммой двух предыдущих. Например 1, 1, 2, 3, 5, 8, 13. Когда-то давно, кто-то решил, что написать программку считающую эту последовательность признак неебательских скилов. С тех пор каждый мудак на собеседовании просит написать генератор чисел Фибоначчи. IRL, если на собеседовании тебя это просят написать (есть ещё несколько слишком типовых вопросов) - лучше 10ть раз подумать, стоит ли работать с идиотами.
На собеседовании есть ряд простых типовых вопросов, которые направлены на то, чтобы понять адекватность кандидата и его умение написать алгоритм решения элементарной задачи. Такие вопросы лично я использую для скрининга по Скайпу. Чтобы понять, есть ли смысл тратить время компании и время кандидата на очное собеседование. Минут 30 решений таких задачек позволяют по верхам понять уровень кандидата.
Задачки вроде отсортировать в массиве только четные/нечетные числа, реализовать RLE или найти максимальную длину единиц в массиве из нулей и единиц, помогают очень быстро понять, может ли человек вообще писать код. На таких элементарных вопросах сыпятся множество людей. Поэтому и задают такие банальные вопросы, чтобы отсеять совсем случайных людей. Если такой фильтр человек преодолел, то следует нормальное очное собеседование по существу.
Не страшно, если вы не придете. Страшно, если придет на очное собеседование десяток-другой кандидатов, которые не в силах даже написать такое элементарное задание. И они потеряют время, и компания потеряет время: все будут в проигрыше. Поэтому на очное собеседование зовутся минимально адекватные кандидаты, а дальше уже смотрим внимательно.
Ну и снобы, которые вертят носом, вместо того, чтобы в онлайн-редакторе набросать решение простейшей задачи, компании тоже не особо нужны. Обычно за пафосом «я не буду решать эти ваши задачки» кроется банальное «я не умею». =)
Просто я уже наобжигался на таких интервью (в качестве собеседующего). Принимать людей по таким критериям - это принимать на работу человека, который умеет проходить собеседования. Это ничего не расскажет о том, что он знает реально (именно знает, а не помнит со времён обучения), не покажет как он умеет применять свою базу, вообще не покажет его аналитические скилы. Поэтому, просто высылаем кандидату практическое задание на 2-3 фактических дня, но срок округляем до недели, потому что человек ищущий работу, может быть занят либо другими собеседованиями либо всё ещё работать. На каждое задание у нас есть своя версия реализации. Сроки не очень жёсткие, т.е. если он даст знать, что заболел/на работе аврал/котик чихает и т.д. мы не зверствуем. На синьёра вообще, взависимости от его ситуации можем дать задачу с предварительным исследованием, которою ВОЗМОЖНО даже оплатим номинально. Ты не представляешь сколько народу отсеивается. Да, вариант не быстрый, но ни одного из набранных таким способом ещё не уволили и ни разу не пожалели, что выбрали именно их.
Несколько простых задач это не интервью даже, а первое знакомство в скайпе. Нужно быстро понять, может ли человек что-то делать или нет, сможет ли он пройти очное интервью или нет. Если потенциально сможет, то приглашаем на очную встречу. Это не выявление знаний, а просто проверка минимальной адекватности.
Очно уже разговариваем более обстоятельно именно по той специфике, по которой и нужно будет работать. На очном интервью я, можно сказать, экзамен по математике устраиваю, но тут специфика просто. И да, есть еще и алгоритмическая часть интервью. Нам нужно понимать, есть ли помимо опыта у человека еще и база по CS и математике. А если опыта нет (у стажера, например), то кроме базы и проверить-то нечего. Нам база важна. Очень. Компания занимается R&D.
С тестовым заданием сложность в том, что его кому-то нужно проверять. А если таких кандидатов много, то и отвлекаться на проверку тоже нужно много. Поэтому проще скрининг + интервью.
Тоже вариант. Но у нас обычный софт-аутсорсинг, как правило, задачи типовые. Не особо весело, но и не напряжно.
Абсолютно согласен с тем, что такие вопросы только показывают сколько подобных собеседований прошел соискатель за эту итерацию поиска работы.
Но тестовое задание на три дня это как-то прям совсем жестоко: если я ищу работу, то у меня точно будут офферы и собеседования без тестов, а вот времени будет маловато и тратить выходные на них прям вот совсем не захочется
Так говорю же всё округлено до недель. Да и ситуации у людей бывают разные, кто-то срочно ищет работу, кто-то подыскивает.
Так даже такой уебан, как я, даже не умея кодить в принципе (я даже школьный курс Паскаля забыл), способен за несколько минут написать её, правда, синтаксиса нихуя не помню и у всех, кто умеет кодить, пойдёт кровь из глаз.
VAR
A, b, c, d, x : extended ;
A:=1
B:=0
Read(d)
for x:=1 to d do begin
C:=A+b;
WriteLn(C);
b:=A
A:=C
end;
усложним задачу :)
в две стороны усложним. Первая:
Вы стоите на n-ой ступеньке лестницы. Можете каждым шагом спускаться либо на одну, либо на две ступеньки вниз. Сколько есть способов спуститься?
Вторая:
вас попросили найти n-ое число Фибоначчи, где n - порядка триллиона. Или квинтильона. Проходить весь квинтильон в массиве слишком долго, задача должна решаться за доли секунды, а не за недели.
С лестницей в душе не ебу, если честно, в два часа ночи неохота решение придумывать.
Var c: real
C:=1*(1.614чтотамдальше^n)
Writeln(c);
C:=1*(1.614чтотамдальше^n)
не сработает. Точности у риэла не хватит. Но идея правильная, надо свести к возведению в степень.
С лестницей
Там всё крайне просто, если подумать, что задачу дали в контексте Фибоначчи. Число способов сойти с n-ой ступеньки = числу способов с n-1-ой плюс числу способов с n-2-ой.
F_n = F_{n-1} + F_{n-2}, причём F_1 = 1, F_2 = 2. Осталось условно объявить F_0 = 1 - и мы имеем всё те же числа Фибоначчи.
Я настолько хуево умею в программирование, что даже в «hello world» умудрюсь повесить систему и переполнить все стеки.
Лига фрилансеров
1.9K постов16.9K подписчиков
Правила сообщества
Не забывайте поддерживать авторов плюсами!
Нельзя:
- Добавлять нетематические посты, последнее решение за модератором
- Рекламировать какую-либо продукцию в виде постов
Можно:
- Делится любыми интересными историями, связанными с фрилансом :)