Как пройти собеседование?
-
- Уже с Приветом
- Posts: 63430
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Как пройти собеседование?
ну вообще-то даже простенькое WinAPI приложения занимают не один десяток строк кода. Там же блин, надо окно создать, ему обработчик событий приладить (даже если ничего не делающий, всё равно несколько строк). Т.е. пустой "скелет" скажем, где есть только одно окошко с менюшкой прилаженной (чтобы у вас был мотив WM_COMMAND обрабатывать) потянет легко на страничку.
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Как пройти собеседование?
во-первых, аналог hmenu там есть - lpszMenuName - ибо это имя ресурсаIvanF wrote:Я? По моему, это Вы хотели вые...ся и написали что если человек не смог на бумажке написать winapi приложение, то он их никогда не писал. Тогда поясните нам, как написать на бумажке winapi приложения, незная название полей? Мало того, вы даже список полей по назначению не помните, потому что hmenu и его аналогов там НЕТ вообще.Alexandr wrote:это вы так сумничать пытаетесь?
во вторых,
вот цитата автора:
и, судя по всему, автор впринципе ничего написать не смог, т.е. не вспомнил вообще ничего (или почти) или вы правда считаете, что его просили с точностью до запятой написать?Например, на одном из собеседований меня попросили написать простейшее WINAPI приложение.. на листике.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Как пройти собеседование?
автор, расскажите, что конкретно от вас требовали под "написать WinApi приложение" и что вы смогли написать?
интересно просто
интересно просто
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Как пройти собеседование?
автору, чтобы пройти этот "тест" нужно было просто рассказать и как вспомнит описать, чтоFlash-04 wrote:ну вообще-то даже простенькое WinAPI приложения занимают не один десяток строк кода. Там же блин, надо окно создать, ему обработчик событий приладить (даже если ничего не делающий, всё равно несколько строк). Т.е. пустой "скелет" скажем, где есть только одно окошко с менюшкой прилаженной (чтобы у вас был мотив WM_COMMAND обрабатывать) потянет легко на страничку.
нужно для WinAPi приложения, типа зарегать класс окна, создать окно, написать функцию окна, которая типа WM_CLOSE обрабатывает (шлет в поток PostQuitMessage()) и менюха с одним пунктом меню, может акселератором еще (без него тоже все хорошо)
+ цикл обработки сообщений создать
вот и усё
никаких особых геройств от него не требовалось
-
- Уже с Приветом
- Posts: 15872
- Joined: 01 Mar 2008 15:14
- Been thanked: 1 time
Re: Как пройти собеседование?
Попросили написать код, который выводит круг на печать. Спросили как сделать PrintPreview. С принтером работал когда-то, если бы стала такая задача разобрался бы за 20 минут.Alexandr wrote:автор, расскажите, что конкретно от вас требовали под "написать WinApi приложение" и что вы смогли написать?
интересно просто
-
- Уже с Приветом
- Posts: 63430
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Как пройти собеседование?
в "обычной жизни" я бы тоже не вспомнил сходу, хотя когда-то писал коммерческое приложение которое печатало созданные документы, ну и конечно print preview там тоже был.OtherSide wrote: Попросили написать код, который выводит круг на печать. Спросили как сделать PrintPreview. С принтером работал когда-то, если бы стала такая задача разобрался бы за 20 минут.
Хе-хе, писалось это ещё на "Борланде"

Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 719
- Joined: 07 Jan 2011 20:58
- Location: New York
Re: Как пройти собеседование?
Ну да. Один "гений" путает C# и C++, другой все помнит, но забывает разницу между hmenu и именем ресурса. hmenu - это HANDLE который может быть аналогом чего угодно, но не аналогом названия ресурса.Alexandr wrote:во-первых, аналог hmenu там есть - lpszMenuName - ибо это имя ресурса
А вы еще и экстрасенс??? Кроме того...Причем тут запятые, если вы не помните названия полей? Может быть в вашем болтологическом языке и можно писать какое нибудь приложение незная этого, но на С это НЕВОЗМОЖНО. Приведите нам пример вашего кода на вашем "болто-выпендрежном" языке, в котором вы не помните название полей. А мы все вместе попробуем там расставить запятые, с которыми у вам проблемы, и откомпилировать его на VC++.Alexandr wrote: во вторых,
вот цитата автора:и, судя по всему, автор впринципе ничего написать не смог, т.е. не вспомнил вообще ничего (или почти) или вы правда считаете, что его просили с точностью до запятой написать?Например, на одном из собеседований меня попросили написать простейшее WINAPI приложение.. на листике.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Как пройти собеседование?
т.е. добавили бы WM_PAINT, который говорит BeginPaint, чтобы hdc получить, ellipse и endpaint()OtherSide wrote:Попросили написать код, который выводит круг на печать. Спросили как сделать PrintPreview. С принтером работал когда-то, если бы стала такая задача разобрался бы за 20 минут.Alexandr wrote:автор, расскажите, что конкретно от вас требовали под "написать WinApi приложение" и что вы смогли написать?
интересно просто
насчет PrintPreview - та же хрень, только есть что-то типа GetPrinterDC, ну и смаштабировать надо так (SetMode, SetWindowPort, SetWindowOrg либо через ViewPort), чтобы экранные коордитаты соответствовали тем, что на принтере
(узнавать о client area страницы принтера и экрана можно через GetDeviceCaps), ну да хрен с ним
а что вы им ответили и что им не понравилось?
кста, они в вакансии указывали что WinAPI знать надо?
-
- Уже с Приветом
- Posts: 719
- Joined: 07 Jan 2011 20:58
- Location: New York
Re: Как пройти собеседование?
Воистину экстрасенсAlexandr wrote: автору, чтобы пройти этот "тест" нужно было просто рассказать и как вспомнит описать, что
нужно для WinAPi приложения, типа зарегать класс окна, создать окно, написать функцию окна, которая типа WM_CLOSE обрабатывает (шлет в поток PostQuitMessage()) и менюха с одним пунктом меню, может акселератором еще (без него тоже все хорошо)
+ цикл обработки сообщений создать
вот и усё
никаких особых геройств от него не требовалось


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

-
- Уже с Приветом
- Posts: 719
- Joined: 07 Jan 2011 20:58
- Location: New York
Re: Как пройти собеседование?
"Волшебный" NISSAN/Toyota/etc легко превращает груду полезных ископаемых в машину, но это не делает их аналогами.Alexandr wrote:и? вы думаете что-то новое сказали? волшебный LoadMenu легко превращает имя в Handle
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Как пройти собеседование?
все же интересно:
а что вы им ответили и что им не понравилось?
кста, они в вакансии указывали что WinAPI знать надо?
-
- Уже с Приветом
- Posts: 15872
- Joined: 01 Mar 2008 15:14
- Been thanked: 1 time
Re: Как пройти собеседование?
Написали что требуется. Все что мог ответить, это словами логику - регистрация класса - создание окна - гет-транслейт-диспатч, выход по wm_close. Как добавить кнопку на форуму вспомнить не смог.Alexandr wrote:все же интересно:
а что вы им ответили и что им не понравилось?
кста, они в вакансии указывали что WinAPI знать надо?
Тем не менее считаю, что winAPI знаю неплохо, т.к. вполне мог бы написать сейчас несложное приложение, имея под рукой хелп.
-
- Уже с Приветом
- Posts: 719
- Joined: 07 Jan 2011 20:58
- Location: New York
Re: Как пройти собеседование?
Интерестно, а какая разница? Вы думаете что в этом случае кандидат должен знать WinAPI наизусть, чтобы уметь воспроизвести программу на бумаге?Alexandr wrote:все же интересно:
кста, они в вакансии указывали что WinAPI знать надо?
-
- Уже с Приветом
- Posts: 719
- Joined: 07 Jan 2011 20:58
- Location: New York
Re: Как пройти собеседование?
Ну на самом деле выход можно сделать когда угодно, просто завершив WinMain, да и терминация цикла обработки сообщений обычно происходит по WM_QUIT. А WM_CLOSE это просто сообщение окна, которое может быть не связанно с выходом из приложения. Более того, даже если закрыть окно по WM_CLOSE но не прервать цикл обработки сообщений, то приложение будет дальше работать.OtherSide wrote:выход по wm_close. Как добавить кнопку на форуму вспомнить не смог.
А вот про форму не совсем понятно. Вас собеседовали как Delphi программиста?