?

Log in

No account? Create an account

Previous Entry | Next Entry

Тест -- какой Вы программист?

Тест устроен следующим образом -- дана простенькая программистская задача и 9 вариантов решения. Надо выбрать тот вариант, который Вам наиболее близок. Потом в описании можно будет посмотреть КАКОЙ Вы программист. Этот тест расскажет о вашем программировании возможно даже больше, чем Вы сами хотели бы знать.

УСЛОВИЯ ЗАДАЧИ
Переменная I представляет собой полное слово с фиксированной точкой. I принимает значения 1 либо 2. Если I оказалось равным 1, замените его на 2 и наоборот. Выберите наиболее близкое вам решение
   
РЕШЕНИЯ

1. IF I='2' THEN I=1;
ELSE I=2;
______________________________________
2. IF I=2 THEN I=1;
IF I=1 THEN I=2;
______________________________________
3. IF I=1 THEN GOTO SKIP;
I=1;
GOTO DONE;
SKIP: I=2;
DONE:
______________________________________
4. J=2;
IF I=2 THEN J=1;
I=J;
______________________________________
5. DECLARE SWITCH LABEL;
. . .
IF I=1 THEN SWITCH=ONE;
IF I=2 THEN SWITCH=TWO;
GOTO SWITCH;
ONE: I=2;
GOTO DONE;
TWO: I=1;
DONE:

DECLARE ONETWO(2) FIXED BIN(31) INIT (2,1);
. . .
I=ONETWO(I);
______________________________________
6. I=3-I;
______________________________________
7. I=I-(I/2*2)+1;
______________________________________
8. IF I=2
THEN DO;
I=1;
END;
ELSE DO;
I=2;
END;
______________________________________
9. IF I=1 THEN I=2;
IF I^=2 THEN DO;
PUT LIST('ПЛOXOE I — ЗAMEHEHO HA 1');
I=1;
END;

[Смотреть результаты]
1. Недавний выпускник трехмесячных курсов программистов.
Не более одного из десяти окончивших такие курсы знают разницу между 2 и "2". Удивительно, как можно вообще программировать без знания столь фундаментальной концепции.

2. Преподаватель программирования на 3-х месячных курсах.
Это решение хуже предыдущего. Много ли, однако, обучающих программированию сами написали и отладили хотя бы одну программу?

3. Программист на FORTRAN'е, только что окончивший курс PL/1.
Да, старую собаку не научишь новым штукам! Это решение дает верный результат, но это все, что можно про него сказать.

4. Программист на ассемблере, прошедший тот же курс.
Это решение не является ни прямым ни эффективным. Возможно, это результат обучения языку PL/1. В нем есть та прелесть, что оно не содержит самомодифицирующих кодов, но это лишь результат возврата на землю после изучения языка высокого уровня.

4. Системный аналитик.
Прекрасная иллюстрация для тех, кто думает, что обязанность системного аналитика — такая разработка алгоритма, в которой окажется некомпетентен даже хороший и опытный программист.

5. Сomputer Scientist.
Наверное, это самое умное решение. Однако такие "сальто-мортали" без комментариев оказываются весьма непонятными. Искусство требует жертв, а жертвой будет тот, кто разбирается в этой программе — может быть, сам автор через три месяца.

6. Математик.
Очень похоже на предыдущее, столь же элегантно, но опять-таки встает проблема: как же в нем разобраться?

7. Программист, заботящийся о секретности своей программы.
Вот работа настоящего композитора, и конечно, никаких комментариев. "Я могла бы придумать и более запутанный способ, как это сделать, — с гордостью сказала белая королева".

8. Структурный программист.
Каждому ясно, что сие произведение — структурная программа. Иногда заботятся только о том, сколько колонок надо отступить от края листа. Настоящее структурное программирование — это прежде всего техника, и применять ее надо с умом.

9. Хороший программист.
Заметьте, что ни одно из решений 1-9 не проверяло диапазон значений I, а это весьма опасно. К несчастью, вас не спасут ни структурность, ни фантастические алгоритмы, ни элегантность решения, если вдруг окажется, что I первоначально не было равно ни единице ни двойке.

Для любопытных -- я выбрал решение 6. И в половине моих программок выбирается по типу "решение 6". Хорошо это или плохо -- смотря для чего и для кого...
promo torin_kr december 5, 2015 19:43 25
Buy for 200 tokens
Этот пост -- заказной. Меня его попросила написать одна моя хорошая знакомая, с которой мы знакомы такое количество лет. что аж страшно становится. Как говорит в таких случаях мой младший брат -- "Да ну нафиг. Столько и не живут". Живут... к сожалению. Ладно, это было лирическое…

Comments

torin_kr
Feb. 22nd, 2019 05:35 pm (UTC)
Давно хочу заняться. Но всё времени не хватает. Надо зарабатывать деньги, чтоб их. У меня маленький (4 года) больной ребёнок. Только на него в месяц нужно около 80 тыров. А еще надо где-то жить самим и (желательно) что-то кушать...

А так хочется заняться НАСТОЯЩИМ программированием
raoul_duke23
Feb. 22nd, 2019 05:39 pm (UTC)
Быстро заработать программированием к сожалению не получится, получится только после написания первого миллиона строк кода, и весь этот код будет говном.
То есть если писать по тысяче строк в день (что на самом деле очень много) - подъем до уровня "хорошо платят" займет около 3-х лет
torin_kr
Feb. 22nd, 2019 05:43 pm (UTC)
Ну вот в своей 1с-ке я этот уровень уже прошёл. Я 1С-ник с 15-летним стажем и местом в профессиональном рейтинге в первых нескольких сотнях (трех по-моему по последним данным). Поэтому я уже давно не ищу работу -- обычно работа ищет меня. Но к сожалению эта работа -- только внутри России. Ну и круг задач несколько ограничен...
raoul_duke23
Feb. 22nd, 2019 05:53 pm (UTC)
Круг задач всегда ограничен, продаем же не столько скиллы кодинга, сколько знание инфраструктуры, и от смены платформы ничего принципиально не изменится, только откатимся на позиции начинающего, и по деньгам потеряем, с возрастом такие кульбиты даются все тяжелее.
Если конечно совсем приспичило уехать из страны - тогда да, нужно что-то менять.
Но я вот смотрю, тренд идет на удаленную работу, я лично в офисе уже не больше чем пару раз в неделю появляюсь, а мог бы и того меньше, личное присутствие не требуется. А это означает, что можно сменить место жительства без смены места работы.
torin_kr
Feb. 22nd, 2019 05:59 pm (UTC)
Да тут не тока физическое расположение. Я бы с удовольствием забыл бы вообще о существовании такой страны -- Российская Федерация. Но вряд ли это удастся сделать, ежели денежки на жизнь будут идти из неё...

А задачки... последние лет пять я занимаюсь в основном транспортной логистикой + немножко задачами укладки. Думаю эти задачки есть на всех платформах и всех языках...

Edited at 2019-02-22 05:59 pm (UTC)
raoul_duke23
Feb. 22nd, 2019 06:01 pm (UTC)
Если заниматься той же задачей но на другой платформе - зачем тогда вообще менять платформу?)
torin_kr
Feb. 22nd, 2019 06:03 pm (UTC)
Я непонятно объяснил? Затем что 1С ЗА ПРЕДЕЛАМИ РФ не существует. А я очень хочу оказаться именно ЗА ПРЕДЕЛАМИ РФ...
ng67
Feb. 23rd, 2019 10:40 am (UTC)
Учите ORACLE например. Или PostGre. Там тоже есть язык. Для ORACLE - ORACLE/PL.
torin_kr
Feb. 23rd, 2019 10:50 am (UTC)
Хорошая идея... а спецы по Оракл нужны за пределами РФ?
ng67
Feb. 23rd, 2019 01:08 pm (UTC)
Я думаю да. Oracle - вполне уважаемая база данных.