OtherSide wrote:Я после собеседования проверил, память меня не подвела - действительно падает, но в дебаге. На самом деле не падает, а сам отладчик отслеживает и прерывает, выдывая ошибку, конечно.
Падает на вызове метода? Что за компилятор?
это, скорее всего, дебаговая проверка на то, что используется неинициализированная переменная
Так переменная то не используется, вызов ведь не через переменную идет.
К сожалению сейчас visual studio под рукой нет, завтра проверю.
А вот под Eclipse, XCode (ну т.е. gcc) проверил - ничего не падает даже в дебаге. Хотя ладно, это не принципиально, все-равно правильные программы таких ситуаций допускать не должны.
просто замечу что формально Medium-rare прав: стандарт языка ничего не говорит про то как имплементировать вызовы методов, будь они виртуальные или статические. То что мы видим в отладчике (вызов через virtual method table или прямой вызов невиртуального метода) - это всего лишь конкретная имплементация.
Not everyone believes what I believe but my beliefs do not require them to.
Попробую резумировать для OP:
С учетом Вашего опыта в поисках работы и прохождения интервью очевидно у Вас нет достаточно узкой протяженной специализации(ий) где бы Вы были интересны именно етим специфичным опытом и связами. Поетому определитесь где бы Вы хотели работать, наверняка есть места где не так трудно пройти интервью, скажем работать над еше одной 1C или отраслевой "АСУ в лесу" (конечно может не так и интересно, но расслабленно, в свободное время заниматься какими нибудь своими программисткими поделками или хобби). А также если очень хочется можно включится в какой-нибудь передовой open source, наверняка специлизируясь в чем то легче найти специфичную работу.
Если Вы все таки хочeте что-нибудь интереснее, надо подстраивать резюме под каждую позицию и учитывая невозможность обьять все, на интервью проводить линию хорошего знания в пределах резюме. Например Вы можете позиционировать себя каk просто експертного уровня C/C++ программиста с хорошим знанием алгоритмов. Если очень хочется можете упомянуть что знакомы с C#, Java, SQL где в конце концов, делали какие-то поделки, но не больше(или выбирайте другую специализацию по нраву).
Далее начинайте готовится к интервью в выбранном ключе. Если C/C++ проработайте 3-4 книги по тонким вопросам языка и алгоритмам (например упомянутые выше). Прорешайте задачи на написание алгоритмов,можно пробовать сразу на комьютере, скорость будет возрастать а число ошибок уменьшаться. Посмотрите здесь посты как луди готовились к инервью в MS, Google, какие задачи решали. Обшие задачи на сообразительность вроде козлов в лодке можете пропустить если только не пытаетесь попасть в такие компании. Если Вы достаточно сообразительный двух-трех месяцев напряженной работы должно быть достаточно чтобы успешно пройти не одно то другое подобное интервью.
Flash-04 wrote:просто замечу что формально Medium-rare прав: стандарт языка ничего не говорит про то как имплементировать вызовы методов, будь они виртуальные или статические. То что мы видим в отладчике (вызов через virtual method table или прямой вызов невиртуального метода) - это всего лишь конкретная имплементация.
Не, ну если вы сможете придумать такую имплементацию вызова виртуальных методов, при которой не требуется валидного объекта, то оно конечно
1) Принимать как данность несоотв. опыта работы и требований для прохождения собеседований
2) К каждому собеседованию готовится в отдельности, и проходить не больше 2-3 в неделю.
За годы на одном месте действительно подрастерял навыки, но все не так страшно. Сегодня прошел еще парочку - ну по крайней мере на каверзных вопросах по С++ подловить меня уже не могут.
Правда, замечаю, что потупел как-то. Всегда считал своим плюсом способность быстро соображать (олимпиады, нестанадртные задачки и т.п.). Даже не знаю - возрастное это (30) или как то можно восстановить.
OtherSide wrote:Даже не знаю - возрастное это (30) или как то можно восстановить.
Ну вы совсем древний дед. Я тоже хочу 30... :-p Это реакция организма на интервьюеров, поднагугливших заковыристых вопросов или даже начитавшихся книжек на тему. Когда будете сами интервьюировать, вдруг оторванный от любимой работы, возможно, первым движением будет сделать примерно тоже самое Google C++ interview questions. Один раз я так и сделал. Правда, не стал задавать те вопросы. :-p
... and even then it's rare that you'll be going there...
OtherSide wrote:Правда, замечаю, что потупел как-то. Всегда считал своим плюсом способность быстро соображать (олимпиады, нестанадртные задачки и т.п.). Даже не знаю - возрастное это (30) или как то можно восстановить.
Беги от этого программирования пока еще бежится. 30 лет - самое время завязать с этим ремеслом. Ты не угонишься за молодыми. В этом деле опыт не важен, а мозги будут все больше скрипеть на каждой новой кочке. При этом молодые будут подваливать со всех сторон мира по нарастающей, ведь в ИТ нет границ.
OtherSide wrote:
Правда, замечаю, что потупел как-то. Всегда считал своим плюсом способность быстро соображать (олимпиады, нестанадртные задачки и т.п.). Даже не знаю - возрастное это (30) или как то можно восстановить.
Аналогично. Это возрастное. Вот только пугаться этого не надо - лучше вспоминать пословицу про "мееедленно спустимся с горы"
опять же, наверняка старые бородатые математики соображают медленнее, чем они же в молодости, что не мешает им
АццкоМото wrote:Не, ну если вы сможете придумать такую имплементацию вызова виртуальных методов, при которой не требуется валидного объекта, то оно конечно
довольно проблематично, т.к. чтобы вызвать виртуальный метод надо знать тип экземпляра объекта, а в run-time это можно сделать только проверив что там в экземпляре записано, ну и соотв. нужно существование такого экземпляра объекта как минимум.
Not everyone believes what I believe but my beliefs do not require them to.
Kolbasoff wrote:
Беги от этого программирования пока еще бежится. 30 лет - самое время завязать с этим ремеслом. Ты не угонишься за молодыми. В этом деле опыт не важен, а мозги будут все больше скрипеть на каждой новой кочке. При этом молодые будут подваливать со всех сторон мира по нарастающей, ведь в ИТ нет границ.
Моя последняя дельта в +25k. Бежать хочу только в направлении IPO.
... and even then it's rare that you'll be going there...
OtherSide wrote:Правда, замечаю, что потупел как-то. Всегда считал своим плюсом способность быстро соображать (олимпиады, нестанадртные задачки и т.п.). Даже не знаю - возрастное это (30) или как то можно восстановить.
Беги от этого программирования пока еще бежится. 30 лет - самое время завязать с этим ремеслом. Ты не угонишься за молодыми. В этом деле опыт не важен, а мозги будут все больше скрипеть на каждой новой кочке. При этом молодые будут подваливать со всех сторон мира по нарастающей, ведь в ИТ нет границ.
Колбасов, там Россиа а не Америка (или на худой конец Европа), особенно не разгонишься с профессиональной какой хочу/интересно работой, прикладной математики почти не нужно совсем, а нужен блат чтобы попасть в Газпром на непыльную программистскую должность до пенсии.
Кстати интересно что нынешние 25-40 лет профессиональные программисты собираются там делать после кризиса среднего возраста и как жить в ретаиренмент? Пенсия очевидно небольшая (и серые зарплаты не способствуют ее росту), пенсий от компаний простым российским служашим или на худой конец 401К плана нет, купить и управлять своим реалестате (ну может одна квартира а сам жить на дачу) вряд ли реально. С $3-4К в Москве при тех ценах сильно не наоткладываешь если только нет второго члена семьи с такой/большей зарплатой.