Как я завалил собеседование
От: Hottabych1  
Дата: 20.01.07 14:32
Оценка: 9 (6) +4 -1
В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь.
Первый вопрос был написать класс и наследуемый от него. Сделал. Второй вопрос — про приведение типов. Ответил. Третий вопрос был фатальным. Угадайте, какой... написать для данного класса конструктор копирования. Ну забыл я, забыл!
Написал дрожащими руками вот такое:

A::A(A a)
{
...
}

Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?

20.01.07 17:53: Перенесено модератором из 'C/C++' — Хитрик Денис
Re: Как я завалил собеседование
От: AndrewJD США  
Дата: 20.01.07 14:41
Оценка: +2
Здравствуйте, Hottabych1, Вы писали:

H>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования?

Может солидной фирме нужен был специалист по с++ и у нех небыло свободной джунировской позиции.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re: Как я завалил собеседование
От: 0xd34df00d Россия  
Дата: 20.01.07 14:41
Оценка: +2
Здравствуйте, Hottabych1, Вы писали:

H>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь.

H>Первый вопрос был написать класс и наследуемый от него. Сделал. Второй вопрос — про приведение типов. Ответил. Третий вопрос был фатальным. Угадайте, какой... написать для данного класса конструктор копирования. Ну забыл я, забыл!
H>Написал дрожащими руками вот такое:

H>
H>A::A(A a)
H>{
H>...
H>}
H>

H>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?

А по-моему, есть вещи, которые нельзя забывать никогда, как таблицу умножения... А еще есть вещи, говорящие о непонимании практически базовых концепций и принципов. И соискатель, может быть, прав в данной ситуации — ему нужно получить наиболее хорошо знающего работника.
And solder won't keep me together (c)
Re: Как я завалил собеседование
От: korzhik Россия  
Дата: 20.01.07 14:57
Оценка: 6 (2) +4
Здравствуйте, Hottabych1, Вы писали:

H>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь.


H>
H>A::A(A a)
H>{
H>...
H>}
H>


Ты главное сильно не расстраивайся, со всеми бывает
Re[2]: Как я завалил собеседование
От: Hottabych1  
Дата: 20.01.07 15:05
Оценка:
Здравствуйте, 0xd34df00d, Вы писали:

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


H>>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь.

H>>Первый вопрос был написать класс и наследуемый от него. Сделал. Второй вопрос — про приведение типов. Ответил. Третий вопрос был фатальным. Угадайте, какой... написать для данного класса конструктор копирования. Ну забыл я, забыл!
H>>Написал дрожащими руками вот такое:

H>>
H>>A::A(A a)
H>>{
H>>...
H>>}
H>>

H>>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?

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


Согласен! Просто привык Си++ считать просто инструментом в работе. Например, мне нужно то-то... как там, значит, оно в Си++ делается? И лезу в справочник. После чего на следующий день благополучно это забываю. Насколько оправдан такой подход?
Re: Как я завалил собеседование
От: MP321 Россия  
Дата: 20.01.07 15:06
Оценка:
Здравствуйте, Hottabych1, Вы писали:

H>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь.

H>Первый вопрос был написать класс и наследуемый от него. Сделал. Второй вопрос — про приведение типов. Ответил. Третий вопрос был фатальным. Угадайте, какой... написать для данного класса конструктор копирования. Ну забыл я, забыл!
H>Написал дрожащими руками вот такое:

H>
H>A::A(A a)
H>{
H>...
H>}
H>

H>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?

Хм , а они объяснили, как по ихнему правильно?
Re: Как я завалил собеседование
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 20.01.07 15:06
Оценка:
Здравствуйте, Hottabych1, Вы писали:

H>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут .


Не расстраивайся.

H>Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?


Узнаются может за ничтожное... но вот понимаются. К чему приводит отсутствие конструктора/оператора копирования я понял года через два, после того как узнал об их сущестовании. В течении этих двух лет я, как тот канадский программер, смело сражался с багами
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: Как я завалил собеседование
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 20.01.07 15:22
Оценка: :)
Здравствуйте, Коваленко Дмитрий, Вы писали:

H>>Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?


КД>Узнаются может за ничтожное... но вот понимаются. К чему приводит отсутствие конструктора/оператора копирования я понял года через два, после того как узнал об их сущестовании. В течении этих двух лет я, как тот канадский программер, смело сражался с багами


Навеяло... а то, как пишется нормальный оператор копирования, я понял еще через пару лет
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: Как я завалил собеседование
От: Hottabych1  
Дата: 20.01.07 15:31
Оценка:
Здравствуйте, MP321, Вы писали:

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


H>>В пятницу был в одной очень солидной фирме. Когда шел — меня предупреждали, что собеседование длится по несколько часов. Однако я умудрился его завалить за 10 минут . Как? Очень просто — нервы + забыл элементарную вещь.

H>>Первый вопрос был написать класс и наследуемый от него. Сделал. Второй вопрос — про приведение типов. Ответил. Третий вопрос был фатальным. Угадайте, какой... написать для данного класса конструктор копирования. Ну забыл я, забыл!
H>>Написал дрожащими руками вот такое:

H>>
H>>A::A(A a)
H>>{
H>>...
H>>}
H>>

H>>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?

MP>Хм , а они объяснили, как по ихнему правильно?

Намекали... Потому я допер поставить там ссылку, потом намекали на const... а потом сказали, что люди, которые к ним приходят пишут это с ходу, потому "до свидания".
Re[3]: Как я завалил собеседование
От: 0xd34df00d Россия  
Дата: 20.01.07 15:32
Оценка:
Здравствуйте, Hottabych1, Вы писали:

H>Здравствуйте, 0xd34df00d, Вы писали:


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


{}
H>>>Конечно же, виноват и все такое. Но разве так уж важно, что я не могу с ходу написать конструктор копирования? Ведь достаточно потратить 30 сек времени, чтобы узнать, как это записывается. Ведь умение-неумение записать ту или иную конструкцию на языке программирования еще не говорит о том, что я не умею программировать, не умею решать задачи. Потому что синтаксические правила языка узнаются за ничтожное время и, на мой взгляд, гораздо важнее посмотреть, как соискатель будет вести себя при решении каких-либо необычных задач, как у него работает именно мозг, а не память. Каково ваше мнение?

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


H>Согласен! Просто привык Си++ считать просто инструментом в работе. Например, мне нужно то-то... как там, значит, оно в Си++ делается? И лезу в справочник. После чего на следующий день благополучно это забываю. Насколько оправдан такой подход?


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

Тут важна граница, ведь учить наизусть библиотеку, скажем, алгоритмов из STL — тоже не очень хорошо )
And solder won't keep me together (c)
Re: Как я завалил собеседование
От: LaptevVV Россия  
Дата: 20.01.07 15:51
Оценка: +8
Здравствуйте, Hottabych1, Вы писали:

Не заморачивайся... Не самое страшное в жизни — завалить собеседование...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Как я завалил собеседование
От: LuciferMoscow Россия  
Дата: 20.01.07 16:27
Оценка:
Здравствуйте, Hottabych1, Вы писали:

H>Согласен! Просто привык Си++ считать просто инструментом в работе. Например, мне нужно то-то... как там, значит, оно в Си++ делается? И лезу в справочник. После чего на следующий день благополучно это забываю. Насколько оправдан такой подход?

Извини, но это базовое знание, за которым не лезут в справочник.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[2]: Как я завалил собеседование
От: DerBober США  
Дата: 20.01.07 17:10
Оценка: :))
Здравствуйте, 0xd34df00d, Вы писали:

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


Любой мог ошибиться. Даже с таблицей умножения.

У нас в институте как то поставили новый курс с новым профессором. Типа большой спец в своей теме, огромный опыт работы да еще и в Европе (Франция, Польша) и все такое. На одном из занятий что-то там преобразовывали и надо было подсчитать длину спектра. Проф "Ну значит 7, а тут 8. Значит 7 на 8. Сколько там получается? О 48."
Re: Как я завалил собеседование
От: McSeem2 США http://www.antigrain.com
Дата: 20.01.07 17:18
Оценка: 8 (4) +4
Здравствуйте, Hottabych1, Вы писали:

H>
H>A::A(A a)
H>{
H>...
H>}
H>


Дураки они! Они должны были просто и спокойно спросить — "А что при этом произойдет?" — или даже дать комп и попросить проверить. Если уж и в этом случае долго не доходит, только тогда можно делать выводы о безнадежности пациента.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[3]: Как я завалил собеседование
От: 0xd34df00d Россия  
Дата: 20.01.07 17:28
Оценка:
Здравствуйте, DerBober, Вы писали:

DB>Здравствуйте, 0xd34df00d, Вы писали:


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


DB>Любой мог ошибиться. Даже с таблицей умножения.


DB>У нас в институте как то поставили новый курс с новым профессором. Типа большой спец в своей теме, огромный опыт работы да еще и в Европе (Франция, Польша) и все такое. На одном из занятий что-то там преобразовывали и надо было подсчитать длину спектра. Проф "Ну значит 7, а тут 8. Значит 7 на 8. Сколько там получается? О 48."


Он уже был профессором. Кому-то что-то прощается. Все зависит от ситуации. Есть моменты, когда ошибаться никак нельзя. Можно тысячу раз неправильно дернуть ручку на эмуляторе самолета, но на реальном — лучше не стоит
And solder won't keep me together (c)
Re[2]: Как я завалил собеседование
От: Hottabych1  
Дата: 20.01.07 17:50
Оценка:
Здравствуйте, McSeem2, Вы писали:

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


H>>
H>>A::A(A a)
H>>{
H>>...
H>>}
H>>


MS>Дураки они! Они должны были просто и спокойно спросить — "А что при этом произойдет?" — или даже дать комп и попросить проверить. Если уж и в этом случае долго не доходит, только тогда можно делать выводы о безнадежности пациента.

В принципе, они почти так и сделали. После чего я догадался передавать параметр как ссылку, а вот с const ступил.
Re[3]: Как я завалил собеседование
От: 0xd34df00d Россия  
Дата: 20.01.07 17:53
Оценка:
Здравствуйте, Hottabych1, Вы писали:

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


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


H>>>
H>>>A::A(A a)
H>>>{
H>>>...
H>>>}
H>>>


MS>>Дураки они! Они должны были просто и спокойно спросить — "А что при этом произойдет?" — или даже дать комп и попросить проверить. Если уж и в этом случае долго не доходит, только тогда можно делать выводы о безнадежности пациента.

H>В принципе, они почти так и сделали. После чего я догадался передавать параметр как ссылку, а вот с const ступил.

Ну и забей. Как уже было верно отмечено, это не самое важное в жизни Да и вообще, это бесценный опыт и тренировка!
And solder won't keep me together (c)
Re[2]: Как я завалил собеседование
От: McSeem2 США http://www.antigrain.com
Дата: 20.01.07 17:56
Оценка: 1 (1) +4
Здравствуйте, 0xd34df00d, Вы писали:

0>А по-моему, есть вещи, которые нельзя забывать никогда, как таблицу умножения...


Такие вещи, как передача по значению в конструкторе копирования надо не запоминать, а логически выводить — почему так делать нельзя. Стоит если хотя бы раз понять — "почему" и уже никогда так не напишешь. И так во всем. А зазубривание немногого стоит.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[3]: Как я завалил собеседование
От: 0xd34df00d Россия  
Дата: 20.01.07 18:01
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Здравствуйте, 0xd34df00d, Вы писали:


0>>А по-моему, есть вещи, которые нельзя забывать никогда, как таблицу умножения...


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


А еще у меня была вторая часть высказывания, которая как раз к этому и относилась
And solder won't keep me together (c)
Re[3]: Как я завалил собеседование
От: jazzer Россия Skype: enerjazzer
Дата: 20.01.07 18:12
Оценка: 17 (7) +2 -1
Здравствуйте, Hottabych1, Вы писали:

H>Намекали... Потому я допер поставить там ссылку, потом намекали на const...


Про const ты их самих в ответ мог послать.
const необязателен.
Конструктор копирования — это конструктор с одним параметром-ссылкой на тот же самый класс.
Константная это ссылка или нет — не важно.
Ближайший пример конструктора копирования по неконстантной ссылке — std::auto_ptr.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.