Здравствуйте, DKM_MSFT, Вы писали:
DKM>Единственное, что действительно важно — это системный подход и наличие нестандартного мышления. Если человек обладает системным подходом, он одинаково здорово справится с вопросом о тестировании функции сортировки, тестировании корпоративной сети и тестировании шариковой ручки. Если у человека присутствует нестандартность мышления, он предложит лучший и более красивый способ решения задачи, чем человек, мыслящий шаблонами.
Я бы сказал он предложит просто нестандартное решение, которое не обязательно проще или красивее. Но это так придирки.
А вообще согласен +1.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, minorlogic, Вы писали:
M>И второе , я реально не видел примеров использования этой технике. Обязательно бы посмотрел, но есть подозрение , что тоже самое можно сделать проще и красивше.
boost::intrusive_ptr и другие смартпоитеры.
очень просто и удобно.
никакого ручного контроля за счетчиком, все делается в контструкторах и деструкторе.
Здравствуйте, Андрей Хропов, Вы писали:
K>>Работая на настоящей работе можно за 5 лет не написать ни одного конструктора копирования, АХ>+-1. Это все-таки довольно распространенная вещь. K>> ни одного const метода, АХ>-1. Это очень желательно применять как можно чаще.
При нынешнем уровне развития RAD средств, при наличии мощных библиотек программировать можно лишь создавая реализации уже описанных методов или функторов.
K>> не описать ни одного указателя на функцию, тем более метод класса. АХ>+1 K>> Но экзаменатор, если не всю муть, то уж добрую половину точно припомнит. АХ>Если экзаменатор вменяемый для него незнание синтаксиса указателей на метод класса не будет решающим аргументом.
Я считаю, что знание синтаксиса вообще является второстепенным. Выучить синтаксис любого языка программирования можно за несколько дней, если понимать концепции, которые этот синтаксис отражает. Но для экзаменатора вопросы по синтаксису — это самое очевидное, что он может предложить кандидату.
K>> Так что перед сменой работы Страуструпа читать от корки до корки однозначно. АХ>Или перейти на C#/Java .
Если человек чего-то не знает или не помнит, это не значит, что он не хочет или не может этого знать.
Здравствуйте, ggg, Вы писали:
K>>>А вообще, кто знает универсальную и абсолютно точную методологию выявляения класса (2), пусть первым кинет в меня камнем.
АХ>>Посмотреть резюме с указанием предыдущих мест работы ?
ggg>У меня стойкое ощущение, что Вы еще слишком молоды
А что по твоему опыту много людей с 0 опытом пишут что у них 5-летний стаж работы в Google и MS senior developerом?
Здравствуйте, Kemsky, Вы писали:
K>Я считаю, что знание синтаксиса вообще является второстепенным. Выучить синтаксис любого языка программирования можно за несколько дней, если понимать концепции, которые этот синтаксис отражает.
К сожалению, с C++ не все так просто.
Можно знать синтаксис, но не уметь им пользоваться для создания кода.
Можно уметь писать код, но не уметь его компилировать.
Так что, освоить плюсы за несколько дней — просто нереально. Хотя, как было замечено однажды, если речь идеть о полярных днях — то вполне возможно
И хотя с точки зрения пропаганды плюсов — это плохо, такой высокий барьер не так уж и плох для тех кто его преодалел
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте, frik, Вы писали:
F>Здравствуйте, Hottabych1, Вы писали:
F>меня тоже частенько грузят ООП, хотя в резюме я нигде его не пишу. как я понял это как таблица умножения -все это должны знать? и это проще всего спросить? или ценность есть в знании ООП, даже если нигде его не применял? F>конечно если бы я каждый день его использовал, то может и помнил чтото, а так только из книжек без реальной практики
Меня тоже как то одни умники вначале математической задачкой мучили, которую я решил, затем спросили про принципы ООП, я четко сказать не смог что-то общее промямлил. Был еще вопросы но это уже не важно. Вобщем сейчас я вызубрил эти правила ООП, и что? Да ничего не изменилось, просто я вызубрил правила ООП. А пока большой кусок когда не зарефакторишь, пока сам фреймворк не напишешь, все равно не поймешь толком ООП.
Здравствуйте, Kemsky, Вы писали:
K>Здравствуйте, Hottabych1, Вы писали: ...
K>К собеседованию нужно готовиться, как к экзамену. Синтетические задачи и вопросы имеют свою спицифику. Работая на настоящей работе можно за 5 лет не написать ни одного конструктора копирования
Ну это может быть — это зависит от архитектуры и специфики, далеко не всегда надо копировать объекты.
K>ни одного const метода
Опускание const — это потенциальные грабли. Вот если я вызываю MyFunction(SomeVar) то мне очень бы хотелось быть уверенным, что SomeVar не будет изменена функцией (что касается поинтеров — тоже справедливо, хотя переменные передаваемые по поинтерам изменяются намного чаше). Это гарантируется наличием const в сигнатуре функции.
K>не описать ни одного указателя на функцию, тем более метод класса.
Вот указатель на мембер класса я по памяти не напишу, еще так хрень с точки зрения синтаксиса, на функцию думаю смогу припомнить, хотя тоже не без труда.
K> Но экзаменатор, если не всю муть, то уж добрую половину точно припомнит. Так что перед сменой работы Страуструпа читать от корки до корки однозначно.
Согласен, спрашивают коварные вопросы. Любого, даже очень опытного программера можно "подловить". я вот например очень удивился, когда 2-3 в резуьтате дало 4 миллиарда с копейками (один операнд был signed, другой unsigned)
Здравствуйте, Kemsky, Вы писали:
K>Здравствуйте, Hottabych1, Вы писали: ...
K>К собеседованию нужно готовиться, как к экзамену.
На собеседованиях надо быть естественным и не париться!
У несдачи экзамена могут быть последствия, у непрохождения собеседования последствий нет!
В любом случае после собеседования ты становишься умнее
Если не решил задачу, надо спросить о правильном решении, либо повторить проваленную теорию дома с книжками, потому что как показывает практика где то на 6-ом собеседовании новых вопросов по сравнению со старыми почти не появляется
Здравствуйте, DKM_MSFT, Вы писали:
DKM>Здравствуйте, egaron, Вы писали:
E>>Как сказал коллега — есть 2 типа программистов
DKM><skipped>
E>>Естественно, на теоретических собеседованиях вторая группа бракуется и идет в отстой.
DKM>Знаете, многие тут, конечно, со мной не согласятся, но я считаю то, что вы называете теоретическим собеседованием, глупостью. С моей точки зрения человек, который отлично знает синтаксис переопределения оператора присваивания, досконально вызубрил operator precedence and associativity (простите, забыл как это по-русски), или даже во сне может назвать тип 7го параметра функции CreateFile, с практической точки зрения отличается от человека, который всего этого не помнит, только одним. А именно тем, что он будет быстрее писать код. За счет меньшего количества обращений к документации. Не больше и не меньше этого.
DKM>То есть "теоретическое собеседование" с точки зрения практической полезности находится на том же уровне, что и тест на скорость печатания на клавиатуре.
DKM>Оно не является доказательством ни того, что человек понимает хоть одну из написанных им конструкций, ни того, что он ее хоть раз в жизни применял. В бытность мою студентом второго курса я ради смеха прошел несколько brainbench-like теоретических тестов по разным языкам, при этом мои знания по некоторым из них сводились к однократному чтению учебника за день до прохождения теста и выяснения наиболее стандартных вопросов подобных тестов в интернете. Вы удивитесь, если узнаете, насколько хорошо я их тогда прошел.
DKM>В полной мере вышесказанное относится также к TOEFL-like тестам по английскому, которые я после некоторой тренировки замечательно проходил, понимая не более 10% текста и даже не улавливая общий его смысл, тестам на определение iq, которые с 5го раза проходятся на уровне гения, разного рода сертификациям и другим вещам, где можно играть на типичности вопросов и некоторых других факторах, к предмету вообще не относящихся.
DKM>Единственное, что действительно важно — это системный подход и наличие нестандартного мышления. Если человек обладает системным подходом, он одинаково здорово справится с вопросом о тестировании функции сортировки, тестировании корпоративной сети и тестировании шариковой ручки. Если у человека присутствует нестандартность мышления, он предложит лучший и более красивый способ решения задачи, чем человек, мыслящий шаблонами.
DKM>Поэтому на собеседованиях нужно спрашивать не написание конструктора копирования или реализацию паттерна singleton. Задайте ему хорошую нетипичную задачу "на подумать", которая к ним сводится. Все и выясните. А может быть, узнаете, как ее можно решить гораздо проще и эффективнее. Это если вам повезет наткнуться на действительно классного программиста. И какая разница, если где-то он пропустил "&", не поставил ";" или перепутал порядок следования операторов? В работе его спасет IDE, MSDN и google. А вот думать они его научить не смогут.
Полностью поддерживаю... Я в прошлом году купил книжку по ADO.net, почитал ее неделю, затем пошел и сдал микрософтовский экзамен. Теперь я MCP. Правда, на следующей же неделе забыл все классы из ADO.Net.
Здравствуйте, captainPower, Вы писали:
P>Здравствуйте, Kemsky, Вы писали:
K>>Здравствуйте, Hottabych1, Вы писали: ...
K>>К собеседованию нужно готовиться, как к экзамену. P>На собеседованиях надо быть естественным и не париться! P>У несдачи экзамена могут быть последствия, у непрохождения собеседования последствий нет! P>В любом случае после собеседования ты становишься умнее P>Если не решил задачу, надо спросить о правильном решении, либо повторить проваленную теорию дома с книжками, потому что как показывает практика где то на 6-ом собеседовании новых вопросов по сравнению со старыми почти не появляется
Так, три собеседования у меня уже было, осталось еще три до счастья
Здравствуйте, ggg, Вы писали:
ggg>Здравствуйте, Hottabych1, Вы писали:
H>>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь. ggg>Не нужно нервничать перед собеседованием. Вы ж не студент перед экзаменом все-таки.
H>>Написал дрожащими руками вот такое: ggg>Да зачем дрожащие руки-то? Это что, первое собеседование в жизни, ведь нет же! Имхо, после 5 собеседований уже никогда не будешь волноваться и нервничать.
H>>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение? ggg>Лично мне не хотелось бы работать в команде с человеком, который ошибается в простых вещах. Даже если он мега-эксперт в каких-то там нестандартных задачах. Но это опять же верно не для всех команд/не для всех работодателей (а вдруг у кого выбора иного нет).
ggg>Не расстраивайтесь, полистайте Мейерса хотя бы (даже если в текущей работе вам все это не нужно). Эти книжки попроще, чем Страуструп. А то Страуструпа читают-то многие, да вот понимают/запоминают процентов 30. ggg>И помните, что неудачным собеседованием жизнь не заканчивается.
Спасибо за советы. Однако это было мое третье собеседование по специальности в жизни (если говорить именно о технической части собеседования) . И не каждый день твоей скромной персоной интересуется сам Яндекс. Накануне много думал о том, как хочется поработать в такой компании, как там интересно. Размышлял, как себя вести и т.д. Просто не мог отделаться от таких мыслей. Получилось напряжение и все пошло вообще не так, как хотелось бы.
Здравствуйте, DKM_MSFT, Вы писали:
DKM>Если у человека присутствует нестандартность мышления, он предложит лучший и более красивый способ решения задачи, чем человек, мыслящий шаблонами.
А можно мне поменьше этого "нестандартного" подхода? Грабли стандартных путей более менее известны, грабли нестандартных...
Здравствуйте, minorlogic, Вы писали:
M>Меня поражает другое, почему когда говорят об этом способе принимают само собой разумеещееся , что своп можно написать не кидающим исключение. Я в ветке все пытаюсь развить диалог до этой мысли , но не получается.
Можно. Всегда. Как минимум использование PIMPL
Здравствуйте, captainPower, Вы писали:
P>Меня тоже как то одни умники вначале математической задачкой мучили, которую я решил, затем спросили про принципы ООП, я четко сказать не смог что-то общее промямлил. Был еще вопросы но это уже не важно.
....
А зачем ты их так невежливо?
H>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?
Такие люди как ты называются "велосипедисты". Почти везде у них необычные и нестандартдные решения стандартных задач. Лично я с такими не люблю работать. Если ты только окончил универ, то еще все впереди, а если ближе к 30, то ядреный велосипедист.