Google Recruiter

User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Alexander Troyansky wrote:
crypto5 wrote:Я на самом деле свой код за 5 минут написал, и он у меня сразу работать начал без отладок. Можно еще 5 минут накинуть на то что это на доске, и 5 мин. на вопросы.
Но вообще если посмотреть на glassdoor это очень нетипичный вопрос для гугла, обычно задают что-то такое для разогрева а потом переходят к чему то посложнее. Или сразу переходят к чему то посложнее.
Вот именно. В вашем конкретном случае проблема в том, что код не вполне работоспособный получился - пришлось комментить минимум пару assert'ов, чтобы ваша функция выполнилась успешно:

Code: Select all

	assert(!str2int(NULL, res));
	assert(!str2int("", res));
	assert(!str2int("-", res));
	assert(!str2int(" ", res));
	assert(str2int("0", res)); assert(res == 0);
	assert(str2int("-123", res)); assert(res == -123);
	assert(str2int("123", res)); assert(res == 123);
	assert(!str2int("12-3", res));
	assert(str2int("00123", res)); assert(res == 123);
	assert(str2int("2147483647", res)); assert(res == MAX_INT);
	assert(str2int("2147483646", res)); assert(res == MAX_INT -1);
//	assert(!str2int("2147483648", res));
	assert(str2int("-2147483647", res)); assert(res == MIN_INT+1);
	assert(str2int("-2147483648", res)); assert(res == MIN_INT);
//	assert(!str2int("-2147483649", res));

Что как и в моем случае тогда привело к пересмотрению подхода и значительному переделыванию функции -- добавляйте еще минут 10-15, а после третьего интервью, включающего обильный обед, :D и еще одного теста в 4-м раунде, может быть даже и больше. У меня лично выносливости не хватило. Характер ненордический.
Чето я не понял, я пропустил только переполнение, я обьяснил почему я его не включил. Ну и еще идею с плюсом скопипастил у мото которая содержала ошибку(если допускать что "-+1" не валидное число), но это никак не отражено в ваших тестах.
При этом я к примеру еще удалил впереди стоящие пробелы как это делает настоящая atoi в отличии от вас.
In vino Veritas!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Alexander Troyansky wrote:после третьего интервью, включающего обильный обед,
Да, да, на ланче я поглощал суши с кофеином что бы не заставлять желудок потреблять много энергии, рекрутер сказал что это очень рационально ))
In vino Veritas!
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: 20-30 минут с отладкой с компьютером - верю, но для кодирования и отладки на доске, как это в Гугле делают? Я так понимаю, при написании вашей последней версией, вам мои assert'ы помогли? Время на их составление тоже учтено? А эволюцию кода из пары строчек вокруг "10*i + c", получившей всеобщее одобрение в этом топике, в предложенное вами "считание в отрицательных числах" и проверкой границ - всё это за 20-30 минут? И у доски?
у доски не нужно ничего отлаживать и никакие ассерты там тоже нафиг не нужны. как правило
Alexander Troyansky wrote:Вас не затруднит, пожалуйста, прояснить цель интервью, с вашей точки зрения. В этом топике, как мне кажется, я видел, цель была оценить "умение писать код". Проверка граничных условий сюда не входит? Хотелось бы знать, что у меня может ждать на собеседовании в будущем, чтобы правильно/выгодно себя вести.
ну как я могу прояснить вам цель вашего же интервью? на _программистские_ позиции такой вопрос не задают, чтобы проверить умение писать код, это просто некий фильтр: если вызывает затруднения, то с кандидатом с вероятностью 99% все очень плохо. ну и, пожалуй, чтобы размять немного кандидата
мне, кстати, задавали подобный вопрос на собеседовании в моей нынешней конторе, только наоборот - из числа в строку преобразовать. при этом не просили даже на доске код писать, достаточно было на пальцах абиснить про деление по модулю и деление нацело. 30 сек и никакого кода.
Мат на форуме запрещен, блдж!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

crypto5 wrote:Чето я не понял, я пропустил только переполнение, я обьяснил почему я его не включил. Ну и еще идею с плюсом скопипастил у мото которая содержала ошибку(если допускать что "-+1" не валидное число), но это никак не отражено в ваших тестах.
При этом я к примеру еще удалил впереди стоящие пробелы как это делает настоящая atoi в отличии от вас.
Да, вы правы "-+1" я должен был включить в набор. Убирание впередистоящих пробелов собеседущего не интересовало. Но я согласен, что такую проверку надо включить в набор.
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
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

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

crypto5 wrote:Ну я первую версию писал на си, у меня уже похоже повылетали механические навыки со всякими звездочками и т.д. Есть некоторый оверхед на мозг.
Ну короче мой пойнт в том, что мелкие ошибки - вполне нормальное и ожидаемое явление даже в самом простом варианте, без переполнения. при любом самом мелком усложнении (типа того самого переполнения) вероятность написать сразу с первого раза, чтоб без багов - резко падает
Мат на форуме запрещен, блдж!
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: Да, вы правы "-+1" я должен был включить в набор. Убирание впередистоящих пробелов собеседущего не интересовало. Но я согласен, что такую проверку надо включить в набор.
У вас вроде и +1 не проходит, разве нет?
Мат на форуме запрещен, блдж!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

АццкоМото wrote:
Alexander Troyansky wrote: Да, вы правы "-+1" я должен был включить в набор. Убирание впередистоящих пробелов собеседущего не интересовало. Но я согласен, что такую проверку надо включить в набор.
У вас вроде и +1 не проходит, разве нет?
гм, вы правы, такие детали надо выяснять заранее в собеседовании. Я привык работать со спецификацией целочисленных данных X12 - там "+" не разрешается.
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

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