Re[3]: Как вам такое тестовое задание?
От: мыщъх США http://nezumi-lab.org
Дата: 01.04.11 14:36
Оценка: +1
Здравствуйте, Nik_1, Вы писали:

N_>Здравствуйте, мыщъх, Вы писали:


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


М>>25 минут это с отладкой и с подробными комментариями. а если через switch и без комментов, то тут и в 5 минут можно уложиться.


N_>Только в таком виде решение "зватьли на собеседование" было бы скорей всего отрецательным. Думаю всетаки хотели посмотреть на качество кода и архитектурные навыки, а не просто принципиальную возможность кое-как написать такую программку. А с ООП тут есть где развернуться Вобщем вместе с проектированием и отладкой задача примерно на час.


a) задание _очень_ простое, развернуться тут негде. надеюсь, если нас просят скопировать строку A в строку B, то использование контроллера DMA было бы излишним (и нерабочим выше XT).

b) в ТЗ сказано -- 25 минут. вы говорите -- час. я так понимаю, работадателя вы уже завалили, объяснив ему, что он не прав и теперь его осталось затоптать ногами? я уже предложил архитектурное решение, свободно укладывающееся в 25 минут, где основная логика вынесена в строку вида "+", add, "-", sub. минусы и плюсы такого решения -- тема отдельного разговора, но это всяко лучше switch;

c) с учетом простоты задания и времени, отпущенного на его решения, можно предположить, что оно дается для отсеивания явных неадекватов. кстати, попытки городить архитектуру на пустом месте делая за час то, что можно сделать за пять минут -- это тоже неадекват. причем клинический без надежды на исцеление. если человек пишет switch, то есть шансы, что он научится, а вот если воздвигает классы, там где они не нужны, то он перезанимался и теперь будет везде лепить монстров.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: Как вам такое тестовое задание?
От: Nik_1 Россия  
Дата: 01.04.11 14:46
Оценка: -1
Здравствуйте, мыщъх, Вы писали:
М>c) с учетом простоты задания и времени, отпущенного на его решения, можно предположить, что оно дается для отсеивания явных неадекватов. кстати, попытки городить архитектуру на пустом месте делая за час то, что можно сделать за пять минут -- это тоже неадекват. причем клинический без надежды на исцеление. если человек пишет switch, то есть шансы, что он научится, а вот если воздвигает классы, там где они не нужны, то он перезанимался и теперь будет везде лепить монстров.

Слова типичного сишника ;) Что за такая паническая боязнь ООП?
Re[5]: Как вам такое тестовое задание?
От: kosmik Россия http://www.linkedin.com/in/kosmik
Дата: 01.04.11 15:07
Оценка: +4
М>>c) с учетом простоты задания и времени, отпущенного на его решения, можно предположить, что оно дается для отсеивания явных неадекватов. кстати, попытки городить архитектуру на пустом месте делая за час то, что можно сделать за пять минут -- это тоже неадекват. причем клинический без надежды на исцеление. если человек пишет switch, то есть шансы, что он научится, а вот если воздвигает классы, там где они не нужны, то он перезанимался и теперь будет везде лепить монстров.

N_>Слова типичного сишника Что за такая паническая боязнь ООП?


Есть класс людей, которые пишут слишком generic код с ООП/темплейтами вместо того чтобы то же самое написать просто и понятно. Как говорил один коллега, такое впечатление что есть конторы, в которых считается лоховтсвом писать просто
Re: Как вам такое тестовое задание?
От: dcb-BanDos Россия  
Дата: 01.04.11 15:19
Оценка:
Здравствуйте, Sashaka, Вы писали:

по-моему все просто, берем книгу <Бьерн Страуструп "Язык программирования C++">, открываем главу "3.1 Калькулятор"
разбавляем/не разбавляем своими велосипедами.
профит
Ничто не ограничивает полет мысли программиста так, как компилятор.
Re[5]: Как вам такое тестовое задание?
От: мыщъх США http://nezumi-lab.org
Дата: 01.04.11 17:43
Оценка: 7 (2) +3
Здравствуйте, Nik_1, Вы писали:

N_>Слова типичного сишника Что за такая паническая боязнь ООП?

это не боязнь ООП. это непонимание зачем делать сложным простые вещи? я предложил свой вариант решения, который быстро писать и легко сопровождать. предложите свой. с учетом, что вы запросили в четыре (!) раза больше времени (на самом деле даже больше, ибо мне и 25 минут много), от вас ожидается нечто-суперское. производительность или расщиряемость.

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

вы думаете -- чтобы такого добавить в программу, чтобы показать свою крутость, а вот я думаю -- а что из нее еще можно выкинуть. иногда чуть ли не до драк доходит. вот тут решил задачу в одну строку. коллеги говорят, что она будет тормозить, т.к. по их мнению у меня сложность в худшем случае O(2^N). в ответ я прикрутил профилировку и показал, что в худшем случае это 35 ms, когда все остальное занимает секунды и что даже если эти 35 ms оптимизировать до нуля, то никто не заметит никаких изменений.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[6]: Как вам такое тестовое задание?
От: мыщъх США http://nezumi-lab.org
Дата: 01.04.11 18:32
Оценка:
Здравствуйте, kosmik, Вы писали:


K> такое впечатление что есть конторы, в которых считается лоховтсвом писать просто

у меня тоже такое впечатление. только не о конторах, а о людях. впечатление, что они бояться написать просто, потому что окружающие могут посчитать их дураками. особенно умилем код вида "a = b << 1; // a = 2*b;". _любой_ компилятор это оптимизирует и сам, но писать 2*b это типа признать себя лохом.

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

а Goto нужно не только для выхода из трех четырех циклов, но и goto err удобно использовать. во всяком случае с goto понятно. а вот бывают конструкции типа:

while(1)
{
if open_file_is_NOT_ok break;

while(1)
{
if allocate_memory_is_NOT_ok break;

close_the_file;

break;
};

free_the_block;
break;
};


ну и что с того что код хрен поймешь -- зато без goto. и это не первое апреля. такой код действительно доводилось видеть...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: Это тест на внимательность
От: tlp  
Дата: 01.04.11 19:13
Оценка:
Здравствуйте, Ytz, Вы писали:

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


tlp>>...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется.

tlp>>В текущем вариант условия действительно делается за полчаса.

Ytz>Для идеальных данных, да. Но ты надеюсь видел, что требуется обработка ошибок?


Видел. Если не требуется — делается за 10 минут.
Re[4]: Это тест на внимательность
От: Ytz https://github.com/mtrempoltsev
Дата: 02.04.11 04:37
Оценка:
Здравствуйте, tlp, Вы писали:

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


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


tlp>>>...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется.

tlp>>>В текущем вариант условия действительно делается за полчаса.

Ytz>>Для идеальных данных, да. Но ты надеюсь видел, что требуется обработка ошибок?


tlp>Видел. Если не требуется — делается за 10 минут.


Ну так сделай, а я давай потом покажу ошибки.
Re: Как вам такое тестовое задание?
От: Shellac  
Дата: 02.04.11 11:12
Оценка: +1
Здравствуйте, Sashaka, Вы писали:

S>Пришло письмо:


S> .....


Где вы все такие конторы находить умудряетесь?
Re[4]: Как вам такое тестовое задание?
От: Vain Россия google.ru
Дата: 02.04.11 19:37
Оценка:
Здравствуйте, dilmah, Вы писали:

S>>Задание нормальное, неадекватно время выполнения.

D>почему это? В С++ коде делаешь popen, и всю реализацию делаешь строчкой на шелле. Можно успеть.
Тогда будет не кроссплатформенно.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: Как вам такое тестовое задание?
От: eight Россия  
Дата: 02.04.11 19:53
Оценка:
Здравствуйте, Sashaka, Вы писали:

S>Я не сомневаюсь, что есть люди способные выполнить это задание за 25 минут, но лично я считаю это полным неадекватом. Может я что-то не понимаю в этой жизни?


У меня в универе такое задание было на 1 курсе, только без кроссплатформ. за минут 20 где-то и сделал, ну тут бы я за 25 не выкрутился.
Re[5]: Как вам такое тестовое задание?
От: dilmah США  
Дата: 02.04.11 20:30
Оценка:
D>>почему это? В С++ коде делаешь popen, и всю реализацию делаешь строчкой на шелле. Можно успеть.
V>Тогда будет не кроссплатформенно.

позикс кроссплатформен
Re[6]: Как вам такое тестовое задание?
От: Vain Россия google.ru
Дата: 02.04.11 22:11
Оценка:
Здравствуйте, dilmah, Вы писали:

D>>>почему это? В С++ коде делаешь popen, и всю реализацию делаешь строчкой на шелле. Можно успеть.

V>>Тогда будет не кроссплатформенно.
D>позикс кроссплатформен
Не везде есть шелл одинаковый.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[7]: Как вам такое тестовое задание?
От: dilmah США  
Дата: 02.04.11 22:29
Оценка:
V>Не везде есть шелл одинаковый.

позикс специфицирует шелл (и awk, и другие утилиты).
Не составляет труда писать на шелле портабельно.
Re[8]: Как вам такое тестовое задание?
От: Vain Россия google.ru
Дата: 03.04.11 09:56
Оценка:
Здравствуйте, dilmah, Вы писали:

V>>Не везде есть шелл одинаковый.

D>позикс специфицирует шелл (и awk, и другие утилиты).
D>Не составляет труда писать на шелле портабельно.
Да нету этих утилит в винде.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: Это тест на внимательность
От: Donz Россия http://donz-ru.livejournal.com
Дата: 03.04.11 09:58
Оценка:
Здравствуйте, tlp, Вы писали:

tlp>...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется.

tlp>В текущем вариант условия действительно делается за полчаса.

То есть, хотят нанять человека, который при виде неоднозначного и не полного ТЗ не задаст ни одного вопроса, не подумает о возможном дальнейшем развитии и поддержке проекта, а тупо выполнит именно то, что написано?
Это очень странный тест будет. Хотят обычно противоположное.
Re[9]: Как вам такое тестовое задание?
От: dilmah США  
Дата: 03.04.11 10:44
Оценка: 1 (1) +1 :)))
V>Да нету этих утилит в винде.

винда это маргинальная ОС. Сейчас все на *БСД, линукс, макОС и хромОС.
Re[10]: Как вам такое тестовое задание?
От: Vain Россия google.ru
Дата: 03.04.11 12:40
Оценка:
Здравствуйте, dilmah, Вы писали:

V>>Да нету этих утилит в винде.

D>винда это маргинальная ОС. Сейчас все на *БСД, линукс, макОС и хромОС.
В огороде бузина, а в Киеве дядька
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[10]: Как вам такое тестовое задание?
От: Vain Россия google.ru
Дата: 03.04.11 12:44
Оценка:
Здравствуйте, dilmah, Вы писали:

V>>Да нету этих утилит в винде.

D>винда это маргинальная ОС. Сейчас все на *БСД, линукс, макОС и хромОС.
И вообще, отучаемся за всех говорить.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: Это тест на внимательность
От: tlp  
Дата: 03.04.11 18:10
Оценка:
Здравствуйте, Donz, Вы писали:


D>То есть, хотят нанять человека, который при виде неоднозначного и не полного ТЗ не задаст ни одного вопроса, не подумает о возможном дальнейшем развитии и поддержке проекта, а тупо выполнит именно то, что написано?


Нет, всего лишь хотят отсеять тех, кто не умеет внимательно читать задание, прежде, чем его делать.
Остальное можно выяснить на собеседовании.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.