Как пройти собеседование?

User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Как пройти собеседование?

Post by Flash-04 »

ну вообще-то даже простенькое WinAPI приложения занимают не один десяток строк кода. Там же блин, надо окно создать, ему обработчик событий приладить (даже если ничего не делающий, всё равно несколько строк). Т.е. пустой "скелет" скажем, где есть только одно окошко с менюшкой прилаженной (чтобы у вас был мотив WM_COMMAND обрабатывать) потянет легко на страничку.
Not everyone believes what I believe but my beliefs do not require them to.
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Как пройти собеседование?

Post by Alexandr »

IvanF wrote:
Alexandr wrote:это вы так сумничать пытаетесь?
Я? По моему, это Вы хотели вые...ся и написали что если человек не смог на бумажке написать winapi приложение, то он их никогда не писал. Тогда поясните нам, как написать на бумажке winapi приложения, незная название полей? Мало того, вы даже список полей по назначению не помните, потому что hmenu и его аналогов там НЕТ вообще.
во-первых, аналог hmenu там есть - lpszMenuName - ибо это имя ресурса
во вторых,
вот цитата автора:
Например, на одном из собеседований меня попросили написать простейшее WINAPI приложение.. на листике.
и, судя по всему, автор впринципе ничего написать не смог, т.е. не вспомнил вообще ничего (или почти) или вы правда считаете, что его просили с точностью до запятой написать?
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Как пройти собеседование?

Post by Alexandr »

автор, расскажите, что конкретно от вас требовали под "написать WinApi приложение" и что вы смогли написать?

интересно просто
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Как пройти собеседование?

Post by Alexandr »

Flash-04 wrote:ну вообще-то даже простенькое WinAPI приложения занимают не один десяток строк кода. Там же блин, надо окно создать, ему обработчик событий приладить (даже если ничего не делающий, всё равно несколько строк). Т.е. пустой "скелет" скажем, где есть только одно окошко с менюшкой прилаженной (чтобы у вас был мотив WM_COMMAND обрабатывать) потянет легко на страничку.
автору, чтобы пройти этот "тест" нужно было просто рассказать и как вспомнит описать, что
нужно для WinAPi приложения, типа зарегать класс окна, создать окно, написать функцию окна, которая типа WM_CLOSE обрабатывает (шлет в поток PostQuitMessage()) и менюха с одним пунктом меню, может акселератором еще (без него тоже все хорошо)
+ цикл обработки сообщений создать
вот и усё

никаких особых геройств от него не требовалось
OtherSide
Уже с Приветом
Posts: 15869
Joined: 01 Mar 2008 15:14
Been thanked: 1 time

Re: Как пройти собеседование?

Post by OtherSide »

Alexandr wrote:автор, расскажите, что конкретно от вас требовали под "написать WinApi приложение" и что вы смогли написать?

интересно просто
Попросили написать код, который выводит круг на печать. Спросили как сделать PrintPreview. С принтером работал когда-то, если бы стала такая задача разобрался бы за 20 минут.
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Как пройти собеседование?

Post by Flash-04 »

OtherSide wrote: Попросили написать код, который выводит круг на печать. Спросили как сделать PrintPreview. С принтером работал когда-то, если бы стала такая задача разобрался бы за 20 минут.
в "обычной жизни" я бы тоже не вспомнил сходу, хотя когда-то писал коммерческое приложение которое печатало созданные документы, ну и конечно print preview там тоже был.

Хе-хе, писалось это ещё на "Борланде" 8)
Not everyone believes what I believe but my beliefs do not require them to.
IvanF
Уже с Приветом
Posts: 719
Joined: 07 Jan 2011 20:58
Location: New York

Re: Как пройти собеседование?

Post by IvanF »

Alexandr wrote:во-первых, аналог hmenu там есть - lpszMenuName - ибо это имя ресурса
Ну да. Один "гений" путает C# и C++, другой все помнит, но забывает разницу между hmenu и именем ресурса. hmenu - это HANDLE который может быть аналогом чего угодно, но не аналогом названия ресурса.
Alexandr wrote: во вторых,
вот цитата автора:
Например, на одном из собеседований меня попросили написать простейшее WINAPI приложение.. на листике.
и, судя по всему, автор впринципе ничего написать не смог, т.е. не вспомнил вообще ничего (или почти) или вы правда считаете, что его просили с точностью до запятой написать?
А вы еще и экстрасенс??? Кроме того...Причем тут запятые, если вы не помните названия полей? Может быть в вашем болтологическом языке и можно писать какое нибудь приложение незная этого, но на С это НЕВОЗМОЖНО. Приведите нам пример вашего кода на вашем "болто-выпендрежном" языке, в котором вы не помните название полей. А мы все вместе попробуем там расставить запятые, с которыми у вам проблемы, и откомпилировать его на VC++.
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Как пройти собеседование?

Post by Alexandr »

OtherSide wrote:
Alexandr wrote:автор, расскажите, что конкретно от вас требовали под "написать WinApi приложение" и что вы смогли написать?

интересно просто
Попросили написать код, который выводит круг на печать. Спросили как сделать PrintPreview. С принтером работал когда-то, если бы стала такая задача разобрался бы за 20 минут.
т.е. добавили бы WM_PAINT, который говорит BeginPaint, чтобы hdc получить, ellipse и endpaint()
насчет PrintPreview - та же хрень, только есть что-то типа GetPrinterDC, ну и смаштабировать надо так (SetMode, SetWindowPort, SetWindowOrg либо через ViewPort), чтобы экранные коордитаты соответствовали тем, что на принтере
(узнавать о client area страницы принтера и экрана можно через GetDeviceCaps), ну да хрен с ним

а что вы им ответили и что им не понравилось?
кста, они в вакансии указывали что WinAPI знать надо?
IvanF
Уже с Приветом
Posts: 719
Joined: 07 Jan 2011 20:58
Location: New York

Re: Как пройти собеседование?

Post by IvanF »

Alexandr wrote: автору, чтобы пройти этот "тест" нужно было просто рассказать и как вспомнит описать, что
нужно для WinAPi приложения, типа зарегать класс окна, создать окно, написать функцию окна, которая типа WM_CLOSE обрабатывает (шлет в поток PostQuitMessage()) и менюха с одним пунктом меню, может акселератором еще (без него тоже все хорошо)
+ цикл обработки сообщений создать
вот и усё

никаких особых геройств от него не требовалось
Воистину экстрасенс :crazy: ! Как точно все воссаздал. И даже поправил автора...Автор то сказал что просили НАПИСАТЬ, но Alexandr то все видел и там его просили РАССКАЗАТЬ. Как не хорошо, автор ....врать самому Alexandr :lol:

P.S. Я Понял...Alexandr программирует силой мысли и поэтому ему не надо знать название полей!
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Как пройти собеседование?

Post by Alexandr »

Ну да. Один "гений" путает C# и C++, другой все помнит, но забывает разницу между hmenu и именем ресурса. hmenu - это HANDLE который может быть аналогом чего угодно, но не аналогом названия ресурса.
и? вы думаете что-то новое сказали? волшебный LoadMenu легко превращает имя в Handle
А вы еще и экстрасенс??? Кроме того...Причем тут запятые, если вы не помните названия полей? Может быть в вашем болтологическом языке и можно писать какое нибудь приложение незная этого, но на С это НЕВОЗМОЖНО. Приведите нам пример вашего кода на вашем "болто-выпендрежном" языке, в котором вы не помните название полей. А мы все вместе попробуем там расставить запятые, с которыми у вам проблемы, и откомпилировать его на VC++.
:fool:
IvanF
Уже с Приветом
Posts: 719
Joined: 07 Jan 2011 20:58
Location: New York

Re: Как пройти собеседование?

Post by IvanF »

Alexandr wrote:и? вы думаете что-то новое сказали? волшебный LoadMenu легко превращает имя в Handle
"Волшебный" NISSAN/Toyota/etc легко превращает груду полезных ископаемых в машину, но это не делает их аналогами.
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Как пройти собеседование?

Post by Alexandr »

все же интересно:
а что вы им ответили и что им не понравилось?
кста, они в вакансии указывали что WinAPI знать надо?
OtherSide
Уже с Приветом
Posts: 15869
Joined: 01 Mar 2008 15:14
Been thanked: 1 time

Re: Как пройти собеседование?

Post by OtherSide »

Alexandr wrote:все же интересно:
а что вы им ответили и что им не понравилось?
кста, они в вакансии указывали что WinAPI знать надо?
Написали что требуется. Все что мог ответить, это словами логику - регистрация класса - создание окна - гет-транслейт-диспатч, выход по wm_close. Как добавить кнопку на форуму вспомнить не смог.
Тем не менее считаю, что winAPI знаю неплохо, т.к. вполне мог бы написать сейчас несложное приложение, имея под рукой хелп.
IvanF
Уже с Приветом
Posts: 719
Joined: 07 Jan 2011 20:58
Location: New York

Re: Как пройти собеседование?

Post by IvanF »

Alexandr wrote:все же интересно:
кста, они в вакансии указывали что WinAPI знать надо?
Интерестно, а какая разница? Вы думаете что в этом случае кандидат должен знать WinAPI наизусть, чтобы уметь воспроизвести программу на бумаге?
IvanF
Уже с Приветом
Posts: 719
Joined: 07 Jan 2011 20:58
Location: New York

Re: Как пройти собеседование?

Post by IvanF »

OtherSide wrote:выход по wm_close. Как добавить кнопку на форуму вспомнить не смог.
Ну на самом деле выход можно сделать когда угодно, просто завершив WinMain, да и терминация цикла обработки сообщений обычно происходит по WM_QUIT. А WM_CLOSE это просто сообщение окна, которое может быть не связанно с выходом из приложения. Более того, даже если закрыть окно по WM_CLOSE но не прервать цикл обработки сообщений, то приложение будет дальше работать.
А вот про форму не совсем понятно. Вас собеседовали как Delphi программиста?

Return to “Работа и Карьера в IT”