На постоянке тоже самое, может только другие занкомые нужныOtherSide wrote:Не знаю, я по знакомству только халтурки или удаленную работу получал.Stoic wrote: Ох ! а я и не понял, что там про Москву.
Тогда вообще все просто. Никакое резюме ненужно вообще, а нужны знакомые....
Как пройти собеседование?
-
- Уже с Приветом
- Posts: 11844
- Joined: 02 Mar 2007 02:14
Re: Как пройти собеседование?
Сначала я был хорошим мальчиком, а потом исправился.
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Понятно, что наличие рекомендаций устройство на работу упрощает (думаю везде, и в США тоже), но не так что бы без них нельзя было обойтись.. По крайней мере так было 5-6 лет назад, когда последний раз работу менял. Вообще, привтовская традиция пихать рефренсы "как хорошо, что я вовремя свалил" куда не попадя, очень раздражает.Stoic wrote: На постоянке тоже самое, может только другие занкомые нужны
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Как пройти собеседование?
Вполне себе нормальные и достаточно простые вопросы если компания хочет найти гика который каждый день начинает с разминки в С++ на топкодере
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Как пройти собеседование?
a* prt;
ptr++;
- выдаст ошибку т.к. переменная ptr не объявлена.
- если все же prt++ то формально указатель сдвинется вперед на размер типа а - но проблема в том что в prt лежит мусор и сдвиг может увести указатель куда-нибудь не туда, вызвав exception
ptr++;
- выдаст ошибку т.к. переменная ptr не объявлена.
- если все же prt++ то формально указатель сдвинется вперед на размер типа а - но проблема в том что в prt лежит мусор и сдвиг может увести указатель куда-нибудь не туда, вызвав exception
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
Не обращайте внимание на сисадмина. У него знания об устройстве на работу совершенно перпендикулярные, как и собственно его работа к нашей.OtherSide wrote:Понятно, что наличие рекомендаций устройство на работу упрощает (думаю везде, и в США тоже), но не так что бы без них нельзя было обойтись.. По крайней мере так было 5-6 лет назад, когда последний раз работу менял. Вообще, привтовская традиция пихать рефренсы "как хорошо, что я вовремя свалил" куда не попадя, очень раздражает.Stoic wrote: На постоянке тоже самое, может только другие занкомые нужны
Last edited by Medium-rare on 13 Mar 2012 17:13, edited 1 time in total.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
1) Вы же видите, что это описка..Dweller wrote:a* prt;
ptr++;
1) выдаст ошибку т.к. переменная ptr не объявлена.
2) если все же prt++ то формально указатель сдвинется вперед на размер типа а - но проблема в том что в prt лежит мусор и сдвиг может увести указатель куда-нибудь не туда, вызвав exception
2) Никакого эксепшина не произойдет, с чего бы, мы же его не разименовываем
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Как пройти собеседование?
Ну, не разыменовываем щас, так придется это делать потом Тогда другой ответ, что ptr++ бессмысленно т.к. оперирует мусором.OtherSide wrote:1) Вы же видите, что это описка..Dweller wrote:a* prt;
ptr++;
1) выдаст ошибку т.к. переменная ptr не объявлена.
2) если все же prt++ то формально указатель сдвинется вперед на размер типа а - но проблема в том что в prt лежит мусор и сдвиг может увести указатель куда-нибудь не туда, вызвав exception
2) Никакого эксепшина не произойдет, с чего бы, мы же его не разименовываем
Не вижу подвоха в задачке. Скорее всего там была еще одна описка, т.е.
a* prt;
*prt++;
(С++ последний раз я использовал очень давно)
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Вот задача целиком:Dweller wrote:
Не вижу подвоха в задачке. Скорее всего там была еще одна описка, т.е.
a* prt;
*prt++;
(С++ последний раз я использовал очень давно)
class A {
public:
A operator++(int) {
cout << "2" << endl;
return A();
}
void method() {
cout << "1" << endl;
}
};
int main(int argc, char** argv) {
A* obj;
obj->method();
obj++;
}
Сказать что будет на экране, и доказать что не упадет. Отдельным вопросом было на сколько увеличится obj
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
Что называется "поведение не определено", главное зло от неинициализированных переменных.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 18862
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Как пройти собеседование?
Имхо, в релизе может упасть, а может и не упасть; в дебаге упадет...
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Boriskin wrote:Имхо, в релизе может упасть, а может и не упасть; в дебаге упадет...
Ну я так и ответил, что упадет и ошибка. Когда спросили почему - ответить не смог, по логике причин для падения нет, т.к. вызов метода берется не из указателя. Оно так и есть - по опыту - падает, но падение искуственное, форсированное самой Студией.
Зачем знать такие подробности для реальной работы - не понимаю. На интервью экзаменаторы всем своим видом показали, что 10 лет опыта я себе приписал или занимался неизвестно чем.
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Как пройти собеседование?
Наверное это тонкий способ понять приходилось ли за 10 лет фиксить разнообразный чужой код в С++.
Плохой чужой код - рассадник подобных задач.
Плохой чужой код - рассадник подобных задач.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
Зачем знать и уметь рассказать, "почему оно упадёт" на интервью? О! Вначале казалось, что они к вам несправедливы. Конечно, когда точно неизвестно почему именно упадёт, то вопрос как-бы тухлый. Но имея в виду, что отвечаешь тоже человеку, а не роботу, можно версий накидать.OtherSide wrote:Boriskin wrote:Имхо, в релизе может упасть, а может и не упасть; в дебаге упадет...
Ну я так и ответил, что упадет и ошибка. Когда спросили почему - ответить не смог, по логике причин для падения нет, т.к. вызов метода берется не из указателя. Оно так и есть - по опыту - падает, но падение искуственное, форсированное самой Студией.
Зачем знать такие подробности для реальной работы - не понимаю. На интервью экзаменаторы всем своим видом показали, что 10 лет опыта я себе приписал или занимался неизвестно чем.
Как-то, Unitialized variable causes non-deterministic program code behavior.
1) If the garbage pointer variable points to the memory mapped for this process (in the OS), we can never know what type of data there, so we don't know how the code behaves when it accesses the data by that address.
2) If the garbage pointer variable does not point to the memory mapped for this process and the code accesses the data by that address we have some Page Exception Fault or General Protection Fault, that executes standard OS process crash procedure.
Тут можно порассуждать, как возбуждается GPF в OS, как Kernel вступает. Это всё очень прямые свидетельства качества системного программиста. C/C++ программеры должны это знать и понимать.
Last edited by Medium-rare on 13 Mar 2012 18:50, edited 1 time in total.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Типа отбрехаться знанием страшных слов? Меня попросили по шагам рассказать что происходит при запуске функции, откуда берется ее адрес, и откуда она берет доступ к данным. Действительно, падать не должно. Но по опыту-то падало!Medium-rare wrote: Зачем знать и уметь рассказать, "почему оно упадёт" на интервью? О! Вначале казалось, что они к вам несправедливы. Конечно, когда точно неизвестно почему именно упадёт, то вопрос как-бы тухлый. Но имея в виду, что отвечаешь тоже человеку, а не роботу, можно версий накидать.
Как-то, Unitialized variable causes non-deterministic program code behavior.
1) If the garbage pointer variable points to the memory mapped for this process (in the OS), we can never know what type of data there, so we don't know how the code behaves.
2) If the garbage pointer variable does not point to the memory mapped for this process we have some Page Exception Fault or General Protection Fault, that executes standard OS process crash procedure.
Тут можно порассуждать, как возбуждается GPF в OS, как Kernel вступает. Это всё очень прямые свидетельства качества системного программиста. C/C++ программеры должны это знать и понимать.
Опыт работы с чужим кодом такой пример не раскрывает нисколько: если я увижу такой код, я уже на уровне рефлекса распознаю ошибку, а не буду рассуждать: один фиг оно не упадет, т.к. функция не виртуальная, пойдет и так.
Вообще же поднатаскатся на таких задачах проблем не вижу - кол-во каверзных вопросов ограниченно, и еще чуть подготовившись можно быстро отвечать на все. Но что же делать с MFC, COM, WinAPI и прочим? Каждая из книг по этим технологиям занимает страниц 900. И если к кавернзным вопросам по С++ еще можно подготовится, то от мысли о том, что нужно зубрить эти фолианты мне становится совсем дурно.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
У вас неправильное отношение к интервью. Это практический вполне вопрос. Если бы вы имели опыт написания, скажем, драйверов, или работы с железками то "отбрехаться знанием страшных слов" звучало бы просто как ответ сисадмина на серьёзный вопрос низкоуровневого программирования. Потому надо понимать, что там физически происходит.OtherSide wrote: Типа отбрехаться знанием страшных слов?
При всём при том вы можете быть вполне полезным программеров в своей нише. Но уж больно "кучеряво" не отвечать на такие вещи для нашей с вами специфики.
Last edited by Medium-rare on 13 Mar 2012 18:55, edited 1 time in total.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Плюс еще вопрос мотивации: когда в 17 лет я писал утилиты, которая ворует кнопочки из MS WORD - то чувствовал себя кул хацкером. Сейчас же уже подобные эксперименты не являются для меня столь захватывающими и учебник по MFC уже не читается захватывающе.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
Сейчас всё больше сокращется для нас рынок, C/C++, если про Windу. Есть более менее стабильные области за пределами Windы и кросс-платформенное либо железячное программирование. Все области, где надо хорошо понимать связь между архитектурой процессора / ОS / вашего кода.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Ну знаете, это как то несерьезно на вопрос почему упадет, говорить что упадет из-за GPF. Это-то понятно.Medium-rare wrote:У вас неправильное отношение к интервью. Это практический вполне вопрос. Если бы вы имели опыт написания, скажем, драйверов, или работы с железками то "отбрехаться знанием страшных слов" звучало бы просто как ответ сисадмина на серьёзный вопрос низкоуровневого программирования. Потому надо понимать, что там физически происходит.OtherSide wrote: Типа отбрехаться знанием страшных слов?
При всём при том вы можете быть вполне полезным программеров в своей нише. Но уж больно "кучеряво" не отвечать на такие вещи для нашей с вами специфики.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
:смайлик, стучащийся лбом об стену:
Last edited by Medium-rare on 13 Mar 2012 19:00, edited 1 time in total.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
Честно говоря, последние 5 лет я вовсе писал библиотеку для обработки изображений, там взаимодействие с железом минимально.Medium-rare wrote:Сейчас всё больше сокращется для нас рынок, C/C++, если про Windу. Есть более менее стабильные области за пределами Windы и кросс-платформенное либо железячное программирование. Все области, где надо хорошо понимать связь между архитектурой процессора / ОS / вашего кода.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Как пройти собеседование?
Ну а писал бы тоже для graphic accelerator и интеграцию оного в OS, просёк бы. Open your mind.OtherSide wrote: Честно говоря, последние 5 лет я вовсе писал библиотеку для обработки изображений, там взаимодействие с железом минимально.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Как пройти собеседование?
Какой ужас, им нужны ведь увлеченные своим делом постоянно растущие специалисты. Я бы прочел хотя бы один учебник, хотя бы для того чтобы выглядеть бодрее и уверенее на интервью.OtherSide wrote:Плюс еще вопрос мотивации: когда в 17 лет я писал утилиты, которая ворует кнопочки из MS WORD - то чувствовал себя кул хацкером. Сейчас же уже подобные эксперименты не являются для меня столь захватывающими и учебник по MFC уже не читается захватывающе.
Ну и самое главное, поставьте себя на место интервьюеров и подумайте что именно они хотят услышать и какого кандидата ищут.
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
По контексту разговора было понятно что так отбрехаться нельзя. Было видно что требуются конкретные и четкие ответы. Не смотря на то, что я показал понимание (объяснил в какой ассемблерный код все собралось), ответ не засчитали. Вопрос был поставлен прямо - а какого размера объект данного класса должен был в памяти занимать? Вы лично знали, сколько именно? Конечно, можно логически дойти, но на ответ давалось секунд 10-15. Логически - понятно что либо 0, либо 1. С одной стороны переменных размером 0 я не встречал. С другой - а что же будет хранится в этом единственном байте?Medium-rare wrote::смайлик, стучащийся лбом об стену:
-
- Уже с Приветом
- Posts: 18862
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Как пройти собеседование?
I feel your pain.Medium-rare wrote::смайлик, стучащийся лбом об стену:
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Как пройти собеседование?
В том и дело, что сложно понять чего они ищут. 5-7 лет назад был кадровый голод, и я спокойно шел на собеседование, зная что не подхожу по половине пунктов (остальные можно подтянуть). На собеседовании были задачи на знание С++ (не столь искуственные), общие вопросы на алгоритмическое мышление и тестовое задание.Dweller wrote: Какой ужас, им нужны ведь увлеченные своим делом постоянно растущие специалисты. Я бы прочел хотя бы один учебник, хотя бы для того чтобы выглядеть бодрее и уверенее на интервью.
Ну и самое главное, поставьте себя на место интервьюеров и подумайте что именно они хотят услышать и какого кандидата ищут.
Сейчас я сталкиваюсь с тем, что предложение огромно; некогда ни учить, ни собеседовать. Есть список требований, к которым кандидат должен подходить сразу. Для меня нет проблемы вспомнить MFC и WINAPI. Если бы я получил реальный оффер, то я бы вспомнил все за неделю-две. Но в том и дело, что требуются они далеко не везде. В одном месте хотят MFC, в другом WinForms, в третьем - WPF. Все это держать в голове в идеальном состоянии одновременно - сложно. .