Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизКак определить чего ты стоишь как программист. Найти похожие ветки
← →
Матлабист (2004-04-06 14:52) [80]> Прогоняют теорию. Черт, а я ее уже и не помню..
Практику за пять минут можно посмотреть в F1. Практический вопрос это вроде пятый параметр CreateFile ?
> Я считаю нет такой задачи которой не смог бы решить..
Учите матчасть. Такие задачи есть. Называется алгоритмически неразрешимая проблема.
просто
>Работодатели обычно нужно что бы они взяли и человек сразу сел и начал
> писать..
Далеко не всегда... Даже скорее всего не всегда...
>Так вот люди которые причастны к принятию решений о брать или на
> брать на работу (ели здесь есть такие) посоветуйте как
> вести разговор и что нужно знать в обязательном порядке
> при походе на разговор с работодателем.
Почитай Дж. Спольски. Характер вопросов может варьироваться от того, какой человек нужен. Теоретически подкованный человек имеет больший рессурс, что ли... Потому как теория одна, а практика это но 80% приложения теории. Лучше знать теорию и в случае необходимости приспособить ее под определенные нужды, чем придумывать что-то свое... Знание теории подразумевает изучение литературы, широту интересов...
Есть еще личностные качества. Которые можно определить по манере собеседования, по характеру написания исходников, ...
Поэтому вопросы должны быть самые разные.
А вести себя надо достойно и честно.
← →
вразлет © (2004-04-06 14:53) [81]data ©
в х86 сначала младший потом страший
← →
data © (2004-04-06 14:54) [82]вразлет © (06.04.04 14:53) [81]
я так и написала
← →
MBo © (2004-04-06 14:55) [83][71]
3.1 -
Смысл уловлен правильно, но ответ инверсный ;)
← →
вразлет © (2004-04-06 14:56) [84]Сдвиг на 8 вправо дает число 0111....111 - всего 24 разряда. А последующая операция со сдвигом указателя на 2 байта
Не знаю как в делфи, а в С это сдвиг указателя на 2*размер unteger
← →
вразлет © (2004-04-06 14:56) [85]integer
← →
вразлет © (2004-04-06 14:57) [86]data ©
я так и написала
виноват, мне показалось
← →
data © (2004-04-06 14:58) [87]в дельфи на 2 байта должно быть, сейчас проверю..
← →
вразлет © (2004-04-06 15:00) [88]Юрий Зотов © (06.04.04 14:44)
Извините, но тогда я не понимаю - как же можно судить о том, поверхностные это вопросы, или нет, если это не Ваша область??
Да, это не моя область, но тем не менее, со многими из вопросов мне пришлось столкнуться
← →
nikkie © (2004-04-06 15:01) [89]>Не знаю как в делфи, а в С это сдвиг указателя на 2*размер unteger
если не производить преобразование указателя к integer
← →
data © (2004-04-06 15:01) [90]не, операция W := PWord(Integer(@I) + 2)^; сдвигает на 2 байта (в дельфи), проверила, получилось 127, как и ожидалось теоритически:)))
← →
Юрий Зотов © (2004-04-06 15:03) [91]> MBo © (06.04.04 14:55) [83]
Точно! Это уже мне минус - за невнимательность. :о)
← →
вразлет © (2004-04-06 15:03) [92]nikkie ©
Я же вслепую, даже не знаю, как обозначается операции извлечения адреса и извлечения данных по указателю)
← →
Vuk © (2004-04-06 15:05) [93]to Карелин Артем:
>3.4. Можно мьютекс забабахать в конструктор. А можно статью
>глянуть на Королевстве.
Mutex - это не интересно. Есть способ более изящный. По большому счету, это вопрос на знание RTL. Кстати, если не ошибаюсь, мы этот способ с Юрием как-то, давно еще, задолго до первого тура ответов на эти вопросы, здесь обсуждали. :o)
to Юрий Зотов:
Вообще говоря, я уже на эти вопросы пытался для себя ответить еще в самый первый раз. Честно завалился на первом. C поиском файлов затруднения только в том, что не особо часто приходится этим пользоваться, и многое просто не помнится, принцип же и средства понятны. Остальное, по большей части, каких-либо вопросов не вызвало, кроме OnCreate, над которым пришлось тогда малость подумать.
← →
data © (2004-04-06 15:05) [94]2 ALL
меня очень вопросы 3.2 и 3.3 продолжают интересовать:
как выяснилось, про 3.3 я в принципе ошибалась:(
а 3.2 кажется, что здесь дело в методе Assign у TPersistent, но не уверена. Может у кого есть еще варианты?
← →
вразлет © (2004-04-06 15:11) [95]1.1
Ответ 65535?
← →
вразлет © (2004-04-06 15:13) [96]то есть 255
← →
Юрий Зотов © (2004-04-06 15:13) [97]> вразлет © (06.04.04 15:00) [88]
> Да, это не моя область, но тем не менее, со многими из
> вопросов мне пришлось столкнуться
И о чем же это говорит? Ровно ни о чем. Мне вот пришлось столкнуться с квартирным вопросом - толку ноль.
Уверяю Вас, что на эти вопросы (которые Вы сочли поверхностными) правильно и полностью здесь ответят совсем немногие (если вообще не единицы). Что само по себе совсем не страшно (см.[13], второй абзац). Тест как раз и составлен с расчетом на то, чтобы выяснить уровень кандидата (который говорит о его опыте, зрелости, мышлении и т.п.) и наилучшую область его использования в команде. Если такой человек нужен - он проходит.
← →
data © (2004-04-06 15:16) [98]2 вразлет © (06.04.04 15:13) [96]
127
← →
вразлет © (2004-04-06 15:19) [99]Ну если знаю их поскольку постольку, то человек, который работает в этой области должен их щелкат, как орешки, это же Азы вин програмиирования без них вообще никак!
← →
вразлет © (2004-04-06 15:21) [100]data ©
Где ты взяла старший 0?
← →
MBo © (2004-04-06 15:22) [101]>data © (06.04.04 15:05) [94]
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=215
← →
Матлабист (2004-04-06 15:23) [102]Примено так (без F1 и Delphi)
1.1.
High(I) = $7FFF FFFF
High(I) shr 8 = $007F FFFF
Ответ: $007F
2.1.
procedure PrintFolder(const Name, Mask: string);
var
SR: TSearchRec;
begin
FindFirst(Name + "\" + Mask, SR, faAnyFile);
repeat
if SR.Name = "." then Continue;
if SR.Name = ".." then Continue;
WriteLn(Name + "\" + SR.Name);
if SR.Attribute or faDirectory
then PrintFolder(Name + "\" + SR.Name + Mask);
until False;
end;
begin
PrintFolder("C:\", "A?.B*");
end.
3.1. При клике на TLabel активизируется ассоциированный с ним контрол. TStaticText просто отображает информацию. Скорее всего у них даже наследники разные --- TStaticText должен по идее не содержать Handle а рисоваться на канвасе формы.
3.2. От какого класса наследуется класс TCollection и почему?
Скорее всего TPersistent, чтобі иметь возможность быть записанной в поток. Хотя для записи коллекций используются независимые и встроенные от TPersistent механизмы.
3.3. У каких компонентов есть событие OnCreate? Почему его нет у других компонентов?
Не знаю. Догадка -- у контейнеров других компонентов. Чтобы проинициализировать все элементы...
3.4. Написать модуль, содержащий класс, который позволяет создать только единственный экземпляр объекта этого класса (контрольное время - 10 минут).
Если по памяти, то перекрыть GetInstance... Вот только без помощи трудно это сделать... План примерно такой:
type
TSingleton = class(TObject)
function GetInstance: Pointer; override;
end;
var
SingleClass: TSignleton;
function TSingleton.GetInstance: Pointer;
begin
if Assigned(SingleClass) then
begin
Result := SingleClass;
Exit;
end;
Result := inherited GetInstance;
SingleClass := Result;
end;
// + синхронизация, если необходимо...
4. Знание основ Win32 и его API.
4.1. Что такое объекты ядра? Перечислите несколько функций, в которых они используются.
Объекты, которые принадлежат одинаково всем процессам (и к которым можно получить доступ из всех процессов). CreateMutex
4.2. Приводят ли вызовы функций LoadLibrary/FreeLibrary к загрузке/выгрузке DLL в/из ОЗУ?
Если счетчик ссылок этой DLL = 0 (и количество потоков и процессов, ее использующей), то да. DLL, загруженные по разным адресам, считать разными.
4.3. Написать стандартный код цикла выборки сообщений (контрольное время - 2 минуты).
var
Msg: _MESSAGE;
while GetMessage(Application.MainForm.Handle, Msg, 0, 0) <> 0 do
begin
TranslaceMessage // если есть акселераторы
DispatchMessage // если надо вызвать MainWndProc
end;
4.4. Чем отличаются друг от друга функции SendMessage и PostMessage?
В случае разных потоков SendMessage ждет окончания обработки сообщения (или вызова не помню какой функции), а PostMessage нет.
4.5. Как послать сообщение в безоконное приложение и как его там принять?
PostThreadMessage
GetThreadMessage / или GetMEssage(0, ...)
Надо уточнить.
4.6. Каково назначение функций GetStockObject и SelectObject? Нужно ли после их вызова вызывать функцию DeleteObject?
SelectObject нужен дл ятого, чтобы установить текущий элемент для рисования (стиль кисти, например). Нужно или нет надо смотреть в помощи... Уже не помню, но судя по логике нет. DeleteObjct должен соответствовать соответвующей Create-функции (например CreatePen). Возможно надо удалить, если мы выбираем текущую кисть, и потом не возвращаем старое значение... Тогда то старое надо удалить.
← →
data © (2004-04-06 15:23) [103]вразлет © (06.04.04 15:21) [100]
я же писала в [70] - это знаковый байт.
← →
data © (2004-04-06 15:24) [104]т.е бит:)))
← →
Юрий Зотов © (2004-04-06 15:29) [105]> вразлет © (06.04.04 15:19) [99]
> Это же Азы вин програмиирования
Если Вы говорите о разделе 4, то совершенно верно. Если же о других, то это скорее не Win, а Паскаль и VCL. И там есть вопросы, которые ДАЛЕКО не азы.
> без них вообще никак!
Если писать "на чистом API" - то да. Но Вы забываете, что речь идет о Delphi. А это RAD-среда, и VCL берет на себя многие тонкости API, позволяя ПРИКЛАДНОМУ программисту сосредоточиться на ПРИКЛАДНОЙ проблеме, а не на освобождении хэндлов - то есть, программировать, даже не зная толком, что такое ядро системы. Поэтому раздел 4 как раз и проверяет, знает ли человек основы Windows и API, способен ли он программировать "ручками", на чистом языке и без всяких VCL.
← →
Юрий Зотов © (2004-04-06 15:32) [106]> Матлабист (06.04.04 15:23) [102]
Оценки интересуют?
:о)
← →
Матлабист (2004-04-06 15:33) [107]Можно
← →
Матлабист (2004-04-06 15:37) [108]Только попутал порядок байт в первом --- они в обратной последовательности
← →
data © (2004-04-06 15:38) [109]>4.2. Приводят ли вызовы функций LoadLibrary/FreeLibrary к
>загрузке/выгрузке DLL в/из ОЗУ?
>Если счетчик ссылок этой DLL = 0 (и количество потоков и >процессов, ее использующей), то да. DLL, загруженные по разным >адресам, считать разными.
Мне кажется, загрузка происходит лишь частичная, т.е. при LoadLibrary загружается в память только ф-ция, которая отвечает за увеличение-уменьшение счетчика process attach, а другие ф-ции только метятся ссылками, но в реальную физическую память не грузятся. А собственно их подгрузка происходит уже при вызовах.
т.е. я бы ответила на вопрос "грузится частично".
← →
Algol (2004-04-06 15:39) [110]
> При клике на TLabel активизируется ассоциированный с ним
> контрол. TStaticText просто отображает информацию.
TLabel это TGraphicControl, а TStaticText это TWinControl , с всеми вытекающими ...
← →
вразлет © (2004-04-06 15:48) [111]Юрий Зотов ©
Наконец –то уловил Вашу мысль, и в значительной степени не могу не согласиться
← →
Игорь Шевченко © (2004-04-06 15:48) [112]:(
← →
Юрий Зотов © (2004-04-06 15:53) [113]> Матлабист (06.04.04 15:33) [107]
Пока без полных комментариев, чтобы сохранить интригу, ОК?
1.1 * (неполное объяснение)
2.1 * (искать будет, но совсем не так, как нужно)
3.1 - (просто неверно)
3.2 +
3.3 * (неточное объяснение)
3.4 * (идея не доведена до конца)
4.1 * (неточное объяснение)
4.2 + (с небольшой натяжкой)
4.3 +
4.4 + (с небольшой натяжкой)
4.5 + (с небольшой натяжкой)
4.6 * (ответ неполный и частично неверный)
IMHO, результат довольно высокий.
← →
Игорь Шевченко © (2004-04-06 15:55) [114]
> 2.1.
>
> procedure PrintFolder(const Name, Mask: string);
> var
> SR: TSearchRec;
> begin
> FindFirst(Name + "\" + Mask, SR, faAnyFile);
> repeat
> if SR.Name = "." then Continue;
> if SR.Name = ".." then Continue;
> WriteLn(Name + "\" + SR.Name);
> if SR.Attribute or faDirectory
> then PrintFolder(Name + "\" + SR.Name + Mask);
> until False;
> end;
А эта...FindNext ?
← →
Игорь Шевченко © (2004-04-06 15:58) [115]
> Догадка -- у контейнеров других компонентов
TPanel и TPageControl (например) являются контейнерами. У них нету события OnCreate :)
← →
Style © (2004-04-06 15:59) [116]3.1 - (просто неверно)
>>>Скорее всего у них даже наследники разные
2Ю.З.
А наследники что у них не разные??
Лейбл - это TGraphicsControl, а StaticText - TWinControl.
помоему даже в CreateWindow был тип такой - "Static"..
← →
Vuk © (2004-04-06 16:01) [117]Добавлю к
>У них нету события OnCreate
а если бы было, то...
Это подсказка такая. :o)
← →
Style © (2004-04-06 16:06) [118]2Vuk
то это было бы и не нужно :))
← →
Vuk © (2004-04-06 16:08) [119]to Style © (06.04.04 16:06) [118]:
>то это было бы и не нужно
Ну почему, я бы иной раз не отказался бы от такого события. Да вот не судьба... :o)
← →
Матлабист (2004-04-06 16:12) [120]
> А эта...FindNext ?
Забыл. Привык к циклам repeat until False, что не отвыкнешь... Правильно, конечно же FindNext(SR) <> 0. И FindClose тоже надо. Привык, что если что неправильно --- то при отладке всплывет... Вообще с листа писать довольно-таки неприятно...
IMHO, результат довольно высокий
В смысле взяли бы?
Страницы: 1 2 3 4 5 6 7 8 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.7 MB
Время: 0.054 c