Facebook puzzles - do they work?

User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Facebook puzzles - do they work?

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

АццкоМото wrote:эх, какой срач пропустил :(
хотя справедливости ради меня тоже несколько удивило, почему практически все единогласно решили, что 173.194.37.000000003 - невалидный ойпишнег.
Потому что тогда бы пришлось условия задачи еще сильнее усложнять, например, что если число начинается с нуля, то нужно проверять, что цифры этого числа попадают в octal диапазон ( 0 .. 7 )

Вот, например, если на Маке набрать в терминале:

ping 173.194.37.9

то пинговаться будет нормально. А теперь попробуй набрать в терминале

ping 173.194.37.09

и выдаст "ping: cannot resolve 173.194.37.09: Unknown host"
Потому что "09" - не является валидным octal числом.

Ну или аналогично в Хроме или Файрфоксе: http://173.194.37.9/ перейдет на Гугл, а http://173.194.37.09/ на Гугл не перейдет.

Ну а так да, можно было написать и валидатор, который проверяет и на шестнадцатеричные цифры, например такая команда:

ping 173.194.37.0x1A

вполне себе будет пинговать 173.194.37.26, а если в Хроме ввести "http://173.194.37.0x1A/" то очень даже бодро перейдет на Гугл.
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Facebook puzzles - do they work?

Post by fruit6 »

а все почему? потому что facebook и многие другие компании делающие бизнес на dot-com scam нанимают много студентов, т.е. "unskilled labor". кого могут интересовать вопросы для студентов кроме самих студентов?
User avatar
aleh
Уже с Приветом
Posts: 1953
Joined: 19 Nov 2000 10:01
Location: BY-MA-RI-CT-MO

Re: Facebook puzzles - do they work?

Post by aleh »

А почему все стараются запихнуть этот валидатор в одну строку?
Я бы такому деятелю на интервью отминусовал бы к общему скору.
Потому как нужна либо вся команда таких гениев, либо ваяй согласно "company coding standard policy".
А он во многох местах говорит "не более одного оператора в строке".
Иначе непременно будет ошибка. даже здесь я увидел подтверждение этому правилу. Большая половина "соискателей" таки совершила ту или иную ошибку. А теперь смотрите. Напишет такой "соискатель" одному ему понятный код и станет ему скучно его поддерживать и перескочит он на другой проект. А нам, "простым смертным кодерам" его поддерживай. И сколько времени нужно будет затратить на нахождение бага в файле с сотнями таких многовсегоделающих строк?

Так что прав был классик ровно сто лет назад сказавши:
"Узок круг этих революционеров. Страшно далеки они от народа" (С)
"Нет поэтов в родне, инженеры одне..."
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Facebook puzzles - do they work?

Post by nightmare2 »

aleh wrote:А почему все стараются запихнуть этот валидатор в одну строку?
Я бы такому деятелю на интервью отминусовал бы к общему скору.
Потому как нужна либо вся команда таких гениев, либо ваяй согласно "company coding standard policy".
А он во многох местах говорит "не более одного оператора в строке".
Иначе непременно будет ошибка. даже здесь я увидел подтверждение этому правилу. Большая половина "соискателей" таки совершила ту или иную ошибку. А теперь смотрите. Напишет такой "соискатель" одному ему понятный код и станет ему скучно его поддерживать и перескочит он на другой проект. А нам, "простым смертным кодерам" его поддерживай. И сколько времени нужно будет затратить на нахождение бага в файле с сотнями таких многовсегоделающих строк?

Так что прав был классик ровно сто лет назад сказавши:
"Узок круг этих революционеров. Страшно далеки они от народа" (С)
Именно так все и будет.
Лично я, такой код удаляю и пишу заново.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

Интеррапт wrote:
Потому что тогда бы пришлось условия задачи еще сильнее усложнять, например, что если число начинается с нуля, то нужно проверять, что цифры этого числа попадают в octal диапазон ( 0 .. 7 )

Вот, например, если на Маке набрать в терминале:

ping 173.194.37.9

то пинговаться будет нормально. А теперь попробуй набрать в терминале

ping 173.194.37.09

и выдаст "ping: cannot resolve 173.194.37.09: Unknown host"
Потому что "09" - не является валидным octal числом.
Это все понятно, я с самого начала поигрался с пингом и хромом :) Тем не менее, не везде ведущий ноль указывает на восьмеричное исчисление. В той же винде если во всяких настройках сетки вколотить 192.168.020.010 - будут просто откинуты нули и считаться будет как десятичное
Но я не говорю, что правильно так или эдак - просто удивило такое единодушие в подходе

А вообще, КМК, довольно прикольное задание, если, скажем, просить напейсать это на чистом С без использования даже стандартных библиотек и поддерживать десятичную и восьмеричную запись. Не бином Ньютона, но как фильтр против "тиаретигов" - отлично
Мат на форуме запрещен, блдж!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Facebook puzzles - do they work?

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

aleh wrote:А почему все стараются запихнуть этот валидатор в одну строку?
Наверное потому, что взрослым дядям в этом топике было бы не интересно развлекаться этой задачкой, если бы не идея написать "в одну строку"? :pain1:
Народ, ну вы даете :mrgreen:
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Facebook puzzles - do they work?

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

АццкоМото wrote: Это все понятно, я с самого начала поигрался с пингом и хромом :) Тем не менее, не везде ведущий ноль указывает на восьмеричное исчисление. В той же винде если во всяких настройках сетки вколотить 192.168.020.010 - будут просто откинуты нули и считаться будет как десятичное
Но я не говорю, что правильно так или эдак - просто удивило такое единодушие в подходе
Ну вот сам видишь, в одном случае верно так, а в другом случае - по другому. Значит это нужно или оговаривать для задания или можно просто ноль впереди числа сделать невалидным - чтобы не было неоднозначностей.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

aleh wrote:Напишет такой "соискатель" одному ему понятный код и станет ему скучно его поддерживать и перескочит он на другой проект. А нам, "простым смертным кодерам" его поддерживай.
Странно, почему мне было все понятно, при том, что я того йызыка вообще не знаю, только про isDigit() надо было подзырить. Может, "простым смертным кодерам" посвятить себя чему-то другому?
Мат на форуме запрещен, блдж!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Facebook puzzles - do they work?

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

АццкоМото wrote:
aleh wrote:Напишет такой "соискатель" одному ему понятный код и станет ему скучно его поддерживать и перескочит он на другой проект. А нам, "простым смертным кодерам" его поддерживай.
Странно, почему мне было все понятно, при том, что я того йызыка вообще не знаю, только про isDigit() надо было подзырить. Может, "простым смертным кодерам" посвятить себя чему-то другому?
Во-во. Например, написаные изначально Крипто и Хамстером конструкции - довольно типичны для Питона, а в данном случае - еще и легко читаемые.
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Re: Facebook puzzles - do they work?

Post by Hamster »

АццкоМото wrote:
aleh wrote:Напишет такой "соискатель" одному ему понятный код и станет ему скучно его поддерживать и перескочит он на другой проект. А нам, "простым смертным кодерам" его поддерживай.
Странно, почему мне было все понятно, при том, что я того йызыка вообще не знаю, только про isDigit() надо было подзырить. Может, "простым смертным кодерам" посвятить себя чему-то другому?
Я тоже питон почти не знаю, только читал документацию и написал несколько коротких скриптов. Мое решение делалось на основе xtigr'овского и 20 минут на docs.python.org.
Протоукр
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

Post by Мальчик-Одуванчик »

Лямбду тоже предлагается на несколько строк распердолить?
А вообще, краткость - сестра таланта.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

Мальчик-Одуванчик wrote:краткость - сестра таланта.
Краткость - с.т.! :gen1:
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

Еще немного оффтопа про краткость. Последнее время натыкаюсь на мегатонны кода типа

Code: Select all

 if (a) {
method (v1, v2, v3);
} else {
method (v1, v2, v4);
}
Каждый раз хочется пристрелить автора, особенно когда таких if десяток. Что, так трудно написать просто

Code: Select all

 method (v1, v2, a ? v3 : v4);
понятнее же в 10 раз и кнопок жамкать в 3 раза меньше
Мат на форуме запрещен, блдж!
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Facebook puzzles - do they work?

Post by nightmare2 »

АццкоМото wrote:
aleh wrote:Напишет такой "соискатель" одному ему понятный код и станет ему скучно его поддерживать и перескочит он на другой проект. А нам, "простым смертным кодерам" его поддерживай.
Странно, почему мне было все понятно, при том, что я того йызыка вообще не знаю, только про isDigit() надо было подзырить. Может, "простым смертным кодерам" посвятить себя чему-то другому?
На их место придут другие такие же.
"Бетховенов" от клавиатуры на все не хватит.
Да и не нужно это уже в 90 случаев из 100.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Facebook puzzles - do they work?

Post by Kolbasoff »

АццкоМото wrote:Каждый раз хочется пристрелить автора, особенно когда таких if десяток. Что, так трудно написать просто
Не стреляйте в пианиста, он играет как может.

А вы что, еще беспокоитесь о качестве кода? У вас разве не agile? У нас, после того, как к ваянию подключили ребят с oDesk и перевели все модули на github, произошло полное обезличивание кода. Каждый насирает свою кучку в общий сортир, и все в этом сортире копаются. Это же и была главная идея менеджемента - отделить технарей от продукта.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

nightmare2 wrote: На их место придут другие такие же.
Нам же тут давеча рассказывали, как А+ набирать
А тут всего-то нужно, чтобы от однострочной конструкции в голове эксепшн не возникал. Может, хоть это возможно IRL?
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

Kolbasoff wrote: А вы что, еще беспокоитесь о качестве кода? У вас разве не agile?
Ну я таки да, беспокоюсь о какчестве. Но глобальные волнения о вселенском щястье можно оставить в стороне - как минимум, хотелось бы не тронуться чердачком, пробираясь через завалы.
И мне серьезно кажется, что люди, которым не нравится написанное в одну строку и те, кто городит функции в пицот строк, из которых 400 лишние - одни и те же люди

И вроде премии не платят за удой кода в строках :pain1:
Мат на форуме запрещен, блдж!
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Facebook puzzles - do they work?

Post by M. Ridcully »

Мальчик-Одуванчик wrote:А вообще, краткость - сестра таланта.
В-приципе я с вами согласен, но только в том случае, если краткое решение эквивалентно более длинному. С этой точки зрения "выумные" решения данной задачи с использованием split, и т.д. хороши только для того, чтобы блеснуть знанием Питона и пр., и абсолютно неприменимы на практике. Представьте, что вам реально надо имплементировать такую библиотечную функцию - никуда вы не денетесь от скучного цикла (который тоже не так уж и многословен будет, к слову).

Во-первых, однопроходный цикл будет просто быстрее.

А главное - подумайте, что будет в случае всяких вариантов заведомо некорректного аргумента - очень длинные строчки, и т.д.

Я недавно, кстати, на практике столкнулая с похожей задачей - парсингом HTTP трафика. Сначала написал по-быстрому, на коленке, с использованием всяких там библиотечных сплитов и т.д. Но потом всё-таки пришлось переписывать по-взрослому, читая покусочно (эквивалентно однопроходному циклу для этой задачи), инкрементально изменяя состояние программы, и немедленно прекращая процесс при первой же ошибке.
Мир Украине. Свободу России.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Facebook puzzles - do they work?

Post by nightmare2 »

АццкоМото wrote:
nightmare2 wrote: На их место придут другие такие же.
Нам же тут давеча рассказывали, как А+ набирать
А тут всего-то нужно, чтобы от однострочной конструкции в голове эксепшн не возникал. Может, хоть это возможно IRL?
Я сам люблю однострочные выражения, но только если они легко читаются и ничего не ухудшают.
К сожалению, это не всегда так.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Facebook puzzles - do they work?

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

АццкоМото wrote:Еще немного оффтопа про краткость. Последнее время натыкаюсь на мегатонны кода типа

Code: Select all

 if (a) {
method (v1, v2, v3);
} else {
method (v1, v2, v4);
}
Каждый раз хочется пристрелить автора, особенно когда таких if десяток. Что, так трудно написать просто

Code: Select all

 method (v1, v2, a ? v3 : v4);
понятнее же в 10 раз и кнопок жамкать в 3 раза меньше
В Джаве вижу такое постоянно. К сожалению это еще и часто связанно с тем, что многие компании используют java code checkstyles, где тернарные операции показываются как неправильный code style.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

Интеррапт wrote: В Джаве вижу такое постоянно. К сожалению это еще и часто связанно с тем, что многие компании используют java code checkstyles, где тернарные операции показываются как неправильный code style.
Меня всегда озадачивало, когда coding guidelines безусловно запрещают некоторые легальные конструкции языка. Авторов, безусловно, на кол
Мат на форуме запрещен, блдж!
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Facebook puzzles - do they work?

Post by oshibka_residenta »

АццкоМото wrote:
Интеррапт wrote: В Джаве вижу такое постоянно. К сожалению это еще и часто связанно с тем, что многие компании используют java code checkstyles, где тернарные операции показываются как неправильный code style.
Меня всегда озадачивало, когда coding guidelines безусловно запрещают некоторые легальные конструкции языка. Авторов, безусловно, на кол
Удивляться тут нечему. Это повод задуматься любителям лепить одной строкой. К примеру, авторы JavaScript решили с'экономить на ";" - видимо кто-то из них в детстве натер себе палец клавиатурой. В результате в JavaScript можно огрести много проблем на ровном месте. Поэтому, к примеру Google, создал правило:
Always use semicolons.
http://google-styleguide.googlecode.com ... tguide.xml
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

oshibka_residenta wrote: Удивляться тут нечему. Это повод задуматься любителям лепить одной строкой. К примеру, авторы JavaScript решили с'экономить на ";" - видимо кто-то из них в детстве натер себе палец клавиатурой. В результате в JavaScript можно огрести много проблем на ровном месте. Поэтому, к примеру Google, создал правило:
Always use semicolons.
http://google-styleguide.googlecode.com ... tguide.xml
А вы хорошо понимаете разницу между "никогда не используйте х" и "всегда используйте у"?
Мат на форуме запрещен, блдж!
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Facebook puzzles - do they work?

Post by oshibka_residenta »

АццкоМото wrote:
oshibka_residenta wrote: Удивляться тут нечему. Это повод задуматься любителям лепить одной строкой. К примеру, авторы JavaScript решили с'экономить на ";" - видимо кто-то из них в детстве натер себе палец клавиатурой. В результате в JavaScript можно огрести много проблем на ровном месте. Поэтому, к примеру Google, создал правило:
Always use semicolons.
http://google-styleguide.googlecode.com ... tguide.xml
А вы хорошо понимаете разницу между "никогда не используйте х" и "всегда используйте у"?
Прекрасно понимаю. К чему вы клоните?
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Facebook puzzles - do they work?

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

oshibka_residenta wrote:Прекрасно понимаю. К чему вы клоните?
Я клоню к тому, что гайдлайн вида "всегда делайте так-то" - в общем случае вполне нормален. А безусловный запрет на использование легального языкового средства за редкими исключениями - полнейший бред. Соответственно, пример с гугловским гайдлайном иррелевантен
Мат на форуме запрещен, блдж!

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