Re[5]: Про тестовое задание. Попинайте пожалуйста.
От: Donz Россия http://donz-ru.livejournal.com
Дата: 04.09.12 09:17
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Это задачка не на какую-то супер-мега-анти-коуплинг-кохесинг-ажайл-архитектуру. Это попытка проверить, знает ли архитектор, какие бывают кирпичи. Чего такого свехъестественного, ну пускай даже просто сложненького в ней? Мне кажется, это даже проще должно быть для кандидата, чем обсуждение сортировок.


Я и не говорю, что она сложная. Она слишком абстрактная в большинстве случаев, что противоречит твоему нежеланию проверять знания, лежащие без дела. Я указал только на это. Задачка, как я уже сказал, вполне нормальная.
Меня как-то попросили рассказать, как бы я организовал ThreadPool и никаких гуглей, доков и ручки с бумагой.

_FR>Нет. Тут вот какое дело. FizzBuzz это мелочи. Я хочу проверить самым ненапряжным для кандидата образом именно умение комплексно мыслить, смотреть на проблему с разных углов зрения (а на дизайн именно так и требуется смотреть).


Ну не знаю, мелочи ли. Например, ООП программист, который не знает азы наследования, у меня вызывает сильное подозрение. Ладно, это уже оффтоп.
Re[4]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 09:19
Оценка:
Здравствуйте, namespace, Вы писали:

_FR>>Будьте добры, ответьте в таком случае, зачем нужен тип DateTime

N>Это вопрос риторический.

Это ещё почему? Есть есть тип, значит он зачем-то нужен. Иначе его быть не должно.

N>А вот зачем нужен Ваш новый тип — очень даже практический.


Это я обязательно объясняю зачем. Для например предоставления информации о датах рождения-смерти человека.

N>Кидаться проектировать, не поняв задачу до конца — не есть гут.


В задаче мне кажется всё чётко сформулировано. Вы почему-то один раз уже не ответили на прямой вапрос выше "Что в постановке не чётко сформулировано?" но уже повторили своё мнение
Help will always be given at Hogwarts to those who ask for it.
Re[7]: Про тестовое задание. Попинайте пожалуйста.
От: Handie  
Дата: 04.09.12 09:26
Оценка:
_FR>Вовсе нет. Во-первых, это совсем не "аналог double". почему — это следует обсудить в профильном форуме. Во-вторых, это тип, описывающий _расстояние_ между двумя точками на числовой оси. Я прошу другое: "отрезок времени между двумя датами". Конкретными датами. На недопонимании формулировки никого не ловлю — объясняю разницу, что нужно не просто "две секунды", а "от второго февраля 2012 по 13 марта 2014".


class DateInterval {
    public DateTime start;
    public DateTime end;
}



TimeSpan есть обертка вокруг double с методами "дай в секундах", "дай в минутах", "дай в сутках"
Re[3]: Про тестовое задание. Попинайте пожалуйста.
От: Handie  
Дата: 04.09.12 09:28
Оценка: +1
_FR>Откуда какие-то догадки про переусложнизм? Попробуйте пожалуйста мне ответить — что вообще сложного в том, что я спрашиваю? Угадать чего я ожидаю — на самом деле совсем не сложно, но главное это и не нужно. Нужно что-то предоставить а потом ответить, зачем есть то что есть и почему нет того чего нет.

Переусложизнм — поиск сложного решения, вместо простого. Простое

class DateInterval {
    public DateTime start;
    public DateTime end;
}
Re[7]: Про тестовое задание. Попинайте пожалуйста.
От: namespace  
Дата: 04.09.12 09:30
Оценка:
_FR>Во-вторых, это тип, описывающий _расстояние_ между двумя точками на числовой оси. Я прошу другое: "отрезок времени между двумя датами". Конкретными датами. На недопонимании формулировки никого не ловлю — объясняю разницу, что нужно не просто "две секунды", а "от второго февраля 2012 по 13 марта 2014".
Это не "_расстояние_ между двумя точками", а расстояние, смещение от конкретной точки.
Разница существенна.
И это не тянет на задание, просто вопрос на подумать-прикинуть.
Если все же это задание, то требуется выяснить дополнительные условия.
Re[6]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 09:30
Оценка:
Здравствуйте, Donz, Вы писали:

_FR>>Это задачка не на какую-то супер-мега-анти-коуплинг-кохесинг-ажайл-архитектуру. Это попытка проверить, знает ли архитектор, какие бывают кирпичи. Чего такого свехъестественного, ну пускай даже просто сложненького в ней? Мне кажется, это даже проще должно быть для кандидата, чем обсуждение сортировок.

D>Я и не говорю, что она сложная. Она слишком абстрактная в большинстве случаев,

Не более абстрактная, чем написание типов DateTime и TimeSpan и DateTimeOffset, однако три вышеперечисленных решены с той или иной долей успеха. "Взрослый" программист конечно же должен уметь решать абстрактные задачии. Более того — мывслить абстрактно тоже должен уметь. Но это задача к абстракциям не имеет прямого отношения. Это чисто хорошее знание некоторых вещей в дотнете. Ничего более.

D>что противоречит твоему нежеланию проверять знания, лежащие без дела. Я указал только на это. Задачка, как я уже сказал, вполне нормальная.


Я нигде не высказывал нежелания проверять знания, лежащие без дела. Я говорил о важности одного в данном конкретном случае. Другое так же несомненно имеет важность но в другом случае, по моему мнению.

_FR>>Нет. Тут вот какое дело. FizzBuzz это мелочи. Я хочу проверить самым ненапряжным для кандидата образом именно умение комплексно мыслить, смотреть на проблему с разных углов зрения (а на дизайн именно так и требуется смотреть).

D>Ну не знаю, мелочи ли. Например, ООП программист, который не знает азы наследования, у меня вызывает сильное подозрение. Ладно, это уже оффтоп.

Да, это проверяется совсем другим. Я не хочу сейчас узнать как и что нужно спрашивать на собеседованиях. Я хочу узнать, не ерунду ли я спрашиваю? То есть должен ли программист это знать? А связь тут в том, что, оказывается, с такой простой задачей мало кто может справиться.
Help will always be given at Hogwarts to those who ask for it.
Re[5]: Про тестовое задание. Попинайте пожалуйста.
От: namespace  
Дата: 04.09.12 09:39
Оценка:
За меня Handie ответил.
И вот еще дополнительные вопросы: точность 1 день, месяц, год? А может точность должна быть различной(несколько типов)?
Вариантов много, и здесь возникает больше вопросов, чем написанного кода.
Re[8]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 09:40
Оценка:
Здравствуйте, Handie, Вы писали:

_FR>>Вовсе нет. Во-первых, это совсем не "аналог double". почему — это следует обсудить в профильном форуме. Во-вторых, это тип, описывающий _расстояние_ между двумя точками на числовой оси. Я прошу другое: "отрезок времени между двумя датами". Конкретными датами. На недопонимании формулировки никого не ловлю — объясняю разницу, что нужно не просто "две секунды", а "от второго февраля 2012 по 13 марта 2014".

H>class DateInterval {
H>    public DateTime start;
H>    public DateTime end;
H>}


Спасибо. Но вот скажите (перед собеседованием я всё же вижу резюм и то, о чём говорить зависит от того что там сказано о себе, а то, что известно о вашем опыте в дотнете из профиля вообще не способствует даже рассмотрению задания) — вы действителньно претендуете на опытного дотнетчика?

H>TimeSpan есть обертка вокруг double с методами "дай в секундах", "дай в минутах", "дай в сутках"


Садитесь, двойка, как говориться. Рекомендую с вопросами "а чё так" обратиться в профильный форум, тут не об этом.
Help will always be given at Hogwarts to those who ask for it.
Re[8]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 09:42
Оценка:
Здравствуйте, namespace, Вы писали:

_FR>>Во-вторых, это тип, описывающий _расстояние_ между двумя точками на числовой оси. Я прошу другое: "отрезок времени между двумя датами". Конкретными датами. На недопонимании формулировки никого не ловлю — объясняю разницу, что нужно не просто "две секунды", а "от второго февраля 2012 по 13 марта 2014".

N>Это не "_расстояние_ между двумя точками", а расстояние, смещение от конкретной точки.
N>Разница существенна.

Существенна разница, да. var span = TimeSpan.FromSeconds(10); — смещение от какой "конкретной точки", не подскажете?
Help will always be given at Hogwarts to those who ask for it.
Re[6]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 09:45
Оценка:
Здравствуйте, namespace, Вы писали:

N>За меня Handie ответил.

N>И вот еще дополнительные вопросы: точность 1 день, месяц, год? А может точность должна быть различной(несколько типов)?
N>Вариантов много, и здесь возникает больше вопросов, чем написанного кода.

Что в дотнете используется для обозначения даты (временной точки)? Для продолжения разговора огаласите пожалуйста опыт использования дотнета, а то из профиля этого не понять. По вашим с Handie ответам у меня пока есть подозрение, что до этого вопроса наше собеседование бы просто не дошло Если так будет и дальше, то продолжать мне не интересно.
Help will always be given at Hogwarts to those who ask for it.
Re[4]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 09:58
Оценка:
Здравствуйте, Handie, Вы писали:

_FR>>Откуда какие-то догадки про переусложнизм? Попробуйте пожалуйста мне ответить — что вообще сложного в том, что я спрашиваю? Угадать чего я ожидаю — на самом деле совсем не сложно, но главное это и не нужно. Нужно что-то предоставить а потом ответить, зачем есть то что есть и почему нет того чего нет.


H>Переусложизнм — поиск сложного решения, вместо простого. Простое

H>class DateInterval {
H>    public DateTime start;
H>    public DateTime end;
H>}


В таком случае ответье пожалуйста, почему существует тип TimeSpan, а вместо него не используется double как вы настаеваете или не long что было бы более естественно? ну или почему они не сделаны так вот:
class DateTime {
    public long value;
}

?

То есть что тут важно — я не прошу что либо придумывать и "переусложнять". Всё это уже придумано и описано задолго до моего вопроса. Я просто ожидаю увидеть, что вы это знаете. Вы можете сделать так же или совсем по другому, но во втором случае всё равно должны знать почему делаете не так, как уже сделано (это-то в таком случае зачастую и будет переусложнизмом, когда есть всем известный, широко и повсеместно используемый способ решения, а вы предлагаете что-то инновационное).

По сравнению с тем, как спроектирована BCL и как рекомендуют лучшие собаководы — предложенный вами вариант не выдерживает никакой критики. Если же вы не знаете, что и как рекомендуют делать при проектировании в дотнете (например, когда выбирать класс, а когда структуру) — то вам ещё рано считать себя "взрослым" дотнетчиком.
Help will always be given at Hogwarts to those who ask for it.
Re[7]: Про тестовое задание. Попинайте пожалуйста.
От: namespace  
Дата: 04.09.12 10:15
Оценка:
Плохо, может Вам не стоит собеседовать людей?
Я изначально задание неправильно понял, но не стал же сомневаться в Вашей способности постановки задач и спрашивать сколько у Вас лет опыта рекрутинга и проведения собеседований?
Мы не это сейчас обсуждаем. Или не обсуждаем — как Вам угодно.
Re[8]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 10:23
Оценка:
Здравствуйте, namespace, Вы писали:

N>Плохо, может Вам не стоит собеседовать людей?


Может быть. Только скажите почему. Вы же не ответили ни на один вопрос пока

N>Я изначально задание неправильно понял, но не стал же сомневаться в Вашей способности постановки задач и спрашивать сколько у Вас лет опыта рекрутинга и проведения собеседований?


А вы приходя на собеседование это спрашиваете? Мне вот казалось что именно с ознакомления резюме кандидата начинается собеседование. А опыт собеседующего во время собеседования есть офтопик.

N>Мы не это сейчас обсуждаем. Или не обсуждаем — как Вам угодно.


Тему я предложил. Вы что-то ответили. Я задал встречные уточняющие вопросы и ни на один ответа не получил. Наверное мне и правда лучше собеседования с вами не проводить.
Help will always be given at Hogwarts to those who ask for it.
Re[7]: Про тестовое задание. Попинайте пожалуйста.
От: Donz Россия http://donz-ru.livejournal.com
Дата: 04.09.12 10:37
Оценка:
Здравствуйте, _FRED_, Вы писали:

D>>что противоречит твоему нежеланию проверять знания, лежащие без дела. Я указал только на это. Задачка, как я уже сказал, вполне нормальная.

_FR>Я нигде не высказывал нежелания проверять знания, лежащие без дела. Я говорил о важности одного в данном конкретном случае. Другое так же несомненно имеет важность но в другом случае, по моему мнению.

"По-моему, то, на сколько человек умеет пользоваться тем, что знает гораздо важнее (в профессиональном плане и долгосрочной перспективе) …широты, так сказать, знаний, которые "лежат без дела" "
Выделенное, ИМХО, употребляют в случаях, когда что-то практически ничтожно.

_FR>Да, это проверяется совсем другим. Я не хочу сейчас узнать как и что нужно спрашивать на собеседованиях. Я хочу узнать, не ерунду ли я спрашиваю? То есть должен ли программист это знать? А связь тут в том, что, оказывается, с такой простой задачей мало кто может справиться.


Естественно должен. И нет, не ерунду. Но, естественно, нельзя ограничиться только этой задачкой.
Re[8]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 10:49
Оценка:
Здравствуйте, Donz, Вы писали:

D>>>что противоречит твоему нежеланию проверять знания, лежащие без дела. Я указал только на это. Задачка, как я уже сказал, вполне нормальная.

_FR>>Я нигде не высказывал нежелания проверять знания, лежащие без дела. Я говорил о важности одного в данном конкретном случае. Другое так же несомненно имеет важность но в другом случае, по моему мнению.

D>"По-моему, то, на сколько человек умеет пользоваться тем, что знает гораздо важнее (в профессиональном плане и долгосрочной перспективе) …широты, так сказать, знаний, которые "лежат без дела" "

D>Выделенное, ИМХО, употребляют в случаях, когда что-то практически ничтожно.

Считаете важным, что бы я оправдался?
Help will always be given at Hogwarts to those who ask for it.
Re[5]: Про тестовое задание. Попинайте пожалуйста.
От: Handie  
Дата: 04.09.12 11:03
Оценка: 1 (1) +3
_FR>В таком случае ответье пожалуйста, почему существует тип TimeSpan, а вместо него не используется double как вы настаеваете или не long что было бы более естественно? ну или почему они не сделаны так вот:

В JavaScript например d2-d1 дает "double" (number). TimeSpan предлагает только синтаксический сахар в виде конвертеров в дни, часы минуты и т.д.

А Ваше умение поставить задачу привело к тупейшему халивару. Ставить надо точно и конкретно а не филосовскую воду разводить
Re[9]: Про тестовое задание. Попинайте пожалуйста.
От: Donz Россия http://donz-ru.livejournal.com
Дата: 04.09.12 11:05
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Считаете важным, что бы я оправдался?


Нет, просто объясняю, к чему был мой коммент.
Re[6]: Про тестовое задание. Попинайте пожалуйста.
От: _FRED_ Черногория
Дата: 04.09.12 11:37
Оценка:
Здравствуйте, Handie, Вы писали:

_FR>>В таком случае ответье пожалуйста, почему существует тип TimeSpan, а вместо него не используется double как вы настаеваете или не long что было бы более естественно? ну или почему они не сделаны так вот:


H>В JavaScript например d2-d1 дает "double" (number).


Никакого отношения к чему либо обсуждаемому здесь, на мой взгляд, данный факт отношения не имеет. Из данного факты вы делаете какие-то выводы, но совершенно напрасно в контексте выполнения сабжевого задания опытным дотнетчиком.

H>TimeSpan предлагает только синтаксический сахар в виде конвертеров в дни, часы минуты и т.д.


В этом вы не правы. Далеко не "только". За разъяснениями пожалуйста обращайтесь в профильный форум, но не ко мне.

H>А Ваше умение поставить задачу привело к тупейшему халивару. Ставить надо точно и конкретно а не филосовскую воду разводить


То есть моё "умение поставить задачу привело к" возникновению "философской" темы? Нет, я скромнее Вопрос спрашиваю на самом деле сугубо практический. Да, может перемудрил с "отрезком" и "временной осью", но это уже давно выяснилось. Вы же, к сожалению, упорны в своём заблуждении относительно даблов и времени в дотнете — кажется, тупиковость диалога с вами возникает именно из-за этого, а не из-за неточности моей формулировки.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Про тестовое задание. Попинайте пожалуйста.
От: Piko  
Дата: 04.09.12 11:42
Оценка:
Здравствуйте, Handie, Вы писали:

H>Отрезок времени между двумя датами измеряется в секундах и для этого идеально подходит тип double. Если вместо double надо сделать гомоморфно-анизотропный синхрофазотрон, то это много говорит об интеллекте собеседующего


а фраза выше говорит о твоих знаниях
Про type-rich programming, слыхал? http://habrahabr.ru/post/144334/

H>Keep it simple stupid еще никто не отменял. Если отрезок между двумя датами отлично определяется double, то нефиг придумывать универсальный супертип с блэеджеком и шлюхами


вот есть функция которая принимает дату, и отрезок времени.
по твоей логике и дату и отрезок можно закодировать простым типом, например double.
что лучше:
void some_func(double date,double interval);

или
void some_func(Date,DateInterval);

?
что надёжней?
Re[3]: Про тестовое задание. Попинайте пожалуйста.
От: Piko  
Дата: 04.09.12 11:46
Оценка:
Здравствуйте, Piko, Вы писали:

P>
P>void some_func(double date,double interval);
P>

P>или
P>
P>void some_func(Date,DateInterval);
P>


да, и конечно же перегрузку не забываем:

void some_func(Date,Date);

а вам слабо с этими double'ами?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.