Facebook puzzles - do they work?

User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

ping 0xa.0xb.0xc.0xd
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Facebook puzzles - do they work?

Post by stenking »

thanks god we have filter_var($ip, FILTER_VALIDATE_IP )
Бога нет.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Facebook puzzles - do they work?

Post by crypto5 »

stenking wrote:thanks god we have filter_var($ip, FILTER_VALIDATE_IP )
Стенкин, ну вам же никто выше не писал что функция сортировки тоже в некоторых языках уже реализована.
In vino Veritas!
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

ну адрес 010.010.010.010 ведь не перестает быть валидным?
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Facebook puzzles - do they work?

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

Мальчик-Одуванчик wrote:ну адрес 010.010.010.010 ведь не перестает быть валидным?
Зависит. Например, родная питоновская socket.inet_pton не понимает octal числа в IP адресе и трактует их как обычные десятичные числа (фактически откидывая ноль). Т.е. тут нам нужно решить из нескольких вариантов:

1. или мы вводим поддержку octal чисел, тогда мы не просто модифицируем валидатор, но и должны уметь преобразовывать компоненты IP адреса из octal в decimal

2. или мы поступаем как inet_pton работает и просто игнорируем нули

3. или мы валидируем на отсутствие leading zero, чтобы не было никаких неоднозначностей (а то кто-то передаст число c leading zero, думая, что это будет в octal).

В данном случае был выбран 3-й вариант (скорее всего потому, что его чуть-чуть сложнее имплементировать чем №2, а тут же вроде как интервью вопрос, не должно же быть все слишком просто), но ес-но, в зависимости от задачи - можно и вариант №1 имплементировать.
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Re: Facebook puzzles - do they work?

Post by Hamster »

http://tools.ietf.org/html/draft-main-i ... ext-rep-00


So far we have seen dotted octet format in five different types of situation ... All are consistent about dividing the address into octets and representing each octet purely in decimal, but there are two variants of the format due to a more subtle issue. The explicit descriptions of the format given so far have been silent about the permissibility of leading zeroes in octet representations; only one example, a human-oriented table of addresses, used leading zeroes. This variation in the format, presumably initially intended to be of no consequence, lives on today.

Meanwhile, a very popular implementation of IP networking went off in its own direction. 4.2BSD introduced a function inet_aton(), whose job was to interpret character strings as IP addresses. It interpreted both of the syntaxes mentioned in [MTP] (see above): a single number giving the entire 32-bit address, and dot-separated octet values. It also interpreted two intermediate syntaxes: octet-dot-octet-dot-16bits, intended for class B addresses, and octet-dot-24bits, intended for class A addresses. It also allowed some flexibility in how the individual numeric parts were specified: it allowed octal and hexadecimal in addition to decimal, distinguishing these radices by using the C language syntax involving a prefix "0" or "0x", and allowed the numbers to be arbitrarily long.

The 4.2BSD inet_aton() has been widely copied and imitated, and so is a de facto standard for the textual representation of IPv4 addresses. Nevertheless, these alternative syntaxes have now fallen out of use (if they ever had significant use). All the forms except for decimal octets are seen as non-standard (despite being quite widely interoperable) and undesirable.
Протоукр
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

и все потому что автор задачи не подумавши брякнул про IP-адрес. Возможно этим он дико смутил интервьюируемых так как изначально озвученная постановка существенно отличается от последующего разьяснения. Вот у меня в голове это IP как отложилось, так соответственно и заполнение нулями не отсеклось.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:и все потому что автор задачи не подумавши брякнул про IP-адрес. Возможно этим он дико смутил интервьюируемых так как изначально озвученная постановка существенно отличается от последующего разьяснения. Вот у меня в голове это IP как отложилось, так соответственно и заполнение нулями не отсеклось.
Автор все сделал правильно, чтобы было куда двигатся в обсуждении если вдруг человек отвечает на все вопросы быстро (такое тоже бывает).
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки, ожидаемое решение которой путем циклического перебора выглядит мягко говоря неуместным.
Last edited by Мальчик-Одуванчик on 03 Jul 2012 23:45, edited 1 time in total.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.

PS: как вы выразились нормальный/работающий "кошкин высер в виде распознавания числовой строки" - немогут сделать большинство кандидатов за 20-30 минут.
Last edited by dmicher on 03 Jul 2012 23:47, edited 1 time in total.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

dmicher wrote:
Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.
Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.
Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.
Никто никого не путает, дана задача, даны примеры дальше делайте как хотите и что хотите при этом написав код. Хотите так делайте так никто не запрещает - важен процесс мозговой активности и результат этой активности. А если человек из простой задачи делайт космический корабль и в результате не имеет нитого ни другого за 30 мин то это не ко мне.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

dmicher wrote:
Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.

PS: как вы выразились нормальный/работающий "кошкин высер в виде распознавания числовой строки" - немогут сделать большинство кандидатов за 20-30 минут.
А может они просто охеревают от ожиданий интервьюера и заваливают тест с целью поскорее сбежать?
Меня бы попросили на плюсах циклом посчитать сумму вектора - был бы очень удивлен.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

dmicher wrote:
Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.
Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.
Никто никого не путает, дана задача, даны примеры дальше делайте как хотите и что хотите при этом написав код. Хотите так делайте так никто не запрещает - важен процесс мозговой активности и результат этой активности. А если человек из простой задачи делайт космический корабль и в результате не имеет нитого ни другого за 30 мин то это не ко мне.
Полная валидация IP-адреса это не отгадка за 30 минут. Для начала научитесь сами корректно ставить задачи.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.

PS: как вы выразились нормальный/работающий "кошкин высер в виде распознавания числовой строки" - немогут сделать большинство кандидатов за 20-30 минут.
А может они просто охеревают от ожиданий интервьюера и заваливают тест с целью поскорее сбежать?
Меня бы попросили на плюсах циклом посчитать сумму вектора - был бы очень удивлен.
Ну у каждого свои подходы у меня всегда две задачи одна алгоритмическая, вторая на самые азы так сказать. Иногда люди даже цикл нормально написать не могут или рекурсию какую-нибудь хотя в резюме 5-10 лет опыта красуется.

Да кстате, согласен что эти задачи не ответят на вопрос на скоко крут чувак если он все решил. Проверка сениорности это совсем другой процесс.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.
Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.
Никто никого не путает, дана задача, даны примеры дальше делайте как хотите и что хотите при этом написав код. Хотите так делайте так никто не запрещает - важен процесс мозговой активности и результат этой активности. А если человек из простой задачи делайт космический корабль и в результате не имеет нитого ни другого за 30 мин то это не ко мне.
Полная валидация IP-адреса это не отгадка за 30 минут. Для начала научитесь сами корректно ставить задачи.
А я где то про полную валидацию говорил? только в самом первом посте быстро писал и не уточнил потом сразу добавил:
dmicher wrote:Абсолютно никаких :) тупо распарсить строку "A.B.C.D" где A,B,C,D - целые числа от 0 до 255 и если это так вернуть true.
Иногда упрощаю до вида "A.B" :))))
Но даже если человек начинает рассуждать по поводу IP это нормально - грамотный человек будет рассуждать до тех пор пока будет уверен что за 30 минут так или иначе его рассуждения преобразуются в результат какой-то. Люди сами упростят задачу если это нужно в результате их рассуждений чтобы успеть что-то сделать - это тоже важно.
Last edited by dmicher on 04 Jul 2012 00:14, edited 1 time in total.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D - или "грамотный человек" должен это из Вас клещами вытягивать?
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

что касается утверждения "без всяких библиотек" - это тоже понимать буквально?
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:что касается утверждения "без всяких библиотек" - это тоже понимать буквально?
Каждый понимает как хочет, мне бы хотелось чтобы человек пользовался вещами описанными в стандарте языка - что они и делают, так как я иногда на нужном уровне не знаю все языки на которых пишут люди, а тем более библиотеки - но большинство покрайней мере на базовом уровне вкуриваю - а этого для этой задаче достаточно.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

dmicher wrote:
Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.
Не только - есть еще масса других вариантов строкового представления целых чисел, в частности кодировки самой строки. Но даже преобразование строк в числа подразумевает обращение к стандартной библиотеке в том же C от которой, по условиям задачи "без всяких библиотек", нужно отказаться.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.
Не только - есть еще масса других вариантов строкового представления целых чисел, в частности кодировки самой строки. Но даже преобразование строк в числа подразумевает обращение к стандартной библиотеке в том же C от которой, по условиям задачи "без всяких библиотек", нужно отказаться.
Зачем обращатся к библиотеке чтобы преобразовать строку (представляющую максимум 3х значное число) в число в С? Но даже если кто-то и пользует я не сильно придираюсь.
dmicher
Уже с Приветом
Posts: 376
Joined: 14 May 2011 00:48

Re: Facebook puzzles - do they work?

Post by dmicher »

dmicher wrote:
Мальчик-Одуванчик wrote:
dmicher wrote:
Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.
Не только - есть еще масса других вариантов строкового представления целых чисел, в частности кодировки самой строки. Но даже преобразование строк в числа подразумевает обращение к стандартной библиотеке в том же C от которой, по условиям задачи "без всяких библиотек", нужно отказаться.
Зачем обращатся к библиотеке чтобы преобразовать строку (представляющую максимум 3х значное число) в число?
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

Ну хотя бы затем что , к примеру, преобразование строки в юникодном формате в число без использования стандартной библиотеки сама по себе задачка на 30 минут минимум.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Facebook puzzles - do they work?

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

А если вам метапрограмму на плюсах приведут в качестве решения - тоже попросите переделать под цикл?

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