Delphi Certification Program
Опубликовано 07.06.2011 г. 23:56
Может штука появилась и давно, но только сегодня увидел ссылку в твите Марко Канту.
Предмет обсуждения - http://www.embarcadero.com/certification Давайте посмотрим, что это такое. Программа сертификации предлагает нам два уровня сертификации - Delphi Developer и Delphi Master Developer.
Delphi Developer
Экзамен Delphi Developer предназначен для проверки ваших общих знаний о программировании в Delphi. В него входит проверка знаний синтаксиса, техник программирования, использования IDE и разработка баз данных. Разработчики, которые используют учебные материалы, и имеют хотя бы двухлетний опыт разработки должны сдать данный экзамен.Так нам говорит аннотация на соответствующей странице экзамен. Представлена ссылка на руководство для сдачи экзамена, в котором приведены ссылки на обучающие ресурсы и темы, который затрагиваются в экзамене. Первым вашим шагом к сдаче является изучение материала. Второй шаг - оплата экзамена. Стоимость сдачи - 49 у.е. Именно у.е ибо для США это доллары, а для европы евро. Суть в том, что вы покупаете код для доступа к тестированию, после чего в течении 90 дней вы должны его пройти. Где купить ключик? http://www.embarcadero.com/certification/where-to-buy Вопрос только один у российских разработчиков может быть: почему в списке нет России? ну да ладно. После того как вы завершите тестирование, вы получите свой результат. Если вы сдали тест, то вы получаете сертификат и какое то лого сертифицированного разработчика. Тестирование на эту степень проводится онлайн, так что податель сего сертификата никак не сможет доказать, что лично он сам сидел за монитором и отвечал на вопросы. Тест состоит из 60 вопросов, на которые вы должны ответить за 60 минут. т.е минута на вопрос. Чтобы сдать экзамен необходимо иметь 80% правильных ответов. Т.е 48 из 60. В каждом вопросе предусмотрено несколько вариантов ответа. Все вопросы имеют одинаковый вес в суммарном балле. Сертификат имеет смысл в течение 2х лет со дня получения. Экзамен охватывает следующие области:
- Основы Delphi
- Типы данных, переменные и константы
- Процедуры и функции
- Классы и объекты
- Обычные практики и ввод/вывод
- Библиотеки и пакеты
- Интерфейсы объектов
- Управление памятью
- Обобщения, атрибуты и анонимные методы
- Исключения
- Основы работы с БД
Давайте посмотрим на эти вопросы
1. Какие из перечисленных символов или слов определяют начало и конец блока кода в Delphi?
a) { }
b) [ ]
c) start end
d) begin end
2. Какой тип данных лежит в основе TDateTime?
a) Double
b) TObject
c) String
d) Integer
3. Что из перечисленного ниже не является корректным соглашением о вызовах в 32битных Delphi?
a) register
b) dynamic
c) stdcall
d) cdecl
4. Пакет Delphi может содержать компоненты, невизуальные компоеннты, но не формы
a) да
b) нет
5. Какой из нижеприведенных символов или слов обозначает определение атрибута.
a) { }
b) < >
c) [ ]
d) & &
e) ни один из перечисленных выше.
6. В какой области памяти располагаются локальные переменные и параметры процедур/функций.
a) стек
b) куча
c) в произвольной
7. Какие из перечисленных обобщенных классов будут разрушать объект при удалении его из списка (предполагается, что список владеет объектом, выбрать несколько)
a) TList
b) TObjectList
c) TDictionary
d) TObjectDictionary
8. При работе в большим количеством записей в наборе данных, какой метод DataSet необходимо вызвать, чтобы предотвратить обновление визуальных дата-контролов каждый раз при смене активной записи.
a) BlockUpdate
b) DisableControls
c) Disable
d) Ни один из вышеперечисленных
ОтветыВопросы весьма простые. Я правда ответил все равно только на 7 из 8ми. Почему то на 6й ответил heap. Хотя понятно, что параметры передаются через стек. Но на параметры я внимания не обратил, и сконцентрировался на локальных переменных, а уж где для них память выделяется я понятия не имею (: так что ткнул наугад. Хотя вопрос тоже не совсем корректен, при использовании модели вызова register параметры передаются напрямую в регистры процессора, что как мы знаем, повышает скорость работы. Если конечно же хватает регистров. Так же не совсем корректен и 7й вопрос. С одной стороны мы конечно же знаем, что уничтожать объекты будут TObjectList & TObjectDictionary. Но в вопросе интересная приписка "если список владеет объектом". Простите, но если список владеет, то он обязан уничтожать объект. Другое дело что TList & TDictionary сами по себе не умеют контролировать время жизни, т.е не являются владельцами. Т.е приписка была направлена на параметр конструктора TObjectList.Create([ownsObjects : boolean]), но тут забыли что у обычного TList такого нет. В общем лучше бы не делали такой приписки (: но это таки все придирки наверное. Зачем в 3м вопросе дописывать про 32битные? какая разница. Соглашение о вызовах одно везде, хоть там 16 хоть 64 бита.
1. Правильный ответ: d. begin end
2. Правильный ответ: a. Double
3. Правильный ответ: b. dynamic
4. Правильный ответ: b. False
5. Правильный ответ: c. [ ]
6. Правильный ответ: a. Stack
7. Правильный ответ: b and d. TObjectList and TObjectDictionary
8. Правильный ответ: b. DisableControls
Delphi Master Developer Certification
Аннотация:Эзкамен Delphi Certified Master Developer проверяет углубленное знания Delphi, архитектур, и знаний использования возможностей разработки среды Delphi XE. Тестирование включает проверку как основных таки углубленных знаний синтаксиса, техник программировния, использования IDE, построения проектов и групп проектов, использования и разработки компонентов, ваших знаний в создании настольных, клиент-серверных, интернет и многозвенных приложений. Сдача такого экзамена выделит вас как элитного разработчика среди сообщества Delphi. Разработчики с как минимум 4хлетним стажем должны сдать данный экзамен.Стоимость 149 у.е. Сдавать такой экзамен можно только в сертифицированном центре. опять же 60 вопросов за 60 минут и 80%, а имхо могли бы и поднять планочку - вопросов и времени побольше да порог процентов 90. Разделы уже другие:
- Общие представления о windows
- интерфейс и настройка Delphi XE
- Delphi VCL и RTL
- Работа с компонентами
- Язык Delphi и ООП
- Общие практики работы с БД
- dbExpress
- DataSnap
- написание DLLs и пакетов
- Основы разработки компонентов
- программирования для Internet
- Работа с XML
Давайте тоже рассмотрим примерные вопросы:
1. Какое свойство класса TCanvas позволяет вам вызывать функции Windows GDI и передавать необходимую информацию в контекст устройства?
a) DC
b) HDC
c) Wnd
d) Handle
2. Точка останова может быть установлена до выполнения программы.
a) да
b) нет
3. какие из этих контролов Windows не рисует автоматически? (выбрать все необходимые)
a) TEdit
b) TPageControl
c) TBitBtn
d) TDBGrid
4. Какой объект определяет где отображается элемент управления
a) форма
b) приложение
c) владелец контрола
d) родитель контрола
e) ни один из перечисленных
5. По отношению к приведенному ниже коду, какое утверждение из перечисленных ниже корректно, если класс TSample используется в компилированном коде?type TSample = class public class destructor Destroy; end;Деструктор класса(классовый) :
a) всегда будет выполняться перед выполнением секции finalization модуля.
b) всегда будет выполняться после секции finalization модуля.
c) The class destructor of TSample will be executed before the unit's finalization clause, since TSample has been referenced in the project.
d) The class destructor of TSample will be executed after the unit's finalization clause, since TSample has been referenced in the project.
6. Вам необходимо создать новый компонент который может получать фокус и взаимодействовать с клавиатурой, какой компонент вы выберите в качестве родительского класса?
a) TControl
b) TWinControl
c) TGraphicControl
d) TComponent
7. Предположим, вы выполняете хранимую процедуру используя TSQLStoredProc, и она возвращает несколько наборов данных. Как вы будете переходить к следующему набору данных?
a) использовать метод NextRecordSet
b) использовать метод Next
c) TSQLStoredProc не поддерживает навигацию по набору данных
d) ни один из перечисленных выше
8. Какой из перечисленных типов данных корректен для SOAP серверных методов (server side method) (выбрать нужные)
a) Integer
b) TDateTime
c) TStringList
d) Pointer
9. Какой тип DSServerClass.LifeCycle предоставляет единственный экземпляр класса на сервере?
a) Server
b) Session
c) Unique
d) Invocation
Ответыя ответил правильно на 6 из 9ти. Причем в первом была глупая ошибка, ткнул HDC, спутав с TCanvas.Handle : HDC, т.е выбрал тип вместо свойства. Ошибся с 5м. Никогда не задумывался даже, в какой момент выполняются классовые конструкторы/деструкторы, оказывается после финализации. странно. (: ну и в 9м, ибо вообще не знаю о чем речь :) В общем то конечно же интересно все это, интересные вопросы в Master Developer, возможно даже маловато времени 1 мин на вопрос для некоторых из них (как например про классовый конструктор, больше минуты будешь искать разницу между вариантами). Я бы наверное даже для интересу прошел тест на Developer. Надеюсь Всеволод Леонов расскажет нам подробней о сертификации, в том числе в России и странах СНГ. Напоследок еще один интересный факт - сертификат о сдаче экзамена вы получите в PDF виде (: можете его распечатать (: + получите мега отметку о сдаче в вашем аккаунте в EDN. А что есть Certification logo и как его использовать я так и не понял. Для руководителей прохождение может быть тоже полезным - Сохраните список вопросов, будете тестировать кандидатов при приеме на работу (:
1. Correct answer: d. Handle
2. Correct answer: a. True
3. Correct answer: c and d. TBitBtn and TDBGrid
4. Correct answer: d. The control's parent
5. Correct answer: d. The class destructor of TSample will be executed after the unit's finalization clause, since TSample has been referenced in the project.
6. Correct answer: b. TWinControl .....(много текста)
7. Correct answer: a. Execute NextRecordSet ....
8. Correct answer: a and b. Integer and TDateTime 9. Correct answer: a. Server
08.06.2011 в 14:45
http://delphi-insider.blogspot.com/2011/06/free-delphi-developer-certification.html
08.06.2011 в 18:28
10.06.2011 в 01:25
10.06.2011 в 11:43
21.08.2011 в 00:59
При покупке Delphi сертификацию предоставляют бесплатно.
Не сказать, что сложные вопросы.
Даже несколько вопросов досталось из списка примерных.
Например, про begin end, про истинный тип данных TDateTime... :)
21.08.2011 в 19:02
http://blog.karelia.ru/teran/?p=667
29.06.2011 в 23:41
http://blog.marcocantu.com/blog/delphi_certification.htm
Правда насчет оставшихся 2-х дней для получения бесплатного кода он не прав. До 31 июля владельцам XE можно получить код бесплатно.
30.06.2011 в 10:42