piggymouse: (barcode)
[personal profile] piggymouse

В дополнение ко вчерашней задачке. Отдельные товарищи справедливо заметили, что задача поставлена расплывчато и неоднозначно, и позволили себе развлечься вот таким вот например решением (thanks, Alex!).

Отвечаем. Задача действительно сформулирована достаточно "некачественно". В частности, выражения "все биты из X", "установленный бит" и "сброшенный бит" являются хотя и общепринятым, но всё-таки жаргоном. С моей личной точки зрения, эта неформальная постановка задачи является дополнительным фильтром, проверяющим как понимание жаргона, так и способность разумно "доформализовать" условие.

Update по следам Алекса. Лично я, встретив на интервью подобную реакцию (неконструктивные претензии к постановке задачи и процесс решения, направленный не на то, чтобы совместными усилиями прояснить условие, а на то, чтобы довести нечёткость условия до абсурда) оценил бы техническую квалификацию кандидата, но сильно бы задумался над его социальными навыками.

Date: 2003-04-10 02:35 am (UTC)
From: [identity profile] alexclear.livejournal.com
Про социальные навыки, ага.

Во-первых, реальное интервью всегда есть взаимодействие двух личностей, сидящих в одной комнате, что накладывает. Когда я писал свою придирку, я находился на значительном расстоянии от тебя (причем на рабочем месте, которое меня сейчас вполне устраивает :) ). Если бы реальный я проходил реальное интервью у реального тебя, я бы задал один уточняющий вопрос в легкой форме, а то и вообще понял бы твою просьбу сразу (хотя, на интервью бывают порой такие заскоки, что и более простые вопросы приходится уточнять). Ты думаешь, я попру с такими претензиями на реального интервьюера, когда дома жрать нечего и работа нужна как воздух?
Однако маленькую галочку в уме я поставил бы, и не одну, а целую серию (в форме подсказок себе на будущее на случай возможной работы с тобой, подсказок другим претендентам, ну, и конечно, утешения себе, любимому, на случай, если я буду отвергнут (муа-ха-ха, а коллега-то сам не безгрешен, а туда же еще, интервьюировать, вот!)). А вообще, это тема для отдельного обсуждения - кто и как проводит интервью, какие вопросы задает и что пытается выяснить о претенденте.
Про интервью и свою нелюбовь к некоторым типичным случаям интервью я еще напишу сегодня позже, когда очередную поставку сделаю.

Date: 2003-04-11 07:45 am (UTC)
From: [identity profile] 109.livejournal.com
Однако маленькую галочку в уме я поставил бы, и не одну, а целую серию (в форме подсказок себе на будущее на случай возможной работы с тобой, подсказок другим претендентам, ну, и конечно, утешения себе, любимому, на случай, если я буду отвергнут (муа-ха-ха, а коллега-то сам не безгрешен, а туда же еще, интервьюировать

прикольно. ты пытаешься оправдаться и доказать, что с социальными навыками у тебя всё нормально, но делаешь это таким образом, что становится ещё яснее, что на работу тебя брать нельзя.

Date: 2003-04-11 01:36 pm (UTC)
From: [identity profile] alexclear.livejournal.com
LJ вообще вещь прикольная.
Вы вот уже в который раз забываете, что работа-то у меня уже есть. :)
Можно, конечно, рассуждать о бренности всего сущего и аудитории потенциальных нанимателей, которая здесь с тревогой на мое творчество взирает, НО:

- я в принципе не люблю интервью, по крайней мере наличие в списке вопросов подобного этому для меня говорит кое о чем, я позже напишу в свой журнал. Тем не менее я считаю, что правильный ответ на подобный вопрос (однозначно заданный, хе-хе) программист знать должен.
- при существующей мировой геополитической ситуации, ценах на нефть и прочем меня подобные позиции интересуют крайне мало. Чтобы я подал свое резюме в такое место, необходим ряд нетипичных условий.
- критерии нормальности социальных навыков можно обсуждать и обсуждать. Вполне вероятно, Вы правы, и я на эту позицию не подхожу по социальному критерию (опять-таки, воля нанимателя, кто знает, какие именно критерии к социальным качествам программиста на C/C++ используются при наборе в ту или иную компанию?).

Поэтому если я и оправдываюсь где-то, то довольно вяло. Это я просто еще огульно обвинять не начал. :)

Date: 2003-04-10 09:52 am (UTC)
From: [identity profile] caseq.livejournal.com
Дело даже не столько в социальных навыках как таковых, а в излишне формальном отношениии к постановке задачи. Которое, в свою очередь, позволяет заподозрить что в реальной работе человек будет расположен интерпретироввть любую неоднозначность технического задания отнюдь не в сторону здравого смысла. А, как известно, "страшная месть программиста" состоит в том, чтобы сделать не то что нужно клиенту а то, что он попросил. Кстати, для "того парня" хочется отметить, что последнее дело -- быть занудой, но не быть педантом. "Все битики" 32-битного числа -- это не 0xffff, а 0xffffffff. Хотя на результат это и не влияет :)

Date: 2003-04-10 10:17 am (UTC)
From: [identity profile] msh.livejournal.com
А почему ты думаешь, что целое число - обязательно 32 битное? Wintel, да?

Date: 2003-04-10 10:52 am (UTC)
From: [identity profile] caseq.livejournal.com
Ах, Штирлиц, это опять Вы! По поводу 32-битного числа -- это была отсылка к процитированному piggymouse'ом посту. А ты, Миша, если бы молодые свои годы тратил не на прокладку шпал и вождение паровозов, помнил бы еще те времена, когда "wintel" был 16-битным (хотя его тогда никто так и не называл).

(галочка - за шпалы)

Date: 2003-04-10 11:07 am (UTC)
From: [identity profile] msh.livejournal.com
А-а-а


В большинстве C-компиляторов в произвольных (то есть ЛЮБЫХ) M1 и M2 ровно по 32 бита. Итого, от нас хотят, чтобы мы написали условие "в n установлены все 32 бита из M1 и сброшены все 32 бита из M2". Ну и прекрасно.
((n == 0xFFFF) && (n == 0x0000))


Во - тогда я придумал еще одно упражнение. Сколько "no hire" в этом тексте

Мой ход:

1. В большинстве C-компиляторов по 32 бита
2. В произвольных M1 и M2 ровно по 32 бита
3. Все 32 бита - это 0xFFFF



+1

Date: 2003-04-10 12:26 pm (UTC)
From: [identity profile] caseq.livejournal.com
4. Coding style: в большинстве случаев заведомо ложное условие куда нагляднее писать как false или 0.

Re: (галочка - за шпалы)

Date: 2003-04-11 01:14 pm (UTC)
From: [identity profile] alexclear.livejournal.com
Брр... 1 и 2 не понял. ;(

Не будете ли Вы так любезны раскрыть их сущность более подробно?

Re: (галочка - за шпалы)

Date: 2003-04-11 03:32 pm (UTC)
From: [identity profile] msh.livejournal.com
В двух словах

Количество битов - в target platform, а не в компиляторе
А "в произвольном M - 32 ита" - это косность и интелоцентризм

Date: 2003-04-11 01:08 pm (UTC)
From: [identity profile] alexclear.livejournal.com
Кстати, для "того парня" хочется отметить, что последнее дело -- быть занудой, но не быть педантом. "Все битики" 32-битного числа -- это не 0xffff, а 0xffffffff.

Ваша правда. Сразили почти наповал, но...

Хотя на результат это и не влияет :)

только этим и спасся. :)

Да, не получается из меня педантичного зануды (к счастью или к сожалению?). ;)
Кстати, я думал набрать двоичное представление сначала в исходном постинге, но кажется, на C по стандарту двоичное число написать нельзя... (? не уверен, но помню что однажды пробовал и, кажется, обнаружил тогда, что в MSVC есть для этого какой-то гнусный хак, а другие компиляторы и вовсе не умеют).

No hire

Date: 2003-04-10 10:14 am (UTC)
From: [identity profile] msh.livejournal.com
Я бы даже и не задумывался, а сразу no hire. Проблемы с communications в команде бывают куда как чаще, чем с непониманием битовой арифметики. Во всяком случае, у меня обычная ситуация когда двое на языке, которым оба владеют так себе, обсуждают проблему, которую оба не понимают. Если один при этом еще специально будет тупить делать вид что не понимает, не важно, потому что ему кажется что это остроумно или еще почему-то, то будет полная жопа проблемы с проектом.

Re: No hire

Date: 2003-04-10 11:52 pm (UTC)
From: [identity profile] piggymouse.livejournal.com

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

В коллекцию бронзовых формулировок!

Profile

piggymouse: (Default)
איש אי הכלבים

April 2011

S M T W T F S
     1 2
34 56 789
10 1112 13141516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 20th, 2026 12:12 pm
Powered by Dreamwidth Studios