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.
Как вам такое тестовое задание?
От: Sashaka Россия  
Дата: 31.03.11 08:29
Оценка: 3 (1) :))) :)
Пришло письмо:

Дабы минимизировать дальнейшее время при выборе кандидата, просьба решить тестовое задание, по итогам решения которого мы сможем пригласить Вас на собеседование. Решенное задание просьба отправить на электронный адрес jobs@CENSORED.ru (оно должно занять не более 25 минут)
Также Вы можете более подробно ознакомиться с вакансией программист С++, размещенной на нашем сайте www.CENSORED.ru в разделе вакансии.

Реализовать на языке C++ консольное приложение, принимающее 2 параметра: <format> — ID формата (1 — арифметическое выражение) <data> — определяется форматом. Для формата 1 — арифметическое выражение. Результат работы приложения определяется форматом. Для формата 1 — вывод в stdout результата вычисления арифметического выражения. Реализовать простейшую поддержку арифметического выражения в виде <Операнд> <Операция> <Операнд> <Операнд> — десятичная целочисленная константа <Операция> — "+", "-", "/", "*" При решении задачи исходить из того факта, что в дальнейшем форматы будут добавляться. Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.

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

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

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


Есть класс людей, которые пишут слишком generic код с ООП/темплейтами вместо того чтобы то же самое написать просто и понятно. Как говорил один коллега, такое впечатление что есть конторы, в которых считается лоховтсвом писать просто
Re: Это тест на внимательность
От: tlp  
Дата: 31.03.11 11:46
Оценка: 2 (2) +1
...Отсеивающий тех, кто не видит, что полноценого парсинга арифметических выражений в задаче не требуется.
В текущем вариант условия действительно делается за полчаса.
Re: Как вам такое тестовое задание?
От: ArhAngelVezel Россия  
Дата: 31.03.11 08:36
Оценка: :)))
Здравствуйте, Sashaka, Вы писали:

S>на нашем сайте www.CENSORED.ru

Они пишут "порно" сайт на C++? Суровые русские программисты...
Re[3]: Как вам такое тестовое задание?
От: dilmah США  
Дата: 31.03.11 08:56
Оценка: +1 :))
S>Задание нормальное, неадекватно время выполнения.

почему это? В С++ коде делаешь popen, и всю реализацию делаешь строчкой на шелле. Можно успеть.
Re: Как вам такое тестовое задание?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 31.03.11 08:33
Оценка: +1 :)
Здравствуйте, Sashaka, Вы писали:

S>Дабы минимизировать дальнейшее время при выборе кандидата, просьба решить тестовое задание, по итогам решения которого мы сможем пригласить Вас на собеседование. Решенное задание просьба отправить на электронный адрес jobs@CENSORED.ru (оно должно занять не более 25 минут)S>Реализовать на языке C++ консольное приложение, принимающее 2 параметра: <format> — ID формата (1 — арифметическое выражение) <data> — определяется форматом. Для формата 1 — арифметическое выражение. Результат работы приложения определяется форматом. Для формата 1 — вывод в stdout результата вычисления арифметического выражения. Реализовать простейшую поддержку арифметического выражения в виде <Операнд> <Операция> <Операнд> <Операнд> — десятичная целочисленная константа <Операция> — "+", "-", "/", "*" При решении задачи исходить из того факта, что в дальнейшем форматы будут добавляться. Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.

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

Не могу оценить сложность написания именно на С++, но само задание кажется вполне нормальным. Только оно не на 25 минут, конечно.
Re[2]: Как вам такое тестовое задание?
От: Sashaka Россия  
Дата: 31.03.11 08:35
Оценка: +2
Здравствуйте, Donz, Вы писали:

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


D>Не могу оценить сложность написания именно на С++, но само задание кажется вполне нормальным. Только оно не на 25 минут, конечно.


Задание нормальное, неадекватно время выполнения.
Re[3]: Как вам такое тестовое задание?
От: Alexey_VL  
Дата: 31.03.11 17:13
Оценка: :))
Здравствуйте, olegkr, Вы писали:

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


A_V>>Учитывая, что можно использовать библиотечные функции, вполне можно написать за 25 минут.

O>Ну так напиши. Время пошло

Отличный ход — запустить время, пока чел не в курсе
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
Re[2]: Как вам такое тестовое задание?
От: Undying Россия  
Дата: 04.04.11 09:11
Оценка: +2
Здравствуйте, landerhigh, Вы писали:

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


Выделенное говорит о том, что лучшим решением будет забить на расширяемость. Т.к. все равно по условию задачи непонятно в какую сторону будет производиться расширяемость, соответственно с высокой вероятностью написанное расширяемое решение отправится в мусорку. Поэтому задача плохая, т.к. провоцирует на отбор программеров, которые не имея достаточной информации наворачивают на задачу кучу абстракций, что потом только мешает реализовывать новые требования.
Re: Как вам такое тестовое задание?
От: Панда Россия  
Дата: 31.03.11 14:00
Оценка: 1 (1)
По-моему, все, кто пишет про парсеры, невнимательно читали задание:

S>Реализовать простейшую поддержку арифметического выражения в виде <Операнд> <Операция> <Операнд>

S> <Операнд> — десятичная целочисленная константа <Операция> — "+", "-", "/", "*"

Требуется разбирать только выражения из двух операндов и одной операции между ними. Без скобок, без приоритетов, операнды только целые числа.

Зачем тут какие-то парсеры?
Найти в строке один из символов "+", "-", "/", "*", разбить им строку на две части, эти части преобразовать в целое число с помощью atoi.
Не забыть, если atoi вернет ноль, проверить, действительно там ноль или ошибка.
Все на коленке делается, уложиться в 25 минут вполне можно — если на своем компьютере и в привычной среде разработки.
Re: Как вам такое тестовое задание?
От: BulatZiganshin  
Дата: 31.03.11 10:01
Оценка: :)
Здравствуйте, Sashaka, Вы писали:

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


на delphi подобное со скобочками методом рекурсивного спуска сделал за 2 часа
Люди, я люблю вас! Будьте бдительны!!!
Re: Как вам такое тестовое задание?
От: Sni4ok  
Дата: 31.03.11 10:11
Оценка: :)
Здравствуйте, Sashaka, Вы писали:

S> Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.


простенький select к любой бд, например sqllite которые идёт в виде либы, и простой запрос к нему.
Re: Как вам такое тестовое задание?
От: jahr  
Дата: 31.03.11 11:03
Оценка: :)
Здравствуйте, Sashaka, Вы писали:

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

Переписать решение из Страуструпа или найти готовое в инете займет примерно столько, я думаю.)
Re: Как вам такое тестовое задание?
От: Ytz https://github.com/mtrempoltsev
Дата: 31.03.11 11:37
Оценка: :)
Здравствуйте, Sashaka, Вы писали:

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


Если взять Bison, то все это реально, но надо понимать чем занимается контора. Пишут парсеры на лету по несколько в день? Еще можно понять, чем либо иным — задание не имеет смысла.

P.S. Что всегда удивляет, что же так все скрывают названия контор? Думают, что контора оценит и даст бонус или кар опасаются?
Re[4]: Как вам такое тестовое задание?
От: olegkr  
Дата: 31.03.11 20:38
Оценка: :)
Здравствуйте, Alexey_VL, Вы писали:

A_V>Отличный ход — запустить время, пока чел не в курсе

Ну теперь в курсе
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
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: Как вам такое тестовое задание?
От: Shellac  
Дата: 02.04.11 11:12
Оценка: +1
Здравствуйте, Sashaka, Вы писали:

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


S> .....


Где вы все такие конторы находить умудряетесь?
Re[6]: Как вам такое тестовое задание?
От: Nik_1 Россия  
Дата: 04.04.11 04:54
Оценка: +1
Здравствуйте, мыщъх, Вы писали:

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


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

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

Это тестовое задание, а не реальный проект. Думаю, они там всетаки хотели уведеть некоторые архитектурные навыки, а не умение просто написать коекак эту простую задачу.
Re[3]: Как вам такое тестовое задание?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 31.03.11 08:40
Оценка:
Здравствуйте, Sashaka, Вы писали:

D>>Не могу оценить сложность написания именно на С++, но само задание кажется вполне нормальным. Только оно не на 25 минут, конечно.

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

Не стоит так зацикливаться на времени исполнения. Мало ли кто приложил руку к составлению письма. Мб проджект-менеджер полез в найм и решил, что у него будет "дримтим", которая все делает за полчаса.
А ты с ними до этого общался? Если они действительно неадекваты, это было бы видно сразу.
Re[4]: Как вам такое тестовое задание?
От: dilmah США  
Дата: 31.03.11 08:57
Оценка:
S>>Задание нормальное, неадекватно время выполнения.

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


насчет кросплатформенности -- попен, шелл, awk etc есть в позикс
Re: Как вам такое тестовое задание?
От: Kolobrodin Россия  
Дата: 31.03.11 09:11
Оценка:
Здравствуйте, Sashaka, Вы писали:

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


S>Дабы минимизировать дальнейшее время при выборе кандидата, просьба решить тестовое задание, по итогам решения которого мы сможем пригласить Вас на собеседование. Решенное задание просьба отправить на электронный адрес jobs@CENSORED.ru (оно должно занять не более 25 минут)

S>Также Вы можете более подробно ознакомиться с вакансией программист С++, размещенной на нашем сайте www.CENSORED.ru в разделе вакансии.

S>Реализовать на языке C++ консольное приложение, принимающее 2 параметра: <format> — ID формата (1 — арифметическое выражение) <data> — определяется форматом. Для формата 1 — арифметическое выражение. Результат работы приложения определяется форматом. Для формата 1 — вывод в stdout результата вычисления арифметического выражения. Реализовать простейшую поддержку арифметического выражения в виде <Операнд> <Операция> <Операнд> <Операнд> — десятичная целочисленная константа <Операция> — "+", "-", "/", "*" При решении задачи исходить из того факта, что в дальнейшем форматы будут добавляться. Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.


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


Это ASSIST. Мне присылали без указания времени. Заранее узнайте у HR за какие плюшки (насколько большие и пропеченые) придется работать.
Неоконченная мысль всегда казалась Шри Япутре слишком
Re[2]: Как вам такое тестовое задание?
От: vb-develop  
Дата: 31.03.11 11:17
Оценка:
Здравствуйте, Donz, Вы писали:

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


S>>Дабы минимизировать дальнейшее время при выборе кандидата, просьба решить тестовое задание, по итогам решения которого мы сможем пригласить Вас на собеседование. Решенное задание просьба отправить на электронный адрес jobs@CENSORED.ru (оно должно занять не более 25 минут)S>Реализовать на языке C++ консольное приложение, принимающее 2 параметра: <format> — ID формата (1 — арифметическое выражение) <data> — определяется форматом. Для формата 1 — арифметическое выражение. Результат работы приложения определяется форматом. Для формата 1 — вывод в stdout результата вычисления арифметического выражения. Реализовать простейшую поддержку арифметического выражения в виде <Операнд> <Операция> <Операнд> <Операнд> — десятичная целочисленная константа <Операция> — "+", "-", "/", "*" При решении задачи исходить из того факта, что в дальнейшем форматы будут добавляться. Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.

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

D>Не могу оценить сложность написания именно на С++, но само задание кажется вполне нормальным.


Студент?
Re[3]: Как вам такое тестовое задание?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 31.03.11 12:29
Оценка:
Здравствуйте, vb-develop, Вы писали:

VD>Студент?


К чему вопрос?
Re: Как вам такое тестовое задание?
От: XuMuK Россия  
Дата: 31.03.11 13:23
Оценка:
Здравствуйте, Sashaka, Вы писали:

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


S>Дабы минимизировать дальнейшее время при выборе кандидата, просьба решить тестовое задание, по итогам решения которого мы сможем пригласить Вас на собеседование. Решенное задание просьба отправить на электронный адрес jobs@CENSORED.ru (оно должно занять не более 25 минут)

S>Также Вы можете более подробно ознакомиться с вакансией программист С++, размещенной на нашем сайте www.CENSORED.ru в разделе вакансии.

S>Реализовать на языке C++ консольное приложение, принимающее 2 параметра: <format> — ID формата (1 — арифметическое выражение) <data> — определяется форматом. Для формата 1 — арифметическое выражение. Результат работы приложения определяется форматом. Для формата 1 — вывод в stdout результата вычисления арифметического выражения. Реализовать простейшую поддержку арифметического выражения в виде <Операнд> <Операция> <Операнд> <Операнд> — десятичная целочисленная константа <Операция> — "+", "-", "/", "*" При решении задачи исходить из того факта, что в дальнейшем форматы будут добавляться. Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.


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


http://codepad.org/YEIooCr8 — поддержку форматов добавить за оставшиеся 10 минут =)
Re: Как вам такое тестовое задание?
От: Alexey_VL  
Дата: 31.03.11 13:31
Оценка:
Здравствуйте, Sashaka,

Если я правильно понял задание, все что нужно это по сути взять строчку с арифметическим выражением из целых и вывести чему равен результат. Учитывая, что можно использовать библиотечные функции, вполне можно написать за 25 минут.
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
Re: Как вам такое тестовое задание?
От: Sashaka Россия  
Дата: 31.03.11 14:50
Оценка:
Здравствуйте, Sashaka, Вы писали:

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


Еще раз — вопрос не в сложности задания, а в самой постановке вопроса "не более 25 минут". Вот кому-нибудь дают задания на работе на 25 минут?
А если бы давали, долго бы вы так проработали? В чем смысл устраивать гонку? Как подразумевается оценивать время выполнения задания? От момента получения письма? Или время не контролируется и это такое предупреждение кандидатам о "ритме" работы в данной компании? Или присылают кусок говнокода на WinAPI, строк 100, надо добавить функциональность, найти баги и отрефакторить за 3 часа, в чем смысл? Или вот еще задание, просто для того чтобы пригласили на собеседование:

Реализовать сервер обмена сообщениями.
ОС Linux
Требования:
— регистрация и авторизация пользователя по логину и паролю
— передача сообщения от одного пользователя нескольким
— передача сообщения от одного пользователя другому (приватное сообщение)
— тестовый клиент, позволяющий протестировать реализованный функционал

Обосновать выбор или реализацию сетевого протокола
Обосновать выбор хранилища данных
Re[2]: Как вам такое тестовое задание?
От: olegkr  
Дата: 31.03.11 15:00
Оценка:
Здравствуйте, Alexey_VL, Вы писали:

A_V>Учитывая, что можно использовать библиотечные функции, вполне можно написать за 25 минут.

Ну так напиши. Время пошло
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re: Как вам такое тестовое задание?
От: 637  
Дата: 31.03.11 15:05
Оценка:
Здравствуйте, Sashaka, Вы писали:

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


S>Дабы минимизировать

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

Как тестовое задание — очень хорошо. Такое задание позволяет оценить сразу много вещей — способность выдавать рабочий и тестируемый код, обработку ошибок, умение писать простой (25 минут!) и в то же время расширяемый код (поддержка многих форматов в будущем), знание стандартных библиотек. Время тоже вполне адекватно. Если не мудрить — то его достаточно (еще раз перечитайте требования — два параметра, одно примитивное арифметическое выражение).
Re[2]: Как вам такое тестовое задание?
От: Vzhyk  
Дата: 31.03.11 15:21
Оценка:
31.03.2011 18:05, 637 пишет:

>

> Как тестовое задание — очень хорошо. Такое задание позволяет оценить
> сразу много вещей — способность выдавать рабочий и тестируемый код,
> обработку ошибок, умение писать простой (25 минут!) и в то же время
> расширяемый код (поддержка многих форматов в будущем), знание
> стандартных библиотек. Время тоже вполне адекватно.
Да, если у вас на конторе рабочие задачи сравнимы с этой.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Как вам такое тестовое задание?
От: small_cat Россия  
Дата: 31.03.11 16:08
Оценка:
Здравствуйте, jahr, Вы писали:

J>Переписать решение из Страуструпа или найти готовое в инете займет примерно столько, я думаю.)


Ага, тоже сразу подумал про Страуструпа. Третья, что ли, у него глава калькулятору посвящена? ИМХО, расчет на "вдумчивых" читателей с хорошей памятью
- Простите, профессор, не пса, а когда он уже был человеком.
— То-есть он говорил? Это еще не значит быть человеком. (с) Булгаков
Re[2]: Как вам такое тестовое задание?
От: small_cat Россия  
Дата: 31.03.11 16:17
Оценка:
Здравствуйте, Sashaka, Вы писали:

S>Еще раз — вопрос не в сложности задания, а в самой постановке вопроса "не более 25 минут". Вот кому-нибудь дают задания на работе на 25 минут?


Нет, задачу нужно оценивать в том виде, в каком ее дает руководитель, а не пытаться на простенькую программу обработки элементарных арифметических выражений накручивать заварку кофе с использованием Azure в нагрузку.

S>А если бы давали, долго бы вы так проработали? В чем смысл устраивать гонку? Как подразумевается оценивать время выполнения задания? От момента получения письма? Или время не контролируется и это такое предупреждение кандидатам о "ритме" работы в данной компании? Или присылают кусок говнокода на WinAPI, строк 100, надо добавить функциональность, найти баги и отрефакторить за 3 часа, в чем смысл?


Смысл — в отборе адекватных кандидатов, умеющих анализировать поставленную задачу и решать ее адекватными средствами. И не боящихся сказать "начальник, да ты гонишь!". По делу, разумеется.

S> Или вот еще задание, просто для того чтобы пригласили на собеседование:


S>Реализовать сервер обмена сообщениями.

S>ОС Linux
S>Требования:
S>- регистрация и авторизация пользователя по логину и паролю
S>- передача сообщения от одного пользователя нескольким
S>- передача сообщения от одного пользователя другому (приватное сообщение)
S>- тестовый клиент, позволяющий протестировать реализованный функционал

S>Обосновать выбор или реализацию сетевого протокола

S>Обосновать выбор хранилища данных

На знание TCP/IP что-ли?
Не требуется реализовывать полноценную безопасность, не стоят требования по числу клиентов, масштабируемости и т.п. Да и задачка, судя по всему, навеяна ПМ-у чтением в далекой молодости чего-нибудь типа "Секреты TCP/IP", в которых очень любят именно настольные обменники сообщениями. В качестве примеров.

Чего не так?
- Простите, профессор, не пса, а когда он уже был человеком.
— То-есть он говорил? Это еще не значит быть человеком. (с) Булгаков
Re[3]: Как вам такое тестовое задание?
От: 637  
Дата: 31.03.11 16:32
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>31.03.2011 18:05, 637 пишет:


>>

>> Как тестовое задание — очень хорошо. Такое задание позволяет оценить
V>Да, если у вас на конторе рабочие задачи сравнимы с этой.
это тест. fuzz-buzz. причем здесь реальные задачи?
Re: Как вам такое тестовое задание?
От: мыщъх США http://nezumi-lab.org
Дата: 31.03.11 16:48
Оценка:
Здравствуйте, Sashaka, Вы писали:

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


S>Я не сомневаюсь, что есть люди способные выполнить это задание за 25 минут,

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

как бы это делал я.
1) переводим операнд через atol (strloul);
2) заводим массив структур типа: операция, указатель на функцию (для скорости написания можно отказаться от структр и просто массив указателей, где чередуются указатели на операцию с указателями на функцию);
3) ну дальше поиск операции в массиве.

это -- если писать предельно расширяемо.

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

задание для джуниоров. вот если бы вас попросили калькулятор написать в стиле 1-2*3 то это да, 25 минут это только если вы точно знаете какие библиотеки вам помогут и как их юзать.
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[2]: Это тест на внимательность
От: Ytz https://github.com/mtrempoltsev
Дата: 31.03.11 16:48
Оценка:
Здравствуйте, tlp, Вы писали:

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

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

Для идеальных данных, да. Но ты надеюсь видел, что требуется обработка ошибок?
Re[2]: Как вам такое тестовое задание?
От: Ytz https://github.com/mtrempoltsev
Дата: 31.03.11 16:55
Оценка:
Здравствуйте, XuMuK, Вы писали:

XMK>http://codepad.org/YEIooCr8 — поддержку форматов добавить за оставшиеся 10 минут =)


Где обработка ошибок? Например деления на ноль? Откуда информация, что числа числа и операторы разделены пробелами?
Re: Как вам такое тестовое задание?
От: minorlogic Украина  
Дата: 31.03.11 17:15
Оценка:
Я бы провалил вероятно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Как вам такое тестовое задание?
От: minorlogic Украина  
Дата: 31.03.11 17:19
Оценка:
Здравствуйте, мыщъх, Вы писали:
...
М>это -- если писать предельно расширяемо.

Даже близко нерасширяемо помоему.
...
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: Как вам такое тестовое задание?
От: мыщъх США http://nezumi-lab.org
Дата: 31.03.11 17:26
Оценка:
Здравствуйте, minorlogic, Вы писали:

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

M>...
М>>это -- если писать предельно расширяемо.

M>Даже близко нерасширяемо помоему.

M>...
почему? {"+", add, "-", sub, "*", mul, "/", div, 0}.
добавление новых операций очень легко. как и удаление. как и добавление синонимов. например, мы хотим поддержать "3 плюс 2" -- просто добавляем -- "плюс", add, -- и все. big num элементарно поддержать. flot поддерживается прозрачно.

а ваш вариант увидеть можно?
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]: Как вам такое тестовое задание?
От: minorlogic Украина  
Дата: 31.03.11 17:28
Оценка:
Здравствуйте, мыщъх, Вы писали:

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


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

M>>...
М>>>это -- если писать предельно расширяемо.

M>>Даже близко нерасширяемо помоему.

M>>...
М>почему? {"+", add, "-", sub, "*", mul, "/", div, 0}.
М>добавление новых операций очень легко. как и удаление. как и добавление синонимов. например, мы хотим поддержать "3 плюс 2" -- просто добавляем -- "плюс", add, -- и все. big num элементарно поддержать. flot поддерживается прозрачно.

А парсить ьсложные мат выражения?

М>а ваш вариант увидеть можно?


А я бы завалил .
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Как вам такое тестовое задание?
От: midcyber
Дата: 31.03.11 17:30
Оценка:
Здравствуйте, XuMuK, Вы писали:

S>>Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор


XMK>http://codepad.org/YEIooCr8 — поддержку форматов добавить за оставшиеся 10 минут =)


А можно ли считать буст кроссплатформенным? Я встречался по крайней мере с 2 платформами, куда он не портирован..
Re[5]: Как вам такое тестовое задание?
От: мыщъх США http://nezumi-lab.org
Дата: 31.03.11 17:43
Оценка:
Здравствуйте, minorlogic, Вы писали:

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


M>>>Даже близко нерасширяемо помоему.

M>>>...
М>>почему? {"+", add, "-", sub, "*", mul, "/", div, 0}.
М>>добавление новых операций очень легко. как и удаление. как и добавление синонимов. например, мы хотим поддержать "3 плюс 2" -- просто добавляем -- "плюс", add, -- и все. big num элементарно поддержать. flot поддерживается прозрачно.
M>А парсить ьсложные мат выражения?
во-первых, про них в ТЗ ни слова. во-вторых, при моем подходе легко и мы сохраним максимум кода.

изначально мы имели тривиальный вырожденный "парсер", принимающий три аргумента. допустим, теперь нам нужно реализовать полноценный калькулятор. уже написанная часть кода _не_ измениться, т.к. после разбивки сложного выражения на последовательность простых и опрделения порядка их вычисления мы вновь возвращаемся к задаче "операнд-операция-операнд".

в парсер можно реализовать как _независмый_ фронт-энд к уже написанной функции или даже консольной утилите, вызывая ее с аргументами командной строки.

но при _любом_ решении ТЗ это можно сделать. это не демонстрирует (не) расширяемость и если говорить о расширяемости, то только в контексте прикрутить bignum, hex-ввод, float...

хотя, да, тут вы правы. на стадии прикручивая float возникает проблема, т.к. нам сначала надо определить тип операндов, а только потом -- выяснить какими функциями мы их будем обрабатывать. в принципе, мы можем захотить складывать и умножать строки. а вот вычитание и деление для строк бессмысленно. и тогла нужно плясать от
1) определяем тип операндов:
2) переключаемся на таблицу функций для данного типа операндов;

но, черт, возьми!!! даже в этом случае мое решение будет работать!!! уже написанный код обрабатывает целочисленку. если нужно прикрутить строки, то создаем таблицу функций для строк {"+", cat_str, "*", mul_str, 0}.
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]: признаю, я завалил тест (
От: XuMuK Россия  
Дата: 31.03.11 19:30
Оценка:
Здравствуйте, Ytz, Вы писали:

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


XMK>>http://codepad.org/YEIooCr8 — поддержку форматов добавить за оставшиеся 10 минут =)


Ytz>Где обработка ошибок? Например деления на ноль? Откуда информация, что числа числа и операторы разделены пробелами?

Про деление совершенно не подумал, но это одна своя функция, а про пробелы из 1го поста, там они есть.
Re[3]: Как вам такое тестовое задание?
От: XuMuK Россия  
Дата: 31.03.11 19:31
Оценка:
Здравствуйте, midcyber, Вы писали:

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


S>>>Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор


XMK>>http://codepad.org/YEIooCr8 — поддержку форматов добавить за оставшиеся 10 минут =)


M>А можно ли считать буст кроссплатформенным? Я встречался по крайней мере с 2 платформами, куда он не портирован..


function и bind — да, тем более что они будут в С++B
Re[3]: Как вам такое тестовое задание?
От: Kolobrodin Россия  
Дата: 31.03.11 20:49
Оценка:
Здравствуйте, minorlogic, Вы писали:

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

M>...
М>>это -- если писать предельно расширяемо.

M>Даже близко нерасширяемо помоему.

M>...

Плагинами забабахать!
+ лог-систему с подключаемыми каналами вывода, ошибки спамить как в std::cerr, так и в syslog!
+ парсер командной строки с дружелюбным выводом доступных опций из подключенных модулей
+ написать тесты для разных случаев

Можно взять готовое и связать воедино Тогда работа сводится больше к интеграции, нежели непосредственной разработке..
Неоконченная мысль всегда казалась Шри Япутре слишком
Re[2]: Как вам такое тестовое задание?
От: Nik_1 Россия  
Дата: 01.04.11 14:23
Оценка:
Здравствуйте, мыщъх, Вы писали:

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


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


S>>Я не сомневаюсь, что есть люди способные выполнить это задание за 25 минут,

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

М>как бы это делал я.

М>1) переводим операнд через atol (strloul);
М>2) заводим массив структур типа: операция, указатель на функцию (для скорости написания можно отказаться от структр и просто массив указателей, где чередуются указатели на операцию с указателями на функцию);
М>3) ну дальше поиск операции в массиве.

М>это -- если писать предельно расширяемо.


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


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

по-моему все просто, берем книгу <Бьерн Страуструп "Язык программирования C++">, открываем главу "3.1 Калькулятор"
разбавляем/не разбавляем своими велосипедами.
профит
Ничто не ограничивает полет мысли программиста так, как компилятор.
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[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[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>То есть, хотят нанять человека, который при виде неоднозначного и не полного ТЗ не задаст ни одного вопроса, не подумает о возможном дальнейшем развитии и поддержке проекта, а тупо выполнит именно то, что написано?


Нет, всего лишь хотят отсеять тех, кто не умеет внимательно читать задание, прежде, чем его делать.
Остальное можно выяснить на собеседовании.
Re: Как вам такое тестовое задание?
От: landerhigh Пират  
Дата: 04.04.11 01:45
Оценка:
Здравствуйте, Sashaka, Вы писали:


S>При решении задачи исходить из того факта, что в дальнейшем форматы будут добавляться. Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор, поддержка G++ 4.x обязательна.



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

Прикол в выделенном. Наговнокодить всякой фигни много времени не надо. Думаю, тут прикол в том, каким образом будет обеспечиваться расширяемость.
Если бы я проверял результат решения, то собственно на правильность реализации парсера и корректности выполнения операций даже и не стал бы смотреть. Мне было бы интересно, чем и как обеспечивается расширяемость кода, какие используются паттерны/подходы и так далее, причем одного-единственного верного варианта, как можно увидеть, тут нет.
Re[3]: Как вам такое тестовое задание?
От: landerhigh Пират  
Дата: 04.04.11 11:38
Оценка:
Здравствуйте, Undying, Вы писали:

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


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


U>Выделенное говорит о том, что лучшим решением будет забить на расширяемость. Т.к. все равно по условию задачи непонятно в какую сторону будет производиться расширяемость,


Вообще-то в условии задачи черным по белому написано "предусмотреть возможность добавления форматов".
Сделать это можно полусотней разных методов.
Re[6]: Как вам такое тестовое задание?
От: ESubj  
Дата: 07.04.11 09:21
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>с учетом, что вы запросили в четыре (!) раза больше времени (на самом деле даже больше, ибо мне и 25 минут много), ...


В два раза с небольшим.
В часе 60 минут, а не 100 (surprise!)
Re[3]: Как вам такое тестовое задание?
От: zaufi Земля  
Дата: 12.04.11 02:42
Оценка:
Здравствуйте, midcyber, Вы писали:

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


S>>>Реализация должна быть кроссплатформенной. Необходима полноценная обработка ошибок. Можно использовать любые библиотеки и любой компилятор


XMK>>http://codepad.org/YEIooCr8 — поддержку форматов добавить за оставшиеся 10 минут =)


M>А можно ли считать буст кроссплатформенным? Я встречался по крайней мере с 2 платформами, куда он не портирован..


какие? мне тут доводилось сталкиваться с одной, где собрать буст не удалось... но кое-что из header only libraries всетаки работало...
Re: Как вам такое тестовое задание?
От: _Obelisk_ Россия http://www.ibm.com
Дата: 19.04.11 08:31
Оценка:
Здравствуйте, Sashaka, Вы писали:

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


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


1-е решение.
Берем Tcl/Python или т.п. Встраиваем в свою прогу. Передаем ей текст выражения — вот вам и результат с обработкой ошибок. Можно ведь юзать любые библиотеки. Tcl/Python вполне себе переносимы.

2-е решение.
Берем генератор парсеров и пишем коротенькую грамматику для выражений, запихивая их вычисление в semantic actions.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[2]: Как вам такое тестовое задание?
От: Sashaka Россия  
Дата: 19.04.11 12:04
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

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


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


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


_O_>1-е решение.

_O_>Берем Tcl/Python или т.п. Встраиваем в свою прогу. Передаем ей текст выражения — вот вам и результат с обработкой ошибок. Можно ведь юзать любые библиотеки. Tcl/Python вполне себе переносимы.

_O_>2-е решение.

_O_>Берем генератор парсеров и пишем коротенькую грамматику для выражений, запихивая их вычисление в semantic actions.

Ок, ты крут. Речь вообще-то не про сложность задания, а про 25 минут. А если ты никогда не использовал Tcl/Python или генератор парсеров то за 25 минут вряд ли уложишься. Опять же то что ты его не использовал ничего не говорит о твоем уровне как программиста.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.