Здравствуйте, 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.
Здравствуйте, мыщъх, Вы писали: М>c) с учетом простоты задания и времени, отпущенного на его решения, можно предположить, что оно дается для отсеивания явных неадекватов. кстати, попытки городить архитектуру на пустом месте делая за час то, что можно сделать за пять минут -- это тоже неадекват. причем клинический без надежды на исцеление. если человек пишет switch, то есть шансы, что он научится, а вот если воздвигает классы, там где они не нужны, то он перезанимался и теперь будет везде лепить монстров.
Слова типичного сишника ;) Что за такая паническая боязнь ООП?
М>>c) с учетом простоты задания и времени, отпущенного на его решения, можно предположить, что оно дается для отсеивания явных неадекватов. кстати, попытки городить архитектуру на пустом месте делая за час то, что можно сделать за пять минут -- это тоже неадекват. причем клинический без надежды на исцеление. если человек пишет switch, то есть шансы, что он научится, а вот если воздвигает классы, там где они не нужны, то он перезанимался и теперь будет везде лепить монстров.
N_>Слова типичного сишника Что за такая паническая боязнь ООП?
Есть класс людей, которые пишут слишком generic код с ООП/темплейтами вместо того чтобы то же самое написать просто и понятно. Как говорил один коллега, такое впечатление что есть конторы, в которых считается лоховтсвом писать просто
Здравствуйте, 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.
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.
Здравствуйте, Ytz, Вы писали:
Ytz>Здравствуйте, tlp, Вы писали:
tlp>>...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется. tlp>>В текущем вариант условия действительно делается за полчаса.
Ytz>Для идеальных данных, да. Но ты надеюсь видел, что требуется обработка ошибок?
Здравствуйте, tlp, Вы писали:
tlp>Здравствуйте, Ytz, Вы писали:
Ytz>>Здравствуйте, tlp, Вы писали:
tlp>>>...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется. tlp>>>В текущем вариант условия действительно делается за полчаса.
Ytz>>Для идеальных данных, да. Но ты надеюсь видел, что требуется обработка ошибок?
tlp>Видел. Если не требуется — делается за 10 минут.
Здравствуйте, dilmah, Вы писали:
S>>Задание нормальное, неадекватно время выполнения. D>почему это? В С++ коде делаешь popen, и всю реализацию делаешь строчкой на шелле. Можно успеть.
Тогда будет не кроссплатформенно.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Sashaka, Вы писали:
S>Я не сомневаюсь, что есть люди способные выполнить это задание за 25 минут, но лично я считаю это полным неадекватом. Может я что-то не понимаю в этой жизни?
У меня в универе такое задание было на 1 курсе, только без кроссплатформ. за минут 20 где-то и сделал, ну тут бы я за 25 не выкрутился.
Здравствуйте, dilmah, Вы писали:
D>>>почему это? В С++ коде делаешь popen, и всю реализацию делаешь строчкой на шелле. Можно успеть. V>>Тогда будет не кроссплатформенно. D>позикс кроссплатформен
Не везде есть шелл одинаковый.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, dilmah, Вы писали:
V>>Не везде есть шелл одинаковый. D>позикс специфицирует шелл (и awk, и другие утилиты). D>Не составляет труда писать на шелле портабельно.
Да нету этих утилит в винде.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, tlp, Вы писали:
tlp>...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется. tlp>В текущем вариант условия действительно делается за полчаса.
То есть, хотят нанять человека, который при виде неоднозначного и не полного ТЗ не задаст ни одного вопроса, не подумает о возможном дальнейшем развитии и поддержке проекта, а тупо выполнит именно то, что написано?
Это очень странный тест будет. Хотят обычно противоположное.
Здравствуйте, dilmah, Вы писали:
V>>Да нету этих утилит в винде. D>винда это маргинальная ОС. Сейчас все на *БСД, линукс, макОС и хромОС.
В огороде бузина, а в Киеве дядька
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, dilmah, Вы писали:
V>>Да нету этих утилит в винде. D>винда это маргинальная ОС. Сейчас все на *БСД, линукс, макОС и хромОС.
И вообще, отучаемся за всех говорить.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
D>То есть, хотят нанять человека, который при виде неоднозначного и не полного ТЗ не задаст ни одного вопроса, не подумает о возможном дальнейшем развитии и поддержке проекта, а тупо выполнит именно то, что написано?
Нет, всего лишь хотят отсеять тех, кто не умеет внимательно читать задание, прежде, чем его делать.
Остальное можно выяснить на собеседовании.