не спорим, меряемсяKomissar wrote:о чем спорите, ученые мужи?
Google Recruiter
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
Нет, глупые ошибке на доске - это действительно было не проблемой.АццкоМото 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
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
Ну так одно дело просто поболтать, а другое дело с секундомером писать код (пусть даже и элементарный код), чтобы чего-то доказать виртуальному собеседникуAlexander Troyansky wrote:Косвенным подтверждением моих слов является то, что мы тут уже безрезультатно ругаемся уже более получаса.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
Давайте еще какую нибудь школьную задачу из вашего арсенала, можно с секундомером, я попытаюсь реабилитироваться ))Alexander Troyansky wrote:Нет, глупые ошибке на доске - это действительно было не проблемой.АццкоМото wrote:Да, за час - не вопрос. Единственное, если на доске, то можно пару глупых ошибок сделать, но не думаю, что это большая проблемаИнтеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Даже напишу функцию с проверками ))
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
От-жеж энтузиаст )))
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Google Recruiter
Блин, чего тут сомневаться-то? Вариант crypto5 - это 1 минута вместе с печатанием. еще минута - на отбрасывание whitespace. что-нибудь типаAlexander Troyansky wrote:Я просто поставил под сомнение, что функцию преобразования строки в целое можно сделать за пять-десять минут. И всего лишь.
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.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Google Recruiter
ученые мужи, лучше про мой вопрос про Кендо гуй прокомментируйте.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
Да, вы безусловно правы. Живое собеседование с доской заменить нашей болтовней сложно. На это следует делать скидку.Интеррапт wrote:Ну так одно дело просто поболтать, а другое дело с секундомером писать код, чтобы чего-то доказать виртуальному собеседникуAlexander Troyansky wrote:Косвенным подтверждением моих слов является то, что мы тут уже безрезультатно ругаемся уже более получаса.
Ну хорошо, я вижу, что всё это зашло в тупик. Поэтому попытаюсь продолжить и начну рассказывать о своих ошибках. Собеседущий, который меня спрашивал, был открыт к общению и был готов ответить на мои любые вопросы. Я этой возможностью по легкомыслию пренебрег и сразу начал корябать на доске код. Кстати, собеседующий сразу отметил, что это не то, что он хотел. Он правда и не ожидал, что я телепатией владею. Просто заявил, что лучше б я сначал начал задавать воросы. Так, осознав неправильность своих действий, я вернулся к выяснению возможных входов и выход, путем составления таблицы. Например,
Code: Select all
Вход Выход
"0" 0
"-1" -1
"002abc" ERROR!
"-05" -5
...
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
-
- Уже с Приветом
- Posts: 1605
- Joined: 05 May 2007 19:44
Re: Google Recruiter
И такое тоже за час напишите?Интеррапт wrote:Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.АццкоМото wrote: При всем уважении, у меня не было никакого желания этот код писать под секундомер, чтобы вас поразить. потому что вариант crypto5 приходит в голову за неполных 3 секунды и еще секунд 15 уходит на продумывание всего остального. остается только записать. 10 минут даже в школе бы на это не потребовалось
"Fifteen hundred twenty-six and one third" -> 1526.3333333333333333
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
спасибо за проявленный интерес можете попробовать ее решить еще раз (и не один раз), предварительно прочтя мои предыдущие сообщения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
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Google Recruiter
Кстати, про похожую задачу на час - калькулятор можно написать, который будет вычислять выражения из целых чисел, четырех арифметических операций и со скобкамиИнтеррапт wrote: Удивило другое, что кандидатам часа не хватает решить эту задачу. Вот это действительно поражает вообращение. Часа должно хватить на то, чтобы не только строку в десятичной форме, но и hex и oct строки обработать. Еще и время на E нотацию останется.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
АццкоМото wrote:Блин, чего тут сомневаться-то? Вариант crypto5 - это 1 минута вместе с печатанием. еще минута - на отбрасывание whitespace. что-нибудь типаAlexander Troyansky wrote:Я просто поставил под сомнение, что функцию преобразования строки в целое можно сделать за пять-десять минут. И всего лишь.
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
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
Да там вроде уже rzen со стенкиным комментируют. А я никогда им не пользовался.Komissar wrote:ученые мужи, лучше про мой вопрос про Кендо гуй прокомментируйте.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
Ну там наверняка Аццко имел ввиду else if (*c=='+') c++;Alexander Troyansky wrote: 2) со знаком ничего не понял.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
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!
-
- Уже с Приветом
- Posts: 5665
- Joined: 15 Aug 2008 00:52
Re: Google Recruiter
Вы не первый, кто неадекватно оценивает несколько большую, чем кажется, сложность той задачи.Интеррапт 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
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
Назвать эту задачу сложной - просто язык не поворачивается. Простейшая задача. На 5 минут в черновом варианте или 10 минут - со всеми проверками. И когда я раньше задавал ее на интервью - нормальные кандидаты именно в это время и укладывались.Alexander Troyansky wrote:Вы не первый, кто неадекватно оценивает несколько большую, чем кажется, сложность той задачи.
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Google Recruiter
Ужас. За одну только попытку только !!!! ПОДУМАТЬ !!! писать atoi() на джаве надо наказывать. Прижигать мозг расколенной докрасна кочергой через анус.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; }
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
Я давно на С не писал(лет 5)Леонид Ильич Брежнев wrote:Ужас. За одну только попытку только !!!! ПОДУМАТЬ !!! писать atoi() на джаве надо наказывать. Прижигать мозг расколенной докрасна кочергой через анус.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; }
In vino Veritas!
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Google Recruiter
Да нет понятно, что Вы раскололи заказанное количество орехов микроскопом.crypto5 wrote:Я давно на С не писал(лет 5)
Кстати, если мне не измняет память, то в контексте интервью CRT злобно читит . Там atoi() написана через isdigit()
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
Специально для леонида ильича с-ишный вариант:Леонид Ильич Брежнев wrote:Ужас. За одну только попытку только !!!! ПОДУМАТЬ !!! писать atoi() на джаве надо наказывать. Прижигать мозг расколенной докрасна кочергой через анус.crypto5 wrote:
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!
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Google Recruiter
Тебе что, как Пушкину построчно платят?crypto5 wrote:Леонид Ильич Брежнев wrote:crypto5 wrote:Code: Select all
i += *c - '0'; c ++;
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Google Recruiter
В большинстве реализаций atoi просто вызывает функцию strtolЛеонид Ильич Брежнев wrote:Кстати, если мне не измняет память, то в контексте интервью CRT злобно читит . Там atoi() написана через isdigit()
С указанием параметра 10 (т.е. для обработки строк с десятичными цифрами).
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Google Recruiter
прибежит дотком, скажет что нечитабельно ))Леонид Ильич Брежнев wrote:Тебе что, как Пушкину построчно платят?crypto5 wrote:Леонид Ильич Брежнев wrote:crypto5 wrote:Code: Select all
i += *c - '0'; c ++;
In vino Veritas!