Google Recruiter

xtigr
Уже с Приветом
Posts: 617
Joined: 23 Sep 2005 06:56
Location: SFBA

Re: Google Recruiter

Post by xtigr »

Alexander Troyansky wrote:
xtigr wrote:ну и зачем требовать такую детализацию во время интервью? Мне лично достаточно, если кандидат напишет пару строк кода, чтоб был понятен алгоритм, и чтоб упомянул про все проверки, можно просто словами.
Что лично почерпнет интервьювер из такой детально решеной задачки кроме того что кандидат может написать атои?
ведь на все остальное времени не останется.
это была позиция тестера. Последнее интервью. Как-то получилось, что все собеседники уделяли минут 10-20 на общие вопросы: чего и как делал; почему Гугл... Остальное время на задачи всякие разные; по всей видимости, собеседующий хотел знать, как бы я работал в условиях недостатка данных/спецификаций типа "задавай вопросы". Простым упомянанием проверок я не отделался -- потребовалось кодирование на доске. Погорел классическим образом: упустил проверку граничных условий. Помню, что собеседователь очень распереживался.
В этом случае еще куда ни шло, т.е. все остальное проверено, теперь проверяется внимание к деталям.
Однако срезать на том что забыли проверять граничные условия как то черезчур. Этого как раз я и не понимаю и не принимаю. Особенно если человек с опытом ( не знаю как у вас).
Однако Гугл и МСФТ знамениты такими требованиями, так как считают что лучше срезать много хороших кандидатов чем взять одного плохого.
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

Post by АццкоМото »

Alexander Troyansky wrote:Так получается:
То, что я имел в виду:

Code: Select all

bool str2int(const char * str, int & res)
{
   int tmp;
   if (!str || !*str) return false;
   bool bNeg = *str == '-';

   if (bNeg) str++;

   res = -(*str++ - '0');
   if (res > 0 || res < -9) return false;

   for(;*str;str++) {
      char c = *str - '0';
      if (c >= 0 && c <= 9) {
		 if ((tmp = 10*res-c) > res) return false;
		 else  res = tmp;
      }
      else return false;
   }

   if (!bNeg)
      if (res==MIN_INT) return false;
	  else res = -res;

   return true;
}
тоже не ахти, но хотя бы проверок в цикле 2 вместо 6 (и 4х исполняемых при корректных данных)
Мат на форуме запрещен, блдж!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

АццкоМото wrote:
Alexander Troyansky wrote:Так получается:
То, что я имел в виду:

Code: Select all

bool str2int(const char * str, int & res)
{
   int tmp;
   if (!str || !*str) return false;
   bool bNeg = *str == '-';

   if (bNeg) str++;

   res = -(*str++ - '0');
   if (res > 0 || res < -9) return false;

   for(;*str;str++) {
      char c = *str - '0';
      if (c >= 0 && c <= 9) {
		 if ((tmp = 10*res-c) > res) return false;
		 else  res = tmp;
      }
      else return false;
   }

   if (!bNeg)
      if (res==MIN_INT) return false;
	  else res = -res;

   return true;
}
тоже не ахти, но хотя бы проверок в цикле 2 вместо 6 (и 4х исполняемых при корректных данных)
Спасибо, так значительно лучше. Я только придерживаюсь своей изначальной точки зрения, что такая функция преобразования с учетом граничных условий не решается за 5-10 минут, если, конечно, человек не готовился заранее.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

xtigr wrote:
Alexander Troyansky wrote:
xtigr wrote:ну и зачем требовать такую детализацию во время интервью? Мне лично достаточно, если кандидат напишет пару строк кода, чтоб был понятен алгоритм, и чтоб упомянул про все проверки, можно просто словами.
Что лично почерпнет интервьювер из такой детально решеной задачки кроме того что кандидат может написать атои?
ведь на все остальное времени не останется.
это была позиция тестера. Последнее интервью. Как-то получилось, что все собеседники уделяли минут 10-20 на общие вопросы: чего и как делал; почему Гугл... Остальное время на задачи всякие разные; по всей видимости, собеседующий хотел знать, как бы я работал в условиях недостатка данных/спецификаций типа "задавай вопросы". Простым упомянанием проверок я не отделался -- потребовалось кодирование на доске. Погорел классическим образом: упустил проверку граничных условий. Помню, что собеседователь очень распереживался.
В этом случае еще куда ни шло, т.е. все остальное проверено, теперь проверяется внимание к деталям.
Однако срезать на том что забыли проверять граничные условия как то черезчур. Этого как раз я и не понимаю и не принимаю. Особенно если человек с опытом ( не знаю как у вас).
Однако Гугл и МСФТ знамениты такими требованиями, так как считают что лучше срезать много хороших кандидатов чем взять одного плохого.
Гм, внимание к деталям проверялось на каждом из собеседований в тот день, насколько я помню. На самом деле, я не считаю, что Гугл сильно зверел. То что глупо посыпался на граничных условиях и заранее не выяснил таблицу входов/выходов, из-за чего последнее интервью сам себе сильно изгадил -- это я так сам решил про себя. Почему самом деле не прошел - не знаю. Это было мое первое интервью в США, так что можно сказать первый блин комом.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Google Recruiter

Post by Ljolja »

Интеррапт wrote:
Ljolja wrote:А если число в ехпоненциальной орме?
atoi эксп числа не обрабатывает. Когда кандидату задается вопрос, то в принципе такие вещи идут в постановке задачи - преобразуй ка ты мне, голубчик, обычную целочисельную строку с поддержкой +/- в число. Все, увидел, что чувак умеет код писать - поехали дальше, к более интересным задачам.
вообше-то изначально задача формулировалась как:"преобразовать строку в целое число". На какую позицию было интервью - не указывалось. Если ко мне придет человек интервюироваться на архитекта и в данном случае начнет писать атои, меня удар хватит. Я бы скорее ожидала что человек раскажит какие строки он может представить на входе. Если строка представляет собой целое число, нужно вызвать атои. Если число не целое, записано в десятичной форме то ...
Если число в словах (да еше неизвестно какого языка :mrgreen: ), вот тут придется повозиться.
Иногда можно начинать с интересных задач, постепенно спускаясь до уровня интервюироемого, правда есть риск, что он сбежит раньше, подумает что над ним издеваются
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Google Recruiter

Post by Ljolja »

Zorkus wrote: интервьюверы ставят до смешного простую задачу, а потом ее усложняют до абсурда 8) но постепенно, чтобы поциэнт ничего не заподозрил.
скорее наоборот, предлагают задачу с бесконечным множеством решений, потом упрошают, что бы добиться хоть какого-то вразумительного ответа от "поциэнтa"
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

Post by Интеррапт »

Ljolja wrote:вообше-то изначально задача формулировалась как:"преобразовать строку в целое число".
Помнится мне, что изначально весь разговор затеялся с того, чтобы было высказано мнение, что мол если человек atoi не напишет за 10 минут, то это плохо. А уже потом подтянулись другие requirements. Ну да ладно, не принципиально. Мы же действительно здесь не интервью проходим, чтобы стараться.
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Google Recruiter

Post by Ljolja »

АццкоМото wrote: кстати облажался на элементарном вопросе от гугла.
:D
АццкоМото wrote: короче они несли долгую пургу о том, что типа есть у нас расшифрованная молекула ДНК и есть известная последовательность нуклеотидных пар вируса. и типа нам нужно понять, мы все умрем или вируса нет. я такой тупил-тупил, говорю, вы что, хотите найти подстроку в строке? они такие - ну типа да, только довольно длинную подстроку в офигенно длинной строке. я говорю - ну ок, ищите, кто ж мешает. но вы же хотите от меня чего-то оптимального? ну да, говорят. единственное, что совершенно очевидно приходит в голову, что нуклеиновых кислот всего 4, на один символ нужно 2 бита, если упаковать, то типа строки получаются короче, но и искать нужно будет не 1 подстроку, а 4 (если символ=байт) ну и потанцевать еще вокруг границ. хорошо, говорят, давай еще оптимальнее. кряхтел-пердел, говорю - нет, в общем случае никак. (потом по здравому размышлению появились варианты, потом не считается)
и тут они намекают, говорят, ну мы же ж гугл, мы вообще по обработке больших данных спецы. и контуперов у нас много. ну йо... в совершенно очевидном месте про распараллеливание даже мысли не возникло
хорошая задача. К сожалению, програмистам такие задачи похоже не интересны. Она близка к sequence alignment (частный случай), только фокус смешен к big data
АццкоМото, если бы Вы успешно решали подобные задачи, Вам не нужно было бы куда-либо интервюироваться :wink:
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

crypto5 wrote:
xtigr wrote:ну и зачем требовать такую детализацию во время интервью? Мне лично достаточно, если кандидат напишет пару строк кода, чтоб был понятен алгоритм, и чтоб упомянул про все проверки, можно просто словами.
Что лично почерпнет интервьювер из такой детально решеной задачки кроме того что кандидат может написать атои?
ведь на все остальное времени не останется.
может как раз ищутся фронтендщики разрабатывающие УИ, и там наверное очень важное качество предвидеть все ошибки и злые намерения пользователя и вычислить все граничные условия.
совершенно необязательно frontend and UI. Например, пакетная обработка транзакции на предмет выявления ошибок в элементах данных и преобразования одних форматов в другие и разделения потока транзакций на правильные и неправильные. Стандартный atoi, наверное, не подходит.
Last edited by Alexander Troyansky on 28 Sep 2012 00:16, edited 1 time in total.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

Интеррапт wrote:
Ljolja wrote:вообше-то изначально задача формулировалась как:"преобразовать строку в целое число".
Помнится мне, что изначально весь разговор затеялся с того, чтобы было высказано мнение, что мол если человек atoi не напишет за 10 минут, то это плохо. А уже потом подтянулись другие requirements.
Топик про Гугл, стало быть и atoi, ну или как там его еще называют, может быть соответствующий :umnik1:
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Google Recruiter

Post by Ljolja »

да, начинать пожалуй надо с простого. Сходила я сегодня на местный хакатрон, посмотреть, что ето такое. Вобшем довольно забавно. Был там еше один парень, который тоже пришел 1й раз и разговор был примерно следуюший:
I: -What do you do?.
H: -I'm learning
I: -And what do you learn?
H: -Languages
I: -Which languages?
H: -Perl, python
I: -And you need some help?
после чего он с ентузиазмом достал портативный notebook
H: -Yes, I can't connect to the server :D
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Google Recruiter

Post by dotcom »

Хак-а-тлон - это зло, там собираются стартаперы. Как можно туда ходить!? :D
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Google Recruiter

Post by Ljolja »

del
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

Post by АццкоМото »

Ljolja wrote:хорошая задача. К сожалению, програмистам такие задачи похоже не интересны. Она близка к sequence alignment (частный случай), только фокус смешен к big data
АццкоМото, если бы Вы успешно решали подобные задачи, Вам не нужно было бы куда-либо интервюироваться :wink:
Ну я не знаю. Задача довольно интересная, но ничего сверхестественного в ней тоже не вижу. Решить оптимально достаточно не сложно. ОК, возможно, я не знаю каких-то очень хитрых алгоритмов, но в голову приходит много чего забавного и так
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

Post by АццкоМото »

Alexander Troyansky wrote:Я только придерживаюсь своей изначальной точки зрения, что такая функция преобразования с учетом граничных условий не решается за 5-10 минут, если, конечно, человек не готовился заранее.
Если с проверкой на переполнение и с полной отладкой - 20-30 минут. Но, как говорилось уже, на программистские позиции это никому нафиг не нужно - идею набросал и ладно, на что 5-10 минут ОК.
Мат на форуме запрещен, блдж!

Return to “Работа и Карьера в IT”