Автор Тема: Задачка для собеседования  (Прочитано 26515 раз)

trurl

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: Задачка для собеседования
« Ответ #60 : Ноябрь 12, 2012, 01:12:26 pm »
function PrintDiff(a,b)
  local i, j = 1, 1
  while b[j] ~= 0  do
    if b[j] == a[i] then i = i+1 else print(b[j]) end
    j = j+1
  end
end
;)

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Задачка для собеседования
« Ответ #61 : Ноябрь 12, 2012, 03:23:59 pm »
Тут уже нет ничего нового.

Интересно было бы увидеть формулировку инварианта цикла.
У меня она есть, но я ей не вполне доволен. Может кто-нибудь предложит поинтереснее.
Паролить свою уж не буду  :)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Задачка для собеседования
« Ответ #62 : Ноябрь 12, 2012, 03:51:15 pm »
Да, trurl, ваш вариант пожалуй самый красивый  :)

DIzer

  • Гость
Re: Задачка для собеседования
« Ответ #63 : Ноябрь 12, 2012, 03:56:14 pm »
Да, trurl, ваш вариант пожалуй самый красивый  :)
ilovb - а вы уверены, что за 5 минут отведенных на эту  задачу на собеседовании - у вас будет время "красоваться"....? вот я вы..лся потратив на решение "в лоб" 1.5 минуты не стал его проверять - и результат на лицо...  :D

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Задачка для собеседования
« Ответ #64 : Ноябрь 12, 2012, 04:02:49 pm »
Ну если кандидат решит эту задачу также как trurl, то это уже о чем то говорит. :)

DIzer

  • Гость
Re: Задачка для собеседования
« Ответ #65 : Ноябрь 12, 2012, 04:04:02 pm »
Ну если кандидат решит эту задачу также как trurl, то это уже о чем то говорит.
если за 5 минут - то да... а если нет.. ?

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Задачка для собеседования
« Ответ #66 : Ноябрь 12, 2012, 04:13:19 pm »
5 минут на самом деле довольно экстремальные условия для собеседования. Опытные кодеры быстро пишут хороший код не потому что у них IQ=200, а потому что они пишут по памяти...

А на собеседовании имхо "хороший код" - это тараканы работодателя (ну или специфика работы)  ;)

trurl

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: Задачка для собеседования
« Ответ #67 : Ноябрь 12, 2012, 04:15:45 pm »
у вас будет время "красоваться"....?
Ну, "красоваться" здесь только
while b[j] ~= 0  doвместо первоначального "пятиминутного"
while a[i] ~= 0  and b[j] ~= 0  doИ я тоже не стал проверять. :)

 

DIzer

  • Гость
Re: Задачка для собеседования
« Ответ #68 : Ноябрь 12, 2012, 04:17:48 pm »
ну мы же обсуждали с Алексеем для чего и в каких случаях  на собеседованиях возможны такие задачи... с другой стороны... эту задачу подсунул Петр... я указал на то, что если речь идет о высокой квалификации то  поиск ее решения должен быть ограничена по времени.. вот где- то так...

DIzer

  • Гость
Re: Задачка для собеседования
« Ответ #69 : Ноябрь 12, 2012, 04:25:36 pm »
у вас будет время "красоваться"....?
Ну, "красоваться" здесь только
while b[j] ~= 0  doвместо первоначального "пятиминутного"
while a[i] ~= 0  and b[j] ~= 0  doИ я тоже не стал проверять. :)
да  ИМХО на практике при решении подобных задач в "экстремальных" условиях у вас ровно два подхода (если конечно такая задача не встречалась на практике)
1. Сводить решение к модификации "стандартных" задач
2. Найти его "в лоб" построив алгоритм исходя из понимания задачи.
Собственно  почему. я настаивал на ограничении времени на задачу - прикинул.. и оказалось, что построить решение "в лоб" можно за  несколько минут...

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Задачка для собеседования
« Ответ #70 : Ноябрь 12, 2012, 04:27:11 pm »
Для кодеров кстати, помимо умения решать задачи, очень важна обучаемость.
Существуют человеки которые кроме лаб в универе ничего в жизни не кодили. Но при этом отлично обучаются. Объяснил ему один раз и все. Чувак инфу воспринял, задал пару вопросов, и пошел кодить. А есть такие, ну прям вундеркинды... и на js они покодить успели и на php, и с sql дело имели и в cpp чегой то ковырялись... Но на деле пишут страшный говнокод и переучить их невозможно.

ps Я бы даже обучаемость на первое место поставил :D

DIzer

  • Гость
Re: Задачка для собеседования
« Ответ #71 : Ноябрь 12, 2012, 04:30:51 pm »
Для кодеров кстати, помимо умения решать задачи, очень важна обучаемость.
Существуют человеки которые кроме лаб в универе ничего в жизни не кодили. Но при этом отлично обучаются. Объяснил ему один раз и все. Чувак инфу воспринял, задал пару вопросов, и пошел кодить. А есть такие, ну прям вундеркинды... и на js они покодить успели и на php, и с sql дело имели и в cpp чегой то ковырялись... Но на деле пишут страшный говнокод и переучить их невозможно.
да и таких больше из университетов (меньше из спец. тех. вузов) - особенности обучения... НО данную способность подобными задачами не проверишь - более того, в целом я  уверен, что подобные задачи гораздо лучше должны идти у представителей тех. вузов и специализированных колледжей..

DIzer

  • Гость
Re: Задачка для собеседования
« Ответ #72 : Ноябрь 12, 2012, 05:19:41 pm »
ps Я бы даже обучаемость на первое место поставил :D
зависит от задач.. есть куча высокооплачиваемых задач , где профессиональный кодер (владеющий ЯП, стандартными либами и шаблонами проектирования) порвет "обучаемого" хмыря как "тузик грелку"...

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: Задачка для собеседования
« Ответ #73 : Ноябрь 12, 2012, 07:58:04 pm »
Интересно было бы увидеть формулировку инварианта цикла.
Вот моё. Все общие области слева пропущены и все добавленные области слева обработаны (распечатаны).

"Области слева" = области слева от курсора.

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Задачка для собеседования
« Ответ #74 : Ноябрь 13, 2012, 12:25:21 am »
Совпадает с моим.