Задача на собеседовании - обращение списка.
От: Паблик Морозов  
Дата: 24.02.12 09:48
Оценка: +2 -5 :))) :)
Почему 9 из 10 соискателей не могут её решить? Причём у людей минимум от 3-х лет опыта разработки, позиционируют они себя, как сеньёр-девелоперы, ЗП вроде конкурентноспособная (немного выше, если отсортировать вакансии с HH по зарплате и пропустить жöлтенькие).

Может быть я что-то не понимаю в этой жизни? Не могли бы более опытные товарищи поделиться опытом и ответить на следующие вопросы:
1. Если человек не в состоянии обратить список, способен ли он вообще написать что-нибудь разумное или сразу нафиг?
2. Если сраз нафиг, то как грамотно построить интервью, чтобы дать эту задачу в самом начале, не слишком сильно человека шокировав, и распрощаться втечение пяти минут, не слишком обидев?

З.Ы. На прошлой работе HR заставляла соискателей решать задачи про переливание воды, цветные шары и гномов в кепках. По-моему очень хорошая практика была, полные идиоты сразу отсеивались, сейчас контора гораздо более бюрократичная, тонко настроить фильтры HR-ов гораздо сложнее, приходится фильтровать самому.

11.10.12 12:38: Перенесено из 'О работе'
Re: Задача на собеседовании - обращение списка.
От: Sni4ok  
Дата: 24.02.12 09:52
Оценка: +6 -1 :)
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Почему 9 из 10 соискателей не могут её решить?


потому-что большинство людей- идиоты

ПМ>1. Если человек не в состоянии обратить список, способен ли он вообще написать что-нибудь разумное или сразу нафиг?


конечно сразу нафиг
Re: Задача на собеседовании - обращение списка.
От: hrensgory Россия  
Дата: 24.02.12 10:01
Оценка:
On 24.02.2012 13:48, Паблик Морозов wrote:

> Почему 9 из 10 соискателей не могут её решить? Причём у людей минимум от

> 3-х лет опыта разработки, позиционируют они себя, как сеньёр-девелоперы,
> ЗП вроде конкурентноспособная (немного выше, если отсортировать вакансии
> с HH по зарплате и пропустить жöлтенькие).

А как выглядит "правильное решение" этой задачи?

Часто про неё слышу, но то ли это задача с каким-то подвохом и я не
понимаю что действительно требуется (сам я по образованию не
программист, что такое "машина тьюринга" или там "конечный автомат" не
знаю — то есть когда-то для интереса читал, но давно и успешно забыл) то
ли действительно происходит что-то странное то ли одно из двух.

Раньше ещё была задача с "переворотом строки" — это случайно не про то
же самое?

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re: Задача на собеседовании - обращение списка.
От: Vzhyk  
Дата: 24.02.12 10:03
Оценка: +1 -3 :))
24.02.2012 12:48, Паблик Морозов пишет:
>
> Почему 9 из 10 соискателей не могут её решить?
Сколько платишь за решение этой задачи?

А за бесплатно, сам свое время гробь.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Задача на собеседовании - обращение списка.
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 24.02.12 10:03
Оценка: :)))
Здравствуйте, hrensgory, Вы писали:

H>On 24.02.2012 13:48, Паблик Морозов wrote:


>> Почему 9 из 10 соискателей не могут её решить? Причём у людей минимум от

>> 3-х лет опыта разработки, позиционируют они себя, как сеньёр-девелоперы,
>> ЗП вроде конкурентноспособная (немного выше, если отсортировать вакансии
>> с HH по зарплате и пропустить жöлтенькие).

H>А как выглядит "правильное решение" этой задачи?


H>Часто про неё слышу, но то ли это задача с каким-то подвохом и я не

H>понимаю что действительно требуется (сам я по образованию не
H>программист, что такое "машина тьюринга" или там "конечный автомат" не
H>знаю — то есть когда-то для интереса читал, но давно и успешно забыл) то
H>ли действительно происходит что-то странное то ли одно из двух.

H>Раньше ещё была задача с "переворотом строки" — это случайно не про то

H>же самое?
Я так понимаю это базовый принцип построения алгоритмов используя рекурсию.
Sic luceat lux!
Re: Задача на собеседовании - обращение списка.
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.02.12 10:06
Оценка: 3 (3) +21 -9
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Почему 9 из 10 соискателей не могут её решить? Причём у людей минимум от 3-х лет опыта разработки, позиционируют они себя, как сеньёр-девелоперы, ЗП вроде конкурентноспособная (немного выше, если отсортировать вакансии с HH по зарплате и пропустить жöлтенькие).


Потому что это задача не практическая, как и программирование сортировки. Все уже давно в либах есть и на практике никогда (в смысле вообще никогда) не приходится её писать.
А если человек не делает что-то постоянно, то просто теряется навык.

Собеседование при этом — стрессовая ситуация и далеко не каждый сможет вспомнить как такое делать.

ПМ>Может быть я что-то не понимаю в этой жизни? Не могли бы более опытные товарищи поделиться опытом и ответить на следующие вопросы:

ПМ>1. Если человек не в состоянии обратить список, способен ли он вообще написать что-нибудь разумное или сразу нафиг?
ПМ>2. Если сраз нафиг, то как грамотно построить интервью, чтобы дать эту задачу в самом начале, не слишком сильно человека шокировав, и распрощаться втечение пяти минут, не слишком обидев?
Бред. Отсеивать человека по одной задаче — крайне неудачная идея, как и спрашивать про крышки люков, гору фудзи или количество шариков в автобусе.

На собеседовании в первую очередь надо проверить что человек справится с той работой, которой его нагрузят. Для этого можно предложить ему задачу и пусть расскажет ход решения. Или напрмиер тестовое задание (небольшое) заранее дать.

А вот потом уже спрашивать про такую хрень чтобы проверить фундаментальные знания и соображалку.

ПМ>З.Ы. На прошлой работе HR заставляла соискателей решать задачи про переливание воды, цветные шары и гномов в кепках. По-моему очень хорошая практика была, полные идиоты сразу отсеивались, сейчас контора гораздо более бюрократичная, тонко настроить фильтры HR-ов гораздо сложнее, приходится фильтровать самому.

Такие бредовые задачи пропускают профессиональных ходоков по собеседованиям и отсеивают профессионалов, которые не знают решения.

Ты подумай какой процент этих задач на собеседованиях решается соображалкой, а какой — предварительным гуглением?
Re: Задача на собеседовании - обращение списка.
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.02.12 10:07
Оценка: 1 (1) +3
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Может быть я что-то не понимаю в этой жизни? Не могли бы более опытные товарищи поделиться опытом и ответить на следующие вопросы:


Кого ищите то? Те же плюсисты, обычно, решают в лет. У разработчиков более высокоуровневых языков часто вызывает проблемы, сам не знаю почему.

ПМ>1. Если человек не в состоянии обратить список, способен ли он вообще написать что-нибудь разумное или сразу нафиг?


Сразу нафиг.

ПМ>2. Если сраз нафиг, то как грамотно построить интервью, чтобы дать эту задачу в самом начале, не слишком сильно человека шокировав, и распрощаться втечение пяти минут, не слишком обидев?


Давай в самом начале.
Re[3]: Задача на собеседовании - обращение списка.
От: Lloyd Россия  
Дата: 24.02.12 10:11
Оценка: 1 (1) +3 -1
Здравствуйте, Kernan, Вы писали:

H>>Раньше ещё была задача с "переворотом строки" — это случайно не про то

H>>же самое?
K>Я так понимаю это базовый принцип построения алгоритмов используя рекурсию.

Какая рекурсия?! Тупо цикл от начала до середины с перествалением i-того от начала элемента с i-м с конца.
Re[2]: Задача на собеседовании - обращение списка.
От: Паблик Морозов  
Дата: 24.02.12 10:15
Оценка:
Здравствуйте, Sni4ok, Вы писали:

S>конечно сразу нафиг


Но как-то они же работали на предыдущих работах несколько лет? Или от того новую работу и ищут, что так набыдлокодили, что теперь легче работу сменить, чем разбираться?
Re[3]: Задача на собеседовании - обращение списка.
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.02.12 10:16
Оценка: +1 -1 :)
Здравствуйте, Kernan, Вы писали:

K>Я так понимаю это базовый принцип построения алгоритмов используя рекурсию.


Не совсем.

Конечно наивная реализация — рекурсивна, но при некоторых ухищрениях рекурсия оказывается хвостовой и её можно переписать в цикл, получи Θ(1) по памяти и Θ(n) по времени.

Я вот сходу не напишу вариант с циклом, а из рекурсии выведу. Но на собеседовании и без компа — вряд ли, стрессовая ситуация, ограничено время и вообще на собеседовании впадлу таким заниматься.
Re[4]: Задача на собеседовании - обращение списка.
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.02.12 10:18
Оценка: :)
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Kernan, Вы писали:


H>>>Раньше ещё была задача с "переворотом строки" — это случайно не про то

H>>>же самое?
K>>Я так понимаю это базовый принцип построения алгоритмов используя рекурсию.

L>Какая рекурсия?! Тупо цикл от начала до середины с перествалением i-того от начала элемента с i-м с конца.


А в java\c#?

Это задача дается для проверки понимания как алгоритмы отображаются на конкретные особенности системы типов и рантайма.
Re[4]: Задача на собеседовании - обращение списка.
От: hrensgory Россия  
Дата: 24.02.12 10:19
Оценка: +1
On 24.02.2012 14:11, Lloyd wrote:

> H>>Раньше ещё была задача с "переворотом строки" — это случайно не про то

> H>>же самое?
> K>Я так понимаю это базовый принцип построения алгоритмов используя
> рекурсию.
>
> Какая рекурсия?! Тупо цикл от начала до середины с перествалением i-того
> от начала элемента с i-м с конца.

Ну вот я тоже так думаю, что никакая рекурсия тут не нужна и задача
очень простая. Но не может быть чтобы 9 из 10 на этом отваливалось,
наверное что-то всё-таки ещё требуется.

Потому и хочется узнать у ТС в чём подвох.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Задача на собеседовании - обращение списка.
От: Паблик Морозов  
Дата: 24.02.12 10:21
Оценка:
Здравствуйте, hrensgory, Вы писали:

H>А как выглядит "правильное решение" этой задачи?


Да никакого подвоха. Просто дан односвязный или двусвязный список, и надо его обратить (развернуть указатели на элементы), или как-нибудь поменять элементы местами (я обычно делаю небольшие вариации, чтобы не заучивали). Алгоритм — цикл на 4-5 строчек. Никаких специальных знаний не требуется. Можно и с рекурсией написать, если человеку так удобнее, но за этим последуют дополнительные вопросы. Переворот строки — из той же серии, просто я её уже не дают, поскольку уже не все помнять, что такое null-terminated строки и как писать на Си, а на джаве или сишарпе её писать не интересно.
Re[2]: Задача на собеседовании - обращение списка.
От: Паблик Морозов  
Дата: 24.02.12 10:23
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Сколько платишь за решение этой задачи?


>немного выше, если отсортировать вакансии с HH по зарплате и пропустить жöлтенькие


Но это в месяц.
Re: Задача на собеседовании - обращение списка.
От: neFormal Россия  
Дата: 24.02.12 10:24
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Почему 9 из 10 соискателей не могут её решить? Причём у людей минимум от 3-х лет опыта разработки, позиционируют они себя, как сеньёр-девелоперы, ЗП вроде конкурентноспособная (немного выше, если отсортировать вакансии с HH по зарплате и пропустить жöлтенькие).

ПМ>Может быть я что-то не понимаю в этой жизни?

всё правильно понимаешь.. задача не настолько сложная, чтобы её вообще нельзя было решить за короткое время..

ПМ>1. Если человек не в состоянии обратить список, способен ли он вообще написать что-нибудь разумное или сразу нафиг?


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

ПМ>2. Если сраз нафиг, то как грамотно построить интервью, чтобы дать эту задачу в самом начале, не слишком сильно человека шокировав, и распрощаться втечение пяти минут, не слишком обидев?


спросить о последней работе, дать задачу, если решил, то спрашивать остальное
...coding for chaos...
Re[5]: Задача на собеседовании - обращение списка.
От: Lloyd Россия  
Дата: 24.02.12 10:24
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

L>>Какая рекурсия?! Тупо цикл от начала до середины с перествалением i-того от начала элемента с i-м с конца.


G>А в java\c#?


Ровно так же.

G>Это задача дается для проверки понимания как алгоритмы отображаются на конкретные особенности системы типов и рантайма.


Чего?
Re[6]: Задача на собеседовании - обращение списка.
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.02.12 10:29
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, gandjustas, Вы писали:


L>>>Какая рекурсия?! Тупо цикл от начала до середины с перествалением i-того от начала элемента с i-м с конца.

G>>А в java\c#?
L>Ровно так же.


G>>Это задача дается для проверки понимания как алгоритмы отображаются на конкретные особенности системы типов и рантайма.

L>Чего?

Ну напиши работающий код, который string в C# разворачивает.
Re[5]: Задача на собеседовании - обращение списка.
От: Lloyd Россия  
Дата: 24.02.12 10:30
Оценка:
Здравствуйте, hrensgory, Вы писали:

H>Ну вот я тоже так думаю, что никакая рекурсия тут не нужна и задача

H>очень простая. Но не может быть чтобы 9 из 10 на этом отваливалось,
H>наверное что-то всё-таки ещё требуется.

H>Потому и хочется узнать у ТС в чём подвох.


Меня однажды спросили про то, как интеграл численно считается. Выяснилось, что процентов 80 соискателей не в состоянии ответить на вопрос из школьной программы.
Re: Задача на собеседовании - обращение списка.
От: solid_snake  
Дата: 24.02.12 10:34
Оценка: +3 :))) :)
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Почему 9 из 10 соискателей не могут её решить? Причём у людей минимум от 3-х лет опыта разработки, позиционируют они себя, как сеньёр-девелоперы, ЗП вроде конкурентноспособная (немного выше, если отсортировать вакансии с HH по зарплате и пропустить жöлтенькие).


ПМ>Может быть я что-то не понимаю в этой жизни? Не могли бы более опытные товарищи поделиться опытом и ответить на следующие вопросы:

ПМ>1. Если человек не в состоянии обратить список, способен ли он вообще написать что-нибудь разумное или сразу нафиг?
ПМ>2. Если сраз нафиг, то как грамотно построить интервью, чтобы дать эту задачу в самом начале, не слишком сильно человека шокировав, и распрощаться втечение пяти минут, не слишком обидев?

ПМ>З.Ы. На прошлой работе HR заставляла соискателей решать задачи про переливание воды, цветные шары и гномов в кепках. По-моему очень хорошая практика была, полные идиоты сразу отсеивались, сейчас контора гораздо более бюрократичная, тонко настроить фильтры HR-ов гораздо сложнее, приходится фильтровать самому.


Могу лишь сказать что я в студенчестве свои первые собеседования плохо помню, и выходил с них как громом поражённый, не мог решить 2+2, а дома конечно осеняло. Это может и мои тараканы, но вы всё таки программистов набираете а не спецназ.

ПМ>2. Если сраз нафиг, то как грамотно построить интервью, чтобы дать эту задачу в самом начале, не слишком сильно человека шокировав, и распрощаться втечение пяти минут, не слишком обидев?


5 минут это слишком долго, никто такого времени не стоит. Только заходит — воды в лицо плесните. Если продолжает разговор значит ваш человек, готов на многое ради работы, будет терпеть и потеть. На всё про всё 30 секунд. Вперёд!
Re[3]: Задача на собеседовании - обращение списка.
От: dilmah США  
Дата: 24.02.12 10:34
Оценка:
ПМ>Переворот строки — из той же серии, просто я её уже не дают, поскольку уже не все помнять, что такое null-terminated строки и как писать на Си

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

В случае со строкой мы имеем random-access линейную область памяти. В случае со списком никакого random-access нет.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.