Прeскрин с написанием кода, github, и upload into CI.
-
- Уже с Приветом
- Posts: 8632
- Joined: 22 Mar 2011 01:40
Re: Прeскрин с написанием кода, github, и upload into CI.
Мой студент только что прислал, " ... рекруитер из консалтинговой компании договорился о phone screen с другой группой из той же компании (комментарий ЛИБ: это не та группа, что прислала исходное задание на code sample ). Сегодня в 11:30 am. Никто не позвонил. Написал рекруитеру, он не ответил, но где-то в час прислал емайл с вопросом "ну как". Ответил ему, что как я писал в прошлом емайле, никто так и не позвонил. Теперь и рекруитер пропал ... ".
-
- Уже с Приветом
- Posts: 5753
- Joined: 15 Aug 2008 00:52
Re: Прeскрин с написанием кода, github, и upload into CI.
Обычно просят реализовать этот вот самый TryParse. Причем даже ваше решение тоже ведь зависит от контекста, пральна? Например, в том же С++ TryParse нет. Хотя да, при "фильтровании" надо, я так полагаю, задаватьвопросы, чтоб уточнить чего же именно хочет спрашивающий. А так да, если С# и можно воспользоваться уже готовыми функциями преобразования, то ваш ответ будет в самый раз.nightmare2 wrote:Alexander Troyansky wrote:...Которым из них надо отвечать на так называемый "фильтр"?"Все уже украдено до нас."Code: Select all
int x; int.TryParse("123", out x);
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: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Прeскрин с написанием кода, github, и upload into CI.
Alexander Troyansky wrote:
Update: Нашёл. Решение "в три строчки":Code: Select all
char c[]; int i = 0; while(c) { i *= 10; i += c -'0'; c++;}
Решение правильное: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; }
Которым из них надо отвечать на так называемый "фильтр"?
конечно трехстрочечное. длинное-то с ошибкой
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Прeскрин с написанием кода, github, и upload into CI.
и, кстати, вообще идиотское. там не то, что ошибка, там весь полет мысли указывает на карьеру джанитора
я устану тыкать в каждую строчку
я устану тыкать в каждую строчку
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 7187
- Joined: 31 Jan 2005 15:06
- Location: GA
Re: Прeскрин с написанием кода, github, и upload into CI.
Ну есть же разница между теми, кто базовые алгоритмы пишет и теми, кто их применяет в прикладных программах.Alexander Troyansky wrote:Обычно просят реализовать этот вот самый TryParse. Причем даже ваше решение тоже ведь зависит от контекста, пральна? Например, в том же С++ TryParse нет. Хотя да, при "фильтровании" надо, я так полагаю, задаватьвопросы, чтоб уточнить чего же именно хочет спрашивающий. А так да, если С# и можно воспользоваться уже готовыми функциями преобразования, то ваш ответ будет в самый раз.
Если подумать немного, но наверное что-то напишу.
Кодировки цифр идут подряд.
Взяв за основу '0'...
Code: Select all
public static bool MyTryParse(string strNum, out int result)
{
result = 0;
int m = 1;
for (int i = strNum.Length - 1; i >= 0; i--)
{
if (strNum[i] < '0' || strNum[i] > '9')
{
result = 0;
return false;
}
else
{
result += (int)(strNum[i] - '0') * m;
}
m *= 10;
}
return true;
}
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
-
- Уже с Приветом
- Posts: 5753
- Joined: 15 Aug 2008 00:52
Re: Прeскрин с написанием кода, github, и upload into CI.
Гм, какая неудобная ситуация возникла...АццкоМото wrote:и, кстати, вообще идиотское. там не то, что ошибка, там весь полет мысли указывает на карьеру джанитора
я устану тыкать в каждую строчку
Вообще-то это ваш код...
Который вы вывели из первого, после того как поняли, что первый не работает
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: 5753
- Joined: 15 Aug 2008 00:52
Re: Прeскрин с написанием кода, github, и upload into CI.
гм. Да, задача не устаревает. На входе "-1". Что будет на выходе?nightmare2 wrote:Ну есть же разница между теми, кто базовые алгоритмы пишет и теми, кто их применяет в прикладных программах.Alexander Troyansky wrote:Обычно просят реализовать этот вот самый TryParse. Причем даже ваше решение тоже ведь зависит от контекста, пральна? Например, в том же С++ TryParse нет. Хотя да, при "фильтровании" надо, я так полагаю, задаватьвопросы, чтоб уточнить чего же именно хочет спрашивающий. А так да, если С# и можно воспользоваться уже готовыми функциями преобразования, то ваш ответ будет в самый раз.
Если подумать немного, но наверное что-то напишу.
Кодировки цифр идут подряд.
Взяв за основу '0'...
Code: Select all
public static bool MyTryParse(string strNum, out int result) { result = 0; int m = 1; for (int i = strNum.Length - 1; i >= 0; i--) { if (strNum[i] < '0' || strNum[i] > '9') { result = 0; return false; } else { result += (int)(strNum[i] - '0') * m; } m *= 10; } return true; }
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: 344
- Joined: 03 Dec 2014 23:49
Re: Прeскрин с написанием кода, github, и upload into CI.
Alexander Troyansky wrote:Гм, какая неудобная ситуация возникла...АццкоМото wrote:и, кстати, вообще идиотское. там не то, что ошибка, там весь полет мысли указывает на карьеру джанитора
я устану тыкать в каждую строчку
Вообще-то это ваш код...
Который вы вывели из первого, после того как поняли, что первый не работает
![Laughing :lol:](./images/smilies/lol.gif)
![Laughing :lol:](./images/smilies/lol.gif)
![Laughing :lol:](./images/smilies/lol.gif)
Да ладно, это ж было 2.5 года назад. За прошедшее время автор мог и подняться по карьерной лестнице, должность джанитора перерасти.
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Прeскрин с написанием кода, github, и upload into CI.
ситуация неудобная, даAlexander Troyansky wrote:Гм, какая неудобная ситуация возникла...АццкоМото wrote:и, кстати, вообще идиотское. там не то, что ошибка, там весь полет мысли указывает на карьеру джанитора
я устану тыкать в каждую строчку
Вообще-то это ваш код...
Который вы вывели из первого, после того как поняли, что первый не работает
во-первых, я зря щитбрикал по поводу "ошибка на ошибке" - признаю
во-вторых - код не может быть моим. я смутно припоминаю разговор на эту тему (почему считаем в негативных числах) сто лет назад, но мопед стопудово не мой
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 7187
- Joined: 31 Jan 2005 15:06
- Location: GA
Re: Прeскрин с написанием кода, github, и upload into CI.
Да тут много чего не устраивает.Alexander Troyansky wrote:гм. Да, задача не устаревает. На входе "-1". Что будет на выходе?
Что будет если строка слишком длинная для int?
Что делать если встретилась точка?
Что делать с пробелами или запятыми (разделителями разрядов)?
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
-
- Уже с Приветом
- Posts: 5753
- Joined: 15 Aug 2008 00:52
Re: Прeскрин с написанием кода, github, и upload into CI.
Да не надо стесняться. Мопед-таки ваш, это раз. Он таки работает и получился самый адекватный из немногих тогда предложенных, это два. Спор тогда был, что за 10 минут нормальную функцию преобразования строки в целое число не напишешь, это три (ипааать из меня Фандорин получился). А если напишешь, то потом будешь полдня вылавливать блох. Мне кажется, что когда проходишь "фильтр", второй вариант всё-таки предпочтиельней, чтобы показать, что действительно "в теме", это четыреАццкоМото wrote:ситуация неудобная, даAlexander Troyansky wrote:Гм, какая неудобная ситуация возникла...АццкоМото wrote:и, кстати, вообще идиотское. там не то, что ошибка, там весь полет мысли указывает на карьеру джанитора
я устану тыкать в каждую строчку
Вообще-то это ваш код...
Который вы вывели из первого, после того как поняли, что первый не работает
во-первых, я зря щитбрикал по поводу "ошибка на ошибке" - признаю
во-вторых - код не может быть моим. я смутно припоминаю разговор на эту тему (почему считаем в негативных числах) сто лет назад, но мопед стопудово не мой
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: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Прeскрин с написанием кода, github, и upload into CI.
я его откуда-то скопипастил. это не мой мопед.Alexander Troyansky wrote: Да не надо стесняться. Мопед-таки ваш, это раз.
за ссылку спасибо, почитаю. может наврал чего там
![Smile :)](./images/smilies/icon_smile.gif)
да, я уже признался, что ошибки в этом коде мне приглючились. виноват, затупил и так далее. но третий раз признаваться не буду.Alexander Troyansky wrote:Он таки работает и получился самый адекватный из немногих тогда предложенных, это два.
а возвращаясь к фильтру - меня устраивает первый вариант. второй - это совсем другое. это уже в детали, не самые глубокие, но все же детали.Alexander Troyansky wrote:Спор тогда был, что за 10 минут нормальную функцию преобразования строки в целое число не напишешь, это три (ипааать из меня Фандорин получился). А если напишешь, то потом будешь полдня вылавливать блох. Мне кажется, что когда проходишь "фильтр", второй вариант всё-таки предпочтиельней, чтобы показать, что действительно "в теме", это четыре
в первом варианте - идея, во втором - блохи
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Прeскрин с написанием кода, github, и upload into CI.
так, стоп
возможно это и "мой" код. если я основывался на том, что вы, Alexander Troyansky, откомментили так: Ну если никому больше неинтересно, то вот мой вариант -- мне кажется, что решить за 5-10 минут трудно.
но это изменение чужого кода по какому-то признаку, от которого я тогда щитбрикал. очевидно, что сегодня я вижу чужой стиль (код за свой не признаю)
возможно это и "мой" код. если я основывался на том, что вы, Alexander Troyansky, откомментили так: Ну если никому больше неинтересно, то вот мой вариант -- мне кажется, что решить за 5-10 минут трудно.
но это изменение чужого кода по какому-то признаку, от которого я тогда щитбрикал. очевидно, что сегодня я вижу чужой стиль (код за свой не признаю)
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 5753
- Joined: 15 Aug 2008 00:52
Re: Прeскрин с написанием кода, github, и upload into CI.
Я бы сказал, что тогда с нетерпеньем жду по-всамделишному правильный код от вас лично, написанный если не за 10, то пусть хоть за 30 минут, раз вы 2.5 года назад схитрили, но - нет, не буду, ибо рискую быть посланнымАццкоМото wrote:так, стоп
возможно это и "мой" код. если я основывался на том, что вы, Alexander Troyansky, откомментили так: Ну если никому больше неинтересно, то вот мой вариант -- мне кажется, что решить за 5-10 минут трудно.
но это изменение чужого кода по какому-то признаку, от которого я тогда щитбрикал. очевидно, что сегодня я вижу чужой стиль (код за свой не признаю)
![Smile :)](./images/smilies/icon_smile.gif)
Но хотел бы отметить, что характерные отмазки на интервью типа "я изложил идею и написал пару строчек, а вы по ходу добавили новые требования" - они не больше, чем отмазки, по-моему. Казалось бы... какие могут "новые" требования? Могут целые числа быть отрицательными? Могут. Есть пределы у целочисленных типов, которые надо проверять? Есть. Могут быть ошибочные значения ввода? Могут. Получается никаких "новых" требований нет. А если энторвьюруемый об этом не помнит или не знает, то такой же он "в теме"?
Помните подход Joe Spolsky о найме "Smart and Gets Things Done"? Не буду утверждать, что он единственно верный и бесспорный, но весьма неплох. Так вот, "набросать идею" - это показать, какой я умный. А развить эту идею и напейсать функцию - это и есть "gets things done". Хотя вполне допускаю, что порой бывает иногда нанимают исключительно по первому признаку. Это как повезёт, но я бы не считал это за норму и не шитбрикал на ровном месте от чуть более детальных энторвью.
То, что написал наш дорогой Леонид Ильич, открыв эту тему, - просто не совсем удачная попытка реализации подхода Спольского.
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: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Прeскрин с написанием кода, github, и upload into CI.
мы вроде выяснили, что код это таки ваш, в котором я исправил очень явные косяки, а вовсе не хитрил. с такой поправкой ваша просьба теряет смыслAlexander Troyansky wrote:Я бы сказал, что тогда с нетерпеньем жду по-всамделишному правильный код от вас лично, написанный если не за 10, то пусть хоть за 30 минут, раз вы 2.5 года назад схитрили, но - нет, не буду, ибо рискую быть посланнымАццкоМото wrote:так, стоп
возможно это и "мой" код. если я основывался на том, что вы, Alexander Troyansky, откомментили так: Ну если никому больше неинтересно, то вот мой вариант -- мне кажется, что решить за 5-10 минут трудно.
но это изменение чужого кода по какому-то признаку, от которого я тогда щитбрикал. очевидно, что сегодня я вижу чужой стиль (код за свой не признаю).
не нужно смешивать два типа интервью с кодированиемAlexander Troyansky wrote:Но хотел бы отметить, что характерные отмазки на интервью типа "я изложил идею и написал пару строчек, а вы по ходу добавили новые требования" - они не больше, чем отмазки, по-моему. Казалось бы... какие могут "новые" требования? Могут целые числа быть отрицательными? Могут. Есть пределы у целочисленных типов, которые надо проверять? Есть. Могут быть ошибочные значения ввода? Могут. Получается никаких "новых" требований нет. А если энторвьюруемый об этом не помнит или не знает, то такой же он "в теме"?
в одном случае цель - отсеять теоретика, который говорит убедительно, а на деле не может связать две строчки
во втором - нужно проверить, что человек не только знает базовые идеи, но и может "идти до конца"
что самое смешное - первое скорее применимо к опытным перцам, а второе - наоборот, хотя кажется, что это нелогично
что до интервьюироемого, он в стрессе. с утра. он еще не зашел в здание будущей работы, он только встал с постели и почесал яйца - и обнаружил, что они трясутся. рузумеется к моменту написания кода он может "не помнить", что целые числа бывают отрицательными. начать нужно с простого, подбодрить и если нужно - дойти до тонкостей. уверяю вас, дебил, сколько его не подбадривай, не дойдет. умный - скорей всего докажет свой ум раньше, чем придется копать
честно говоря, помню настолько плохо, что проще сказать - не помнюAlexander Troyansky wrote:Помните подход Joe Spolsky о найме "Smart and Gets Things Done"? Не буду утверждать, что он единственно верный и бесспорный, но весьма неплох. Так вот, "набросать идею" - это показать, какой я умный. А развить эту идею и напейсать функцию - это и есть "gets things done". Хотя вполне допускаю, что порой бывает иногда нанимают исключительно по первому признаку. Это как повезёт, но я бы не считал это за норму и не шитбрикал на ровном месте от чуть более детальных энторвью.
То, что написал наш дорогой Леонид Ильич, открыв эту тему, - просто не совсем удачная попытка реализации подхода Спольского.
с ваших слов идея кажется понятной, но вот засада. оно вам надо? ну представьте на секунду, то это я вас интервьюирую. ведь вам на середине такого вопроса захочется послать меня в пешее. и мне вас - если роли поменяются
Мат на форуме запрещен, блдж!