Google Recruiter

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

Re: Google Recruiter

Post by crypto5 »

Komissar wrote:о чем спорите, ученые мужи?
не спорим, меряемся
In vino Veritas!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

АццкоМото wrote:
Интеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Да, за час - не вопрос. Единственное, если на доске, то можно пару глупых ошибок сделать, но не думаю, что это большая проблема
Нет, глупые ошибке на доске - это действительно было не проблемой.
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: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

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

Alexander Troyansky wrote:Косвенным подтверждением моих слов является то, что мы тут уже безрезультатно ругаемся уже более получаса.
Ну так одно дело просто поболтать, а другое дело с секундомером писать код (пусть даже и элементарный код), чтобы чего-то доказать виртуальному собеседнику :)
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Alexander Troyansky wrote:
АццкоМото wrote:
Интеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Да, за час - не вопрос. Единственное, если на доске, то можно пару глупых ошибок сделать, но не думаю, что это большая проблема
Нет, глупые ошибке на доске - это действительно было не проблемой.
Давайте еще какую нибудь школьную задачу из вашего арсенала, можно с секундомером, я попытаюсь реабилитироваться ))
Даже напишу функцию с проверками ))
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

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

От-жеж энтузиаст )))
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

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

Alexander Troyansky wrote:Я просто поставил под сомнение, что функцию преобразования строки в целое можно сделать за пять-десять минут. И всего лишь.
Блин, чего тут сомневаться-то? Вариант crypto5 - это 1 минута вместе с печатанием. еще минута - на отбрасывание whitespace. что-нибудь типа
while (iswhitespace(*c)) c++;
где iswhitespace (char c)
{
for (int i=0; i<WHITESPACES_LEN; i++)
if (c==WHITESPACES) return 1;
return 0;
}
еще 1 минута на знак
isnegative = 0;
if (*c=='-') {isnegative = 1; c++}
if (*c=='+') c++;

добавим еще проверку на диапазон if (*c>='0' && *c<='9'), добавим в конце return isnegative ? -i : i; и обернем код в вид функции. ну пусть еще 1 минута.
ну что блин еще-то? никак больше 5 минут не выходит
Last edited by АццкоМото on 27 Sep 2012 06:25, edited 1 time in total.
Мат на форуме запрещен, блдж!
User avatar
Komissar
Уже с Приветом
Posts: 64661
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Google Recruiter

Post by Komissar »

ученые мужи, лучше про мой вопрос про Кендо гуй прокомментируйте.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

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

кендогуй - глагол в повелительной форме
Мат на форуме запрещен, блдж!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

Интеррапт wrote:
Alexander Troyansky wrote:Косвенным подтверждением моих слов является то, что мы тут уже безрезультатно ругаемся уже более получаса.
Ну так одно дело просто поболтать, а другое дело с секундомером писать код, чтобы чего-то доказать виртуальному собеседнику :)
Да, вы безусловно правы. Живое собеседование с доской заменить нашей болтовней сложно. На это следует делать скидку.

Ну хорошо, я вижу, что всё это зашло в тупик. Поэтому попытаюсь продолжить и начну рассказывать о своих ошибках. Собеседущий, который меня спрашивал, был открыт к общению и был готов ответить на мои любые вопросы. Я этой возможностью по легкомыслию пренебрег и сразу начал корябать на доске код. Кстати, собеседующий сразу отметил, что это не то, что он хотел. Он правда и не ожидал, что я телепатией владею. Просто заявил, что лучше б я сначал начал задавать воросы. Так, осознав неправильность своих действий, я вернулся к выяснению возможных входов и выход, путем составления таблицы. Например,

Code: Select all

Вход      Выход
"0"         0
"-1"       -1
"002abc" ERROR!
"-05"      -5
...
Оказалось, что "функция по преобразованию строки в число" совсем необязательно должно быть atoi. Правильно это или нет - не в этом вопрос. То, что не стал выяснять, что требовалось - вот что было моей главной ошибкой (точнее, одной из нескольких)
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
inside
Уже с Приветом
Posts: 1605
Joined: 05 May 2007 19:44

Re: Google Recruiter

Post by inside »

Интеррапт wrote:
АццкоМото wrote: При всем уважении, у меня не было никакого желания этот код писать под секундомер, чтобы вас поразить. потому что вариант crypto5 приходит в голову за неполных 3 секунды и еще секунд 15 уходит на продумывание всего остального. остается только записать. 10 минут даже в школе бы на это не потребовалось
Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
И такое тоже за час напишите? ;)

"Fifteen hundred twenty-six and one third" -> 1526.3333333333333333
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

crypto5 wrote:
Alexander Troyansky wrote:
АццкоМото wrote:
Интеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Да, за час - не вопрос. Единственное, если на доске, то можно пару глупых ошибок сделать, но не думаю, что это большая проблема
Нет, глупые ошибке на доске - это действительно было не проблемой.
Давайте еще какую нибудь школьную задачу из вашего арсенала, можно с секундомером, я попытаюсь реабилитироваться ))
Даже напишу функцию с проверками ))
спасибо за проявленный интерес :-) можете попробовать ее решить еще раз (и не один раз), предварительно прочтя мои предыдущие сообщения
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: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Google Recruiter

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

Интеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Кстати, про похожую задачу на час - калькулятор можно написать, который будет вычислять выражения из целых чисел, четырех арифметических операций и со скобками
Мат на форуме запрещен, блдж!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

АццкоМото wrote:
Alexander Troyansky wrote:Я просто поставил под сомнение, что функцию преобразования строки в целое можно сделать за пять-десять минут. И всего лишь.
Блин, чего тут сомневаться-то? Вариант crypto5 - это 1 минута вместе с печатанием. еще минута - на отбрасывание whitespace. что-нибудь типа
while (iswhitespace(*c)) c++;
где iswhitespace (char c)
{
for (int i=0; i<WHITESPACES_LEN; i++)
if (c==WHITESPACES) return 1;
return 0;
}
еще 1 минута на знак
isnegative = 0;
if (*c=='-') {isnegative = 1; c++}
if (*c=='+') c++;

добавим еще проверку на диапазон if (*c>='0' && *c<='9'), добавим в конце return isnegative ? -i : i; и обернем код в вид функции. ну пусть еще 1 минута.
ну что блин еще-то? никак больше 5 минут не выходит


Признателен вам за потраченное время. Несколько замечаний (прошу прощения, что покажусь занудным, но каждой из них важно -- это можно потом заметить):
1) это не функция. Это фрагмент кода.
2) со знаком ничего не понял.
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: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

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

Komissar wrote:ученые мужи, лучше про мой вопрос про Кендо гуй прокомментируйте.
Да там вроде уже rzen со стенкиным комментируют. А я никогда им не пользовался.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

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

Alexander Troyansky wrote: 2) со знаком ничего не понял.
Ну там наверняка Аццко имел ввиду else if (*c=='+') c++;
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:
Alexander Troyansky wrote:
АццкоМото wrote:
Интеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Да, за час - не вопрос. Единственное, если на доске, то можно пару глупых ошибок сделать, но не думаю, что это большая проблема
Нет, глупые ошибке на доске - это действительно было не проблемой.
Давайте еще какую нибудь школьную задачу из вашего арсенала, можно с секундомером, я попытаюсь реабилитироваться ))
Даже напишу функцию с проверками ))
спасибо за проявленный интерес :-) можете попробовать ее решить еще раз (и не один раз), предварительно прочтя мои предыдущие сообщения

Code: Select all

	private static int atoi(String s) throws Exception{
		if(s == null || s.length() == 0) throw new Exception("Error");
		int i = 0;
		int ind = 0;
		while(s.charAt(ind) == ' ' && ind < s.length()) ind ++;
		if(ind == s.length()) throw new Exception("Error");
		int neg = 1;
		if(s.charAt(ind) == '-') {neg = -1; ind ++;}
		if(ind == s.length()) throw new Exception("Error");
		if(s.charAt(ind) == '+') ind ++;
		if(ind == s.length()) throw new Exception("Error");
		while(s.charAt(ind) == '0' && ind < s.length()) ind ++;
		while(ind < s.length()) {
			if(s.charAt(ind) < '0' || s.charAt(ind) > '9') throw new Exception("Error");
			i *= 10;
			i += s.charAt(ind) - '0';
			ind ++;
		}
		return i * neg;
	}
In vino Veritas!
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Google Recruiter

Post by Alexander Troyansky »

Интеррапт wrote:
АццкоМото wrote: При всем уважении, у меня не было никакого желания этот код писать под секундомер, чтобы вас поразить. потому что вариант crypto5 приходит в голову за неполных 3 секунды и еще секунд 15 уходит на продумывание всего остального. остается только записать. 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
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

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

Alexander Troyansky wrote:Вы не первый, кто неадекватно оценивает несколько большую, чем кажется, сложность той задачи.
Назвать эту задачу сложной - просто язык не поворачивается. Простейшая задача. На 5 минут в черновом варианте или 10 минут - со всеми проверками. И когда я раньше задавал ее на интервью - нормальные кандидаты именно в это время и укладывались.
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Google Recruiter

Post by Леонид Ильич Брежнев »

crypto5 wrote:

Code: Select all

	private static int atoi(String s) throws Exception{
		if(s == null || s.length() == 0) throw new Exception("Error");
		int i = 0;
		int ind = 0;
		while(s.charAt(ind) == ' ' && ind < s.length()) ind ++;
		if(ind == s.length()) throw new Exception("Error");
		int neg = 1;
		if(s.charAt(ind) == '-') {neg = -1; ind ++;}
		if(ind == s.length()) throw new Exception("Error");
		if(s.charAt(ind) == '+') ind ++;
		if(ind == s.length()) throw new Exception("Error");
		while(s.charAt(ind) == '0' && ind < s.length()) ind ++;
		while(ind < s.length()) {
			if(s.charAt(ind) < '0' || s.charAt(ind) > '9') throw new Exception("Error");
			i *= 10;
			i += s.charAt(ind) - '0';
			ind ++;
		}
		return i * neg;
	}
Ужас. За одну только попытку только !!!! ПОДУМАТЬ !!! писать atoi() на джаве надо наказывать. Прижигать мозг расколенной докрасна кочергой через анус. :umnik1: :umnik1:
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Леонид Ильич Брежнев wrote:
crypto5 wrote:

Code: Select all

	private static int atoi(String s) throws Exception{
		if(s == null || s.length() == 0) throw new Exception("Error");
		int i = 0;
		int ind = 0;
		while(s.charAt(ind) == ' ' && ind < s.length()) ind ++;
		if(ind == s.length()) throw new Exception("Error");
		int neg = 1;
		if(s.charAt(ind) == '-') {neg = -1; ind ++;}
		if(ind == s.length()) throw new Exception("Error");
		if(s.charAt(ind) == '+') ind ++;
		if(ind == s.length()) throw new Exception("Error");
		while(s.charAt(ind) == '0' && ind < s.length()) ind ++;
		while(ind < s.length()) {
			if(s.charAt(ind) < '0' || s.charAt(ind) > '9') throw new Exception("Error");
			i *= 10;
			i += s.charAt(ind) - '0';
			ind ++;
		}
		return i * neg;
	}
Ужас. За одну только попытку только !!!! ПОДУМАТЬ !!! писать atoi() на джаве надо наказывать. Прижигать мозг расколенной докрасна кочергой через анус. :umnik1: :umnik1:
Я давно на С не писал(лет 5)
In vino Veritas!
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Google Recruiter

Post by Леонид Ильич Брежнев »

crypto5 wrote:Я давно на С не писал(лет 5)
Да нет понятно, что Вы раскололи заказанное количество орехов микроскопом.
Кстати, если мне не измняет память, то в контексте интервью CRT злобно читит :). Там atoi() написана через isdigit() :)
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Леонид Ильич Брежнев wrote:
crypto5 wrote:
Ужас. За одну только попытку только !!!! ПОДУМАТЬ !!! писать atoi() на джаве надо наказывать. Прижигать мозг расколенной докрасна кочергой через анус. :umnik1: :umnik1:
Специально для леонида ильича с-ишный вариант:

Code: Select all

int atoi(char *c, int &i) {
if(!c || !*c) return -1;
while(*c && *c == ' ') c++;
if(!*c) return -1;
int neg = 1;
if(*c == '-') {neg = -1; c ++;}
if(!*c) return -1;
i = 0;
while(*c == '0') c++;
while(*c) {
  if(*c < '0' || *c > '9') return -1;
  i *= 10;
  i += *c - '0';
  c ++;
}
i *= neg;
return 0;
}
In vino Veritas!
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Google Recruiter

Post by Леонид Ильич Брежнев »

crypto5 wrote:
Леонид Ильич Брежнев wrote:
crypto5 wrote:

Code: Select all

  i += *c - '0';
  c ++;
Тебе что, как Пушкину построчно платят? :angry: :angry: :angry:
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Google Recruiter

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

Леонид Ильич Брежнев wrote:Кстати, если мне не измняет память, то в контексте интервью CRT злобно читит :). Там atoi() написана через isdigit() :)
В большинстве реализаций atoi просто вызывает функцию strtol :)
С указанием параметра 10 (т.е. для обработки строк с десятичными цифрами).
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Google Recruiter

Post by crypto5 »

Леонид Ильич Брежнев wrote:
crypto5 wrote:
Леонид Ильич Брежнев wrote:
crypto5 wrote:

Code: Select all

  i += *c - '0';
  c ++;
Тебе что, как Пушкину построчно платят? :angry: :angry: :angry:
прибежит дотком, скажет что нечитабельно ))
In vino Veritas!

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