Re[3]: Оцените плс тестовое задание и результат
От: StandAlone  
Дата: 01.03.11 10:55
Оценка:
Здравствуйте, avpavlov, Вы писали:

AF>>Ну правильно, не надо было вообще делать это задание. Посыл таких существ на три буквы — самое правильное решение.


A>Посыл кого-либо на три буквы в ответ на необязывающую просьбу (когда можно просто отказаться) гарантировано позволяет детектить сказочных чудаков на букву М.


Ага, вот и собеседующие, которые в дальнейшем запрещают людям слущать музыку за рабочей машиной.
Сказочных кого, говорите, позволяют детектировать такие задания?
Re[4]: Оцените плс тестовое задание и результат
От: avpavlov  
Дата: 01.03.11 11:02
Оценка:
SA>Ага, вот и собеседующие, которые в дальнейшем запрещают людям слущать музыку за рабочей машиной.
SA>Сказочных кого, говорите, позволяют детектировать такие задания?

Такие задания позволяют детектировать компании, куда стоит или не стоит идти (в зависимости от предпочтений)
А вот посыл на три буквы позволяет детектировать сказочных ... ну и далее по тексту
Re[4]: угу
От: Synapse  
Дата: 01.03.11 19:24
Оценка:
Здравствуйте, scale_tone,

По-моему, они дураки, что вас не взяли. Видно, что человек умеет писать хороший код и не писать плохой, а в этом и состоит наша профессия.
Re[5]: Оцените плс тестовое задание и результат
От: AlexFox  
Дата: 01.03.11 21:39
Оценка:
Здравствуйте, avpavlov, Вы писали:

A>А вот посыл на три буквы позволяет детектировать сказочных ... ну и далее по тексту


А Вы не стесняйтесь, avpavlov. Что Вы слова-то проглатываете. Говорите раз начали — сказочных М-У-Д-А-К-О-В.
Re: Оцените плс тестовое задание и результат
От: Alexey Neorov Россия  
Дата: 01.03.11 22:06
Оценка: 1 (1)
Здравствуйте, Karn, Вы писали:

K>после этого мне пришел ответ с отказом и комментариями тамошнего эксперта. Мне лично(наверное, больное самолюбие) комментарии

K>к отказу показались недостаточно существенными. Если вы посмотрите задание, решение и причины отказа, буду крайне благодарен.
K>Просто на мой взгляд задание я выполнил неплохо, и мне интересно насколько глубоко я ошибаюсь.

Да вообще не стоило делать это задание. Это где такое видано, чтобы столько времени тратить на задачу, ещё и неоплачиваемую, да и к тому же, не факт, что взяли бы на работу. Я бы $100 взял за реализацию. А тут бесплатно хотят в качестве тестового задания.
Re[3]: Оцените плс тестовое задание и результат
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 02.03.11 03:38
Оценка: +1
Здравствуйте, placement_new, Вы писали:

_>Здравствуйте, TimurSPB, Вы писали:


TSP>>Ну конечно, OOD это обязательно для парсера ссылок. А без Visual Studio 2010 так и вообще абсурд, браться за решение этой грандиозной задачи.


_>мысла тестового задания ты так и не понял.



Да его тут как бы и нет. Что проверяет это тестовое задание совершенно не ясно. Умение писать простейшие регулярки? Знание что такое рекурсия и ее ограничения на практике? Наличие дома Windows с пиратской Визуал Студией?
Re[4]: Оцените плс тестовое задание и результат
От: placement_new  
Дата: 02.03.11 05:19
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, placement_new, Вы писали:


_>>Здравствуйте, TimurSPB, Вы писали:


TSP>>>Ну конечно, OOD это обязательно для парсера ссылок. А без Visual Studio 2010 так и вообще абсурд, браться за решение этой грандиозной задачи.


_>>мысла тестового задания ты так и не понял.



KP>Да его тут как бы и нет. Что проверяет это тестовое задание совершенно не ясно. Умение писать простейшие регулярки? Знание что такое рекурсия и ее ограничения на практике? Наличие дома Windows с пиратской Визуал Студией?


Да я не об этом. Я о том, что раз комманда использует OOD, то и задание от них тоже надо делать в таком стиле, не важно хорош или плох этот подход.
Re[5]: угу
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 02.03.11 06:43
Оценка:
Здравствуйте, Synapse, Вы писали:

S>По-моему, они дураки, что вас не взяли. Видно, что человек умеет писать хороший код и не писать плохой, а в этом и состоит наша профессия.


Они не дураки, они просто выдают Denial of Service. Наплыв "специалистов" слишком велик — сотни запросов в день. Я стопроцентно уверен, что ревью был скопипейстчен.
Re[6]: Оцените плс тестовое задание и результат
От: avpavlov  
Дата: 02.03.11 07:28
Оценка:
AF>А Вы не стесняйтесь, avpavlov. Что Вы слова-то проглатываете. Говорите раз начали — сказочных М-У-Д-А-К-О-В.
AF>

За это слово здесь банят, во всяком случае меня
Re: Оцените плс тестовое задание и результат
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 02.03.11 08:09
Оценка: +1
Честно сказать, твое решение у меня вызвало шок. Нет, я конечно знал что дотнетчики страдают чрезмерным увлечением дизайном и архитектурой, но чтоб на столько.
Вобщем-то, данная задача решается в рамках простейшего приложения состоящего из 4-х основных + 5-10 вспомогательных функций:
  • чтение конфигурации;
  • загрузка страницы;
  • поиск ссылок ссылки на странице;
  • проверка найденной ссылки на уникальность.
    Уж не знаю что за странные люди дали тебе эту задачу, и какие там ожидались ООП извраты, но это задача для 1-ого файла на ANSI-C.
  • Re[2]: Оцените плс тестовое задание и результат
    От: StandAlone  
    Дата: 02.03.11 08:24
    Оценка: +1
    Здравствуйте, kaa.python, Вы писали:

    KP>Честно сказать, твое решение у меня вызвало шок. Нет, я конечно знал что дотнетчики страдают чрезмерным увлечением дизайном и архитектурой, но чтоб на столько.

    KP>Вобщем-то, данная задача решается в рамках простейшего приложения состоящего из 4-х основных + 5-10 вспомогательных функций:
    KP>
  • чтение конфигурации;
    KP>
  • загрузка страницы;
    KP>
  • поиск ссылок ссылки на странице;
    KP>
  • проверка найденной ссылки на уникальность.
    KP>Уж не знаю что за странные люди дали тебе эту задачу, и какие там ожидались ООП извраты, но это задача для 1-ого файла на ANSI-C.

    У меня вообще-то тоже, несмотря на многолетний стаж дотнета. Принцип KISS универсален.
    Разбиение на подзадачи неверное, кстати
    0. Чтение конфигурации.
    1. Загрузка страницы
    2. Получение всех линков.
    3. Отправка линков в некоторое хранилище, которое автоматом обеспечит их уникальность(напрашивается словарь, можно еще и частотный анализ линков прикрутить)
    4. Spawn объектов(или потоков, хотя не факт, что наиболее эффективно) для повторения шагов 1-3 для каждого из полученных линков, пока не достигнута заданная глубина.
    5. Вывод результатов в консоль.
    6. Сохранение результатов в файл.

    Т.е. примерно 5-6 основных сущностей надо. Многопоточность нужна только для шагов 1 и 2(пока скачивается страница, обрабатывать уже скачанные).

    1м файлом тяжеловато будет решить. Или же полученный набор функций будет иметь весьма нетривиальную и запутанную логику.
  • Re[3]: Оцените плс тестовое задание и результат
    От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
    Дата: 02.03.11 08:33
    Оценка:
    Здравствуйте, StandAlone, Вы писали:

    SA>Т.е. примерно 5-6 основных сущностей надо. Многопоточность нужна только для шагов 1 и 2(пока скачивается страница, обрабатывать уже скачанные).


    Хватит 5-ти функций, про файл я проморгал, каюсь Многопоточность не входит в рамки задачи и как следствие не нужна.

    SA>1м файлом тяжеловато будет решить. Или же полученный набор функций будет иметь весьма нетривиальную и запутанную логику.


    Да нормально это одним файлом решится, в крайнем случае на Си. cURL + например sglib для rb-дерева хватит за глаза. Задача слишком примитивна чтоб городить какие-то сущности и прочее.

    Вобщем мне очень интересно было бы знать, в какой компании дают на столько странные тестовые задачи
    Re[4]: Оцените плс тестовое задание и результат
    От: StandAlone  
    Дата: 02.03.11 08:43
    Оценка:
    Здравствуйте, kaa.python, Вы писали:

    KP>Хватит 5-ти функций, про файл я проморгал, каюсь Многопоточность не входит в рамки задачи и как следствие не нужна.


    Да как не нужна? Классика же. Интенсивная работа с сетью как бы явно намекает на то, что задачи скачивания лучше отдать в отдельные потоки, и завести еще один для обработки полученных результатов.

    KP>Да нормально это одним файлом решится, в крайнем случае на Си. cURL + например sglib для rb-дерева хватит за глаза.


    Эээ...а дерево тут зачем, пардону просю за тупость? Для хранения уникальных линков вполне хватит обычного словаря

    KP>Задача слишком примитивна чтоб городить какие-то сущности и прочее.


    Сущности нужны, как минимум, для separation of concerns и последующего тестирования.
    Мне один коллега вообще предложил все решить одним циклом..

    KP>Вобщем мне очень интересно было бы знать, в какой компании дают на столько странные тестовые задачи


    Тут же пробегало название. Касперычи это, родимые.
    Re[5]: Оцените плс тестовое задание и результат
    От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
    Дата: 02.03.11 08:48
    Оценка:
    Здравствуйте, StandAlone, Вы писали:

    SA>Да как не нужна? Классика же. Интенсивная работа с сетью как бы явно намекает на то, что задачи скачивания лучше отдать в отдельные потоки, и завести еще один для обработки полученных результатов.


    Ты либо не работал с сетью, либо что… Но в сети, в случае с клиентскими приложениями, случаи когдна нужна многопоточность можно по пальцам пересчитать. Почти всегда хватает асинхронного IO.

    SA>Эээ...а дерево тут зачем, пардону просю за тупость? Для хранения уникальных линков вполне хватит обычного словаря


    В sglib нет словаря. А чего-то такого же компактного но со словарем я сходу вспомнить не сумел.

    SA>Мне один коллега вообще предложил все решить одним циклом..


    Тоже вариант.

    SA>Тут же пробегало название. Касперычи это, родимые.


    Кхм… Занятно
    Re[7]: Оцените плс тестовое задание и результат
    От: BulatZiganshin  
    Дата: 02.03.11 08:53
    Оценка:
    Здравствуйте, michael_isu, Вы писали:

    _>Смысл есть, т.к. канал при загрузке страницы занимается не полностью, поэтому если одновременно грузить 100 страниц в 100 потоках — загрузятся все за не намногим большее время, чем если грузить 1 страницу.


    большую часть времени занимает вообще ping. вон у меня до москвы (1000 км) 20-40 мс, до америки на порядок больше
    Люди, я люблю вас! Будьте бдительны!!!
    Re[2]: Оцените плс тестовое задание и результат
    От: BulatZiganshin  
    Дата: 02.03.11 08:59
    Оценка:
    Здравствуйте, Synapse, Вы писали:

    S>Запихивание в подобные утилиты юнит-тестов и тем более контейнеров мне кажется разновидностью онанизма. В тестах больше кода, чем в самой программе. Мне недавно дали задание сделать практически то же самое с веб-мордой, получилось двести строк на Питоне, включая свой тред-пул, пока, правда, не ответили.


    приходит человек устраиваться водителем карьерного самосвала. ему говорят:
    — резюме у вас отличное, но мы хотели бы дать вам тестовое задание
    — давайте
    — вы понимаете, что в карьер мы вас пустить не можем, поэтому продемонстрируйте своё умение водить БелАЗ, перевезя вот эту булавочку моей секретарше

    сама суть тех знаний, которые ожидаются от ведущего, архитектора и т.д. — в том, что это знания, необходимые только на крупных проектах. на вышеупомянутую задачу можно посадить студента, и он её решит в 10 строчек ничего не зная об ооп или ют

    и что ты предлагаешь — давать тест на 10 месяцев? :D поэтому тут необходимо проявить некоторое воображение и написать нечто подобное известному файлу в 50 строк, осуществляющему сложение двух чисел. и разумеется, у проверяющего тоже должно быть это понимание и ни малейших придирок к тому, что на 50 строк кода приходится 10 классов и 100 тестов
    Люди, я люблю вас! Будьте бдительны!!!
    Re[6]: Оцените плс тестовое задание и результат
    От: StandAlone  
    Дата: 02.03.11 09:03
    Оценка:
    Здравствуйте, kaa.python, Вы писали:

    KP>Ты либо не работал с сетью, либо что… Но в сети, в случае с клиентскими приложениями, случаи когдна нужна многопоточность можно по пальцам пересчитать. Почти всегда хватает асинхронного IO.


    Бггг. Так асинхронный ИО тоже будет в том одном файлике?

    SA>>Мне один коллега вообще предложил все решить одним циклом..


    KP>Тоже вариант.


    Очень расширяемый и тестируемый, да
    Re[7]: Оцените плс тестовое задание и результат
    От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
    Дата: 02.03.11 09:05
    Оценка:
    Здравствуйте, StandAlone, Вы писали:

    SA>Бггг. Так асинхронный ИО тоже будет в том одном файлике?


    Нет, тут все синхронно. Ответ про асинхронность относился к тому, что сети и куча потоков вобщем-то крайне мало связаны.
    Re[3]: Оцените плс тестовое задание и результат
    От: StandAlone  
    Дата: 02.03.11 09:05
    Оценка:
    Здравствуйте, BulatZiganshin, Вы писали:

    BZ>и что ты предлагаешь — давать тест на 10 месяцев? :D поэтому тут необходимо проявить некоторое воображение и написать нечто подобное известному файлу в 50 строк, осуществляющему сложение двух чисел. и разумеется, у проверяющего тоже должно быть это понимание и ни малейших придирок к тому, что на 50 строк кода приходится 10 классов и 100 тестов


    ИМХО, это все равно не причина делать гусеничный велосипед с независимой торсионной подвеской. Разве что топикстартеру очень хотелось попрограммировать и нечем было больше заняться...
    Или он спер это решение где-то в сети и мальца перелицевал под себя
    Re[3]: Оцените плс тестовое задание и результат
    От: BulatZiganshin  
    Дата: 02.03.11 09:06
    Оценка:
    Здравствуйте, StandAlone, Вы писали:

    SA>Т.е. примерно 5-6 основных сущностей надо. Многопоточность нужна только для шагов 1 и 2(пока скачивается страница, обрабатывать уже скачанные).


    hint: два мелких файла скачаются за то же время, что и один

    если говорить об эффективном решении, то надо брать пул зелёных потоков, делать очередь http-запросов и очередь скачанных страниц. да и парсить страницы эффективней в несколько потоков на современных cpu
    Люди, я люблю вас! Будьте бдительны!!!
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.