Facebook puzzles - do they work?
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
ping 0xa.0xb.0xc.0xd
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
Re: Facebook puzzles - do they work?
thanks god we have filter_var($ip, FILTER_VALIDATE_IP )
Бога нет.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Facebook puzzles - do they work?
Стенкин, ну вам же никто выше не писал что функция сортировки тоже в некоторых языках уже реализована.stenking wrote:thanks god we have filter_var($ip, FILTER_VALIDATE_IP )
In vino Veritas!
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
ну адрес 010.010.010.010 ведь не перестает быть валидным?
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Facebook puzzles - do they work?
Зависит. Например, родная питоновская socket.inet_pton не понимает octal числа в IP адресе и трактует их как обычные десятичные числа (фактически откидывая ноль). Т.е. тут нам нужно решить из нескольких вариантов:Мальчик-Одуванчик wrote:ну адрес 010.010.010.010 ведь не перестает быть валидным?
1. или мы вводим поддержку octal чисел, тогда мы не просто модифицируем валидатор, но и должны уметь преобразовывать компоненты IP адреса из octal в decimal
2. или мы поступаем как inet_pton работает и просто игнорируем нули
3. или мы валидируем на отсутствие leading zero, чтобы не было никаких неоднозначностей (а то кто-то передаст число c leading zero, думая, что это будет в octal).
В данном случае был выбран 3-й вариант (скорее всего потому, что его чуть-чуть сложнее имплементировать чем №2, а тут же вроде как интервью вопрос, не должно же быть все слишком просто), но ес-но, в зависимости от задачи - можно и вариант №1 имплементировать.
-
- Уже с Приветом
- Posts: 11475
- Joined: 20 Nov 2000 10:01
- Location: Escondido, CA
Re: Facebook puzzles - do they work?
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.
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.
Протоукр
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
и все потому что автор задачи не подумавши брякнул про IP-адрес. Возможно этим он дико смутил интервьюируемых так как изначально озвученная постановка существенно отличается от последующего разьяснения. Вот у меня в голове это IP как отложилось, так соответственно и заполнение нулями не отсеклось.
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Автор все сделал правильно, чтобы было куда двигатся в обсуждении если вдруг человек отвечает на все вопросы быстро (такое тоже бывает).Мальчик-Одуванчик wrote:и все потому что автор задачи не подумавши брякнул про IP-адрес. Возможно этим он дико смутил интервьюируемых так как изначально озвученная постановка существенно отличается от последующего разьяснения. Вот у меня в голове это IP как отложилось, так соответственно и заполнение нулями не отсеклось.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки, ожидаемое решение которой путем циклического перебора выглядит мягко говоря неуместным.
Last edited by Мальчик-Одуванчик on 03 Jul 2012 23:45, edited 1 time in total.
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
PS: как вы выразились нормальный/работающий "кошкин высер в виде распознавания числовой строки" - немогут сделать большинство кандидатов за 20-30 минут.
Last edited by dmicher on 03 Jul 2012 23:47, edited 1 time in total.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.dmicher wrote:Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Никто никого не путает, дана задача, даны примеры дальше делайте как хотите и что хотите при этом написав код. Хотите так делайте так никто не запрещает - важен процесс мозговой активности и результат этой активности. А если человек из простой задачи делайт космический корабль и в результате не имеет нитого ни другого за 30 мин то это не ко мне.Мальчик-Одуванчик wrote:Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.dmicher wrote:Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
А может они просто охеревают от ожиданий интервьюера и заваливают тест с целью поскорее сбежать?dmicher wrote:Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
PS: как вы выразились нормальный/работающий "кошкин высер в виде распознавания числовой строки" - немогут сделать большинство кандидатов за 20-30 минут.
Меня бы попросили на плюсах циклом посчитать сумму вектора - был бы очень удивлен.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
Полная валидация IP-адреса это не отгадка за 30 минут. Для начала научитесь сами корректно ставить задачи.dmicher wrote:Никто никого не путает, дана задача, даны примеры дальше делайте как хотите и что хотите при этом написав код. Хотите так делайте так никто не запрещает - важен процесс мозговой активности и результат этой активности. А если человек из простой задачи делайт космический корабль и в результате не имеет нитого ни другого за 30 мин то это не ко мне.Мальчик-Одуванчик wrote:Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.dmicher wrote:Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Ну у каждого свои подходы у меня всегда две задачи одна алгоритмическая, вторая на самые азы так сказать. Иногда люди даже цикл нормально написать не могут или рекурсию какую-нибудь хотя в резюме 5-10 лет опыта красуется.Мальчик-Одуванчик wrote:А может они просто охеревают от ожиданий интервьюера и заваливают тест с целью поскорее сбежать?dmicher wrote:Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
PS: как вы выразились нормальный/работающий "кошкин высер в виде распознавания числовой строки" - немогут сделать большинство кандидатов за 20-30 минут.
Меня бы попросили на плюсах циклом посчитать сумму вектора - был бы очень удивлен.
Да кстате, согласен что эти задачи не ответят на вопрос на скоко крут чувак если он все решил. Проверка сениорности это совсем другой процесс.
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
А я где то про полную валидацию говорил? только в самом первом посте быстро писал и не уточнил потом сразу добавил:Мальчик-Одуванчик wrote:Полная валидация IP-адреса это не отгадка за 30 минут. Для начала научитесь сами корректно ставить задачи.dmicher wrote:Никто никого не путает, дана задача, даны примеры дальше делайте как хотите и что хотите при этом написав код. Хотите так делайте так никто не запрещает - важен процесс мозговой активности и результат этой активности. А если человек из простой задачи делайт космический корабль и в результате не имеет нитого ни другого за 30 мин то это не ко мне.Мальчик-Одуванчик wrote:Очень похоже на китайскую методу - сначала запутать, а в конце выдать решение совершенно другой задачи.dmicher wrote:Интервьвер знает что такое маска подсети и большинство что с этим связано и до определенной глубины может позволить отклонится от цели. По достижении какогото предела отвечающий будет направлен в нужное русло.Мальчик-Одуванчик wrote:и что делать если вдруг выяснится что интервьюирующий не знает что такое маска подсети во время уточнения условий задачи? И в итоге вместо вместо задачи определенной сложности, подразумевающей как минимум обращение к исходной документации подразумевается кошкин высер в виде распознавания числовой строки.
Но даже если человек начинает рассуждать по поводу IP это нормально - грамотный человек будет рассуждать до тех пор пока будет уверен что за 30 минут так или иначе его рассуждения преобразуются в результат какой-то. Люди сами упростят задачу если это нужно в результате их рассуждений чтобы успеть что-то сделать - это тоже важно.dmicher wrote:Абсолютно никаких тупо распарсить строку "A.B.C.D" где A,B,C,D - целые числа от 0 до 255 и если это так вернуть true.
Иногда упрощаю до вида "A.B" )))
Last edited by dmicher on 04 Jul 2012 00:14, edited 1 time in total.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D - или "грамотный человек" должен это из Вас клещами вытягивать?
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
что касается утверждения "без всяких библиотек" - это тоже понимать буквально?
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Каждый понимает как хочет, мне бы хотелось чтобы человек пользовался вещами описанными в стандарте языка - что они и делают, так как я иногда на нужном уровне не знаю все языки на которых пишут люди, а тем более библиотеки - но большинство покрайней мере на базовом уровне вкуриваю - а этого для этой задаче достаточно.Мальчик-Одуванчик wrote:что касается утверждения "без всяких библиотек" - это тоже понимать буквально?
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
Не только - есть еще масса других вариантов строкового представления целых чисел, в частности кодировки самой строки. Но даже преобразование строк в числа подразумевает обращение к стандартной библиотеке в том же C от которой, по условиям задачи "без всяких библиотек", нужно отказаться.dmicher wrote:Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
Зачем обращатся к библиотеке чтобы преобразовать строку (представляющую максимум 3х значное число) в число в С? Но даже если кто-то и пользует я не сильно придираюсь.Мальчик-Одуванчик wrote:Не только - есть еще масса других вариантов строкового представления целых чисел, в частности кодировки самой строки. Но даже преобразование строк в числа подразумевает обращение к стандартной библиотеке в том же C от которой, по условиям задачи "без всяких библиотек", нужно отказаться.dmicher wrote:Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
-
- Уже с Приветом
- Posts: 376
- Joined: 14 May 2011 00:48
Re: Facebook puzzles - do they work?
dmicher wrote:Зачем обращатся к библиотеке чтобы преобразовать строку (представляющую максимум 3х значное число) в число?Мальчик-Одуванчик wrote:Не только - есть еще масса других вариантов строкового представления целых чисел, в частности кодировки самой строки. Но даже преобразование строк в числа подразумевает обращение к стандартной библиотеке в том же C от которой, по условиям задачи "без всяких библиотек", нужно отказаться.dmicher wrote:Это доп вопросы и тест кейсы которые человек в идеале должен проверить и сказать что '01' это не валидный сценарий в моей реализации или наоборот меня все устроит - к мелочам никто не придирается.Мальчик-Одуванчик wrote:пожалуй как минимум, стоило бы указать формат в котором заданы числа A,B,C,D
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
Ну хотя бы затем что , к примеру, преобразование строки в юникодном формате в число без использования стандартной библиотеки сама по себе задачка на 30 минут минимум.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Facebook puzzles - do they work?
А если вам метапрограмму на плюсах приведут в качестве решения - тоже попросите переделать под цикл?