Re[15]: в очередной раз о собеседованиях
От: игппук Беларусь  
Дата: 11.09.08 21:24
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Я так понимаю, что логическое выражение вроде !(!(a && b) || (c && d)) это уже сложное, и нужно идти к математику?


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

ни в школе (среднее образование), ни в универе (высшая математика) лично мне никаких подобных выражений мне не преподавали. ровно, как и двоичную арифметику, булевые операции и логические операции AND, OR, XOR и NOT. об этом рассказывали только на одном предмете, который назывался "информатика и программирование". ну и, конечно же, осваивал все это по разным книжкам, на которых было написано "программирование", но нигде не писали "математика". поэтому я и говорю, что код типа

add ax, bx


это не математика, а программирование. или тот код, который вы приводите в качестве примера.
проклятый антисутенерский закон
Re[4]: в очередной раз о собеседованиях
От: lamer11  
Дата: 11.09.08 21:31
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Не надо ничего подбирать. Береш круг и нарезаешь его на дольки. Эти дольки выстраиваешь в ряд. Получаешь ряд треугольников. Высота каждого — примерно равна радиусу круга r, сумма длин оснований — 2*П*r. Сумма площадей соответственно — r * (2*П*r) / 2. В итоге — П*r^2


Здесь вы предполагаете, что человек знает формулу длины окружности.
Но, учитывая что по условию задачи он не помнит формулу площади круга,
я не был бы в этом так уверен
Re[2]: в очередной раз о собеседованиях
От: игппук Беларусь  
Дата: 11.09.08 21:34
Оценка:
скажите, вы кого возьмете на работу? того, кто знает формулу площади круга, или того, кто ее не знает, но легко работает с битами?

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

например, если так уже не терпится узнать, умеет ли кандидат работать с кругом, то дайте ему такую задачу: написать программу, которая нарисует круг, и при этом нельзя пользоваться встроенными функциями, которые этот круг рисуют — можно рисовать только точками. дать компьютер, дать время, дать компилятор. пускай сидит и работает.
проклятый антисутенерский закон
Re[16]: в очередной раз о собеседованиях
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.09.08 21:42
Оценка: +2
Здравствуйте, игппук, Вы писали:

И>про логические выражения я уже писал. точнее, что для меня есть подобные выражения. кстати, расскажите, как вы будете это выражение упрощать за счет выноса его части за скобки. я так понимаю, что мощное знание школьной математики вам это сделать позволяет.


Дать ссылку на учебник по булевой алгебре?

И>ни в школе (среднее образование), ни в универе (высшая математика) лично мне никаких подобных выражений мне не преподавали.


Это свидетельствует о пробелах в твоем образовании, которые неплохо бы восполнить.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[5]: в очередной раз о собеседованиях
От: Flying Dutchman Украина  
Дата: 11.09.08 22:03
Оценка: 3 (1) +2
Здравствуйте, AndrewVK, Вы писали:

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


G>>Слишком много букав, надо так:

G>>
G>>File.WriteAllText("file.txt", DateTime.Now.ToString());
G>>


AVK>Букав может и много, но вот это уже действительно помнить необязательно. А вот забыть, как работать с TextWriter сотоварищи, если ты давно используешь .NET, вот это уже странно.


TextWriter я использовал неоднократно, но не помню наизусть, как он используется.
Но я помню, где находится файл с когда-то написанной мною программой,
в которой есть пример использования TextWriter. Когда мне нужно использовать в
новой программе вывод в файл, я копирую кусок кода из старой программы и изменяю его.
И так я поступаю в десятках других случаев. (Правда, иногда не удается вспомнить, где
находится нужный файл. Это уже проблема . Но я собираюсь решить ее радикально — составить
базу данных с информацией, где какой пример лежит.)

Помнить все детали языка слишком сложно. Это, может быть, возможно для программиста,
знающего один-два языка. Но С# для меня не первый, не второй и не третий, я двенадцатый или
пятнадцатый язык программирования. Помнить, как происходит вывод в файл (и прочие детали)
для каждого из языков — это выше моих сил. Поэтому я помню вещи типа использования
TextWriter только когда я их непосредственно использую, а потом сразу же забываю.
(Причем забывать абсолютно необходимо, иначе получится каша в голове и вообще невозможно
будет работать) Часто приходится программировать на нескольких языках одновременно,
так что все помнить невозможно.

Кроме того, некоторые вещи никах не могу запомнить, несмотря на то, что работаю с ними
постоянно. Язык SQL уже больше 10 лет использую, но никак не могу запомнить для
внешнего соединения — когда нужно из левой таблицы получить все записи, а из
правой не все — это left outer join или right outer join ? Вышел из положения
путем создания файла с примером, в который заглядываю всякий раз, когда
сомневаюсь.

А помнить наизусть, как используется TextWriter (и вообще то, что этот класс так называется)
программисту нужно только в одном случае — если этот программист преподает C#. Несолидно
будет, если он не сможет ответить на вопрос студента или проверить код, студентом
написанный.
Re[6]: в очередной раз о собеседованиях
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.09.08 22:12
Оценка: 1 (1) :)
Здравствуйте, Flying Dutchman, Вы писали:

FD>TextWriter я использовал неоднократно, но не помню наизусть, как он используется.


Там помнить нечего просто. Особенно весело становится, если вспомнить о том, что Console полностью повторяет его интерфейс.

FD> Когда мне нужно использовать в новой программе вывод в файл


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

FD>Помнить все детали языка слишком сложно.


Все не надо. Но такие вещи как TextWriter ...
Я вообще сильно не фанат всяких заковыристых вопросов на собеседовании, но если человек не способен вспомнить подобные вопросы без "копирования куска кода", то это серьезнейший минус.

FD> Это, может быть, возможно для программиста, знающего один-два языка. Но С# для меня не первый, не второй и не третий, я двенадцатый или пятнадцатый язык программирования.


А у меня на 2 сантиметра длиннее.

FD>А помнить наизусть, как используется TextWriter (и вообще то, что этот класс так называется)

FD>программисту нужно только в одном случае — если этот программист преподает C#.

Ты несколько меня не понял. Помнить специально наизусть — не нужно. Но я не представляю, как можно, если ты написал не одну игрушечную программку, не запомнить такой базовый момент. Это как для С++ программиста не помнить, что такое cout и с чем его едят. А уж если ты постоянно используешь .net в повседневной работе ...
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[17]: в очередной раз о собеседованиях
От: игппук Беларусь  
Дата: 11.09.08 22:21
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:

И>>ни в школе (среднее образование), ни в универе (высшая математика) лично мне никаких подобных выражений мне не преподавали.


AVK>Это свидетельствует о пробелах в твоем образовании, которые неплохо бы восполнить.


о моих пробелах в образовании? да ну? может показать диплом, в котором стоит оценка "отлично"? и который я получил в 99-ом году.
проклятый антисутенерский закон
Re[18]: в очередной раз о собеседованиях
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.09.08 22:23
Оценка: +3
Здравствуйте, игппук, Вы писали:

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


Зависит, что у тебя за специальность в этом дипломе написана. Подозреваню, что ни к программированию, ни к математике оно отношения не имеет, коль про булеву алгебру тебе ничего не рассказывали.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[19]: в очередной раз о собеседованиях
От: игппук Беларусь  
Дата: 11.09.08 22:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Зависит, что у тебя за специальность в этом дипломе написана. Подозреваню, что ни к программированию, ни к математике оно отношения не имеет, коль про булеву алгебру тебе ничего не рассказывали.


моя специальность "инженер оптик-конструктор", а специализация "оптические приборы и системы". физики и математики там было выше крыши, особенно на последних курсах.
проклятый антисутенерский закон
Re[20]: в очередной раз о собеседованиях
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.09.08 23:01
Оценка:
Здравствуйте, игппук, Вы писали:

И>моя специальность "инженер оптик-конструктор"


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

И> физики и математики там было выше крыши, особенно на последних курсах.


При чем тут физика, я не очень понял. А математика хоть у вас и была, да, видать, не та.
AVK Blog
Re[20]: в очередной раз о собеседованиях
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.09.08 23:22
Оценка: +1
Здравствуйте, игппук, Вы писали:

И>моя специальность "инженер оптик-конструктор", а специализация "оптические приборы и системы". физики и математики там было выше крыши, особенно на последних курсах.


Дискретная математика была?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: в очередной раз о собеседованиях
От: Flying Dutchman Украина  
Дата: 12.09.08 00:31
Оценка: +4
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Flying Dutchman, Вы писали:


FD>>TextWriter я использовал неоднократно, но не помню наизусть, как он используется.


AVK>Там помнить нечего просто. Особенно весело становится, если вспомнить о том, что Console полностью повторяет его интерфейс.


FD>> Когда мне нужно использовать в новой программе вывод в файл


AVK>TextWriter используется всегда, когда речь идет о потоковой обработке символьных данных в дотнете. Нет, я конечно понимаю, что могут быть задачи, когда это совсем совсем не нужно, но на моей практике почему то TextWriter и его наследники — чуть ли не самый используемый класс во всей библиотеке. Круче только string.


А на моей практике нет. Разные люди занимаются разными вещами. В нашем текущем проекте
базовыми являются другие классы. Последний раз я использовал TextWriter не меньше года назад.

FD>>Помнить все детали языка слишком сложно.


AVK>Все не надо. Но такие вещи как TextWriter ...

AVK>Я вообще сильно не фанат всяких заковыристых вопросов на собеседовании, но если человек не способен вспомнить подобные вопросы без "копирования куска кода", то это серьезнейший минус.

Ну виноват, не могу вспомнить без заглядывания в код. Хотя мне лично это
совершенно не мешать писать программы. Тебе, возможно, мешает. Ну что же,
все люди разные. Наверное, я бы не прошел у тебя собеседования.

FD>> Это, может быть, возможно для программиста, знающего один-два языка. Но С# для меня не первый, не второй и не третий, а двенадцатый или пятнадцатый язык программирования.


AVK>А у меня на 2 сантиметра длиннее.


Я не сомневаюсь .

AVK>Ты несколько меня не понял. Помнить специально наизусть — не нужно. Но я не представляю, как можно, если ты написал не одну игрушечную программку, не запомнить такой базовый момент. Это как для С++ программиста не помнить, что такое cout и с чем его едят. А уж если ты постоянно используешь .net в повседневной работе ...


Опишу, как я работаю.

Программист, действительно, должен помнить базовые понятия ввода/вывода, такие как:
— Существует такая вещь, как файл.
— В файл можно писать и/или из него можно читать.
— Для использования файл нужно открыть (явно или неявно), поработать с ним и закрыть.
— Файлы бывают текстовые и бинарные.
— Программа обычно имеет доступ к стандартным файлам stdin, sеdout и stderr (или их аналогам).
— Ввод/вывод можеть быть буферизованным или нет.
— Файлы могут быть с прямым и последовательным доступом.
и т.д.

Если программист не знает этих базовых понятий, то это плохо.

В каждом языке программирования эти понятия реализуются по-своему.

Когда я изучаю новый язык программирования, я обычно стараюсь создать для себя
набор небольших примеров (с поясняющими комментариями), иллюстрирующих использование
базовых понятий типа ввода/вывода. При этом я досконально изучаю, как эти базовые понятия
реализуются в этом конкретном языке.

Потом я пользуюсь этими примерами для написания программ.

Если я не использую какое-то время класс TextWriter, я забываю о том, как как он используется.
Если я не использую его долгое время, то я вообще забываю имя этого класса. Но я всегда
помню базовые понятия ввода/вывода. И если мне надо что-то записать в файл, я помню,
что у меня есть для этого пример, которым я могу воспользоваться.

То есть для меня совершенно не важно, помню ли я в данный момент, как используется
TextWriter или нет. Важно то, что я в любой момент времени могу восстановить это знание,
заглянув в примеры. Даже если я годами не использовал TextWriter (или что-то другое),
я могу вспомнить за несколько минут, как это делается.

Выводы:
1. Программист должен знать и понимать базовые понятия.
2. Программист должен один раз написать программу с использованием
базовых понятий для используемого языка.
3. После этого совершенно не обязательно (хотя и желательно) постоянно помнить, как базовые
понятия реализуются в этом языке, потому что это знание можно быстро восстановить.
Re[18]: в очередной раз о собеседованиях
От: Геннадий Майко США  
Дата: 12.09.08 02:10
Оценка:
Здравствуйте, Svjat,

ГМ>>Подставьте вместо "профессионал" название любой другой профессии (включая сантехнические и оцените, как резко может увеличится "ценность" такого специалиста, если он умеет еще и программировать.


ГМ>>Например — электронщик, знающий програмирование. Или механик. Или лингвист. Или бухгалтер. И т.д.


S>утрированно, есть профессинальный хирург, делающий операции,

S>а есть профессиональный сантехник, кот. умеет резать животы.
S>полезно, конечно, и плюс ему, но на операцию к нему вы не пойдете

S>т.е. умение резать "как хирург" не делает вас способным проводить реальные операции, даже если вы режете реально хорошо.

--
Это мое определение я бы не хотел распространять на все остальные пары профессии (т.е. не противопоставляю "профессионального хирурга" и "практикующего хириргию профессионала в другой области" . Хотя и эти сочетания знаний могут быть полезным в экстремальных ситуациях, — если в округе нет и не предвидется, например, профессионального хирурга, а есть сплошные практикующие хирургию сантехники, придется воспользоваться их услугами для проведения операции

C другой стороны, программисту, IMHO, всегда полезны знания из предметной области, для которой пишутся его программы. Подавляющее большинство программ ведь пишутся не ради программирования, а ради использования в предметной области, нет?

C уважением,
Геннадий Майко.
Re[10]: Дык это же вопросы для junior.
От: landerhigh Пират  
Дата: 12.09.08 06:03
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Угу, и имя ему — легион.

И кто-то один в белом фраке, да?
L>>Как знание формулы круга поможет найти в чужом коде ошибку, о великий гуру?
ГВ>Знание формулы круга может быть, и не поможет. А вот соответствующее поведение на собеседовании может служить косвенным признаком того, что человек настроен отвечать только на вопросы определённого характера, притом исключая даже смежные области знания. Это ни хорошо ни плохо. Но такой стиль работы может быть неприемлемым для отдельно взятой организации.
Хорошо. Ответил тебе человек про площадь круга. Это гарантирует, что он блестяще будет находить баги, заботливо расставленные его предшественниками (кстати, их случайно не так же нанимали?) Нет? В чем смысл этого, с позволения сказать, вопроса?
Re[10]: Дык это же вопросы для junior.
От: landerhigh Пират  
Дата: 12.09.08 06:05
Оценка:
Здравствуйте, mymuss, Вы писали:

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

Так бы и написал — ищем джуниора код копать. Или площади кругов вычислять.
Только не надо обижаться услышанному в свой адрес от настоящего сеньера.
Re[13]: в очередной раз о собеседованиях
От: Gradient http://www.x-trips.com/
Дата: 12.09.08 06:26
Оценка:
Здравствуйте, SkyDance, Вы писали:

A>>Я про такие выражения узнал на первом курсе.

A>>А про теорию множеств, булеву алгебру на 2-м или на 3-м. И уже запоминал, что U это как ||, а ^ это как &&, ну чёрточка вверху — это ! .
A>>Проходил это я очень подробно, с кучей доказательств. Но в голове ничего не осталось.
A>>А как применить отрицание к целому выражению я и до этих курсов знал.

SD>Ахаха у меня почти так же, разве что про || и && я знал еще до универа.


Да доказательств-то там — табличка на 4 строчки. Чтобы написать 12 единиц или нулей никаких знаний не надо. ИМХО как раз то, что хотел видеть у кандидатов автор темы — умение ответить на простенький вопрос для проверки наличия мозга.
-----
Любимая фраза физика-теоретика: "Вот видите, мы ошиблись всего лишь на порядок".
Re[4]: в очередной раз о собеседованиях
От: Трурль  
Дата: 12.09.08 06:53
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Ряды Лагрнджа проходят на 2-ом курсе института.


Какого института?
Re[11]: в очередной раз о собеседованиях
От: IID Россия  
Дата: 12.09.08 07:48
Оценка: +1
Здравствуйте, mymuss, Вы писали:

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


M>Коллега, не стоит вводить сущности. Задача поставлена предельно просто и корректно: решить в действительных числах. Запись можно использовать какую хочешь. Ничего про "машинное представление" в условиях нету. Можно придумать любое. Только float и double это нисколько не действительные числа.


Непонятно что вы хотите мне доказать Что общем виде "Решить в действительных числах" задачу невозможно ? (всей памяти под разряды не хватит). Это, ИМХО очевидно и понятно. А так же и бессмысленно. Что задача нерешаема ? Неправда, тривиально решаема, даже двумя способами: приближённым и аналитическим. Приближённый вы отмели, ок. Аналитический же подходит под ваше условие прекрасно. Т.о. задача сводится к созданию аналитического представления чисел. Можно перефразировать вашу задачу: создать аналитическое представление чисел из поля R (включая операции, допустимые в этом поле).

M>Когда ко мне приходит бизнес-аналитик и говорит, "надо расчитать cash flow на такой-то период, вот тебе входящие данные", его абсолютно не интересует никакое машинное представление. В частности, ему плевать что числа представленны битами и байтами в двоичной системе или еще в какой-то системе.


Но когда вы приносите ему рассчёты он же не вопит о том, что точность слишком низкая ? И что корень из двух он хочет видет ввиде корня из двух
Кстати, в общем виде
kalsarikännit
Re[8]: в очередной раз о собеседованиях
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 12.09.08 07:53
Оценка: :)
Здравствуйте, Flying Dutchman, Вы писали:

FD>А на моей практике нет.


Вот это и удивляет.

FD> Разные люди занимаются разными вещами.


Это понятно. Но пройти мимо TextWriter, это надо особо стараться.

FD>Ну виноват, не могу вспомнить без заглядывания в код.


Ты не читаешь, что я пишу. Ты виноват не в том, что не помнишь, а в том, что "использовал не меньше года назад". Это меня, мягко говоря, очень сильно насторожит. Либо использование дотнета при этом было крайне эпизодическим, либо это признаки крайней узости его использования. И то и другое — серьезно сказывается на способности кандидата решать задачи, а третьего варианта я не вижу.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[3]: в очередной раз о собеседованиях
От: IID Россия  
Дата: 12.09.08 08:27
Оценка:
Здравствуйте, игппук, Вы писали:

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


Интересно, а что хочется получить ? Приближение к кругу ломанными (самый неинтересный случай), целочисленного брезенхейма со сглаживанием для дольки в 1/8 круга (и зеркально получить остальные части) ?
kalsarikännit
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.