Как получить статус Мастера на BrainBench.com

(13 советов непрофессионала)

-Ты че, дурак?

-Да, вот справка!

В жизни каждого из нас возникает такой момент, когда самому уже надоедает доказывать, кому бы то ни было, что бы то ни было, и хочется просто ткнуть пальцем в бумажку - На, мол, читай! Специально для тебя писали, на чистом английском языке. Даже печать не пожалели фирменную, тисненую. Видишь, написано - "Certified Master Visual Basic Programmer". Да, это значит, что, как включать компьютер знаю. И что такое база данных - тоже. А уж с работой, которую вы мне тут собираетесь предложить за такие жалкие гроши, и подавно справлюсь. Так что не жмись, потом же будешь внукам рассказывать, что в твоей занюханной фирме работал сертифицированный BrainBench-ем специалист! И не просто специалист, а МАСТЕР! Короче, или ты меня принимаешь на работу, или одно из двух!

(А как иначе с ними разговаривать?)

Однако, как вы уже догадались, прежде чем вот так вот, словно красным флагом, размахивать сертификатом перед носом своего потенциального работодателя, нужно этот сертификат получить. Но как это сделать?

Далее приведены несколько личных советов по прохождению сертификационного экзамена на сайте одной из самых серьезных и уважаемых в наше время компаний подобного рода BrainBench Co. (бывший Tekmetrics) Эти рекомендации не следует воспринимать как руководство к действию, это не десять советов как стать миллионером, или что-то подобное, это всего лишь мысли и идеи, которые посетили меня при прохождении вышеуказанного экзамена, которые помогли мне сдать его, и которые возможно (ВОЗМОЖНО!) помогут и вам.

Что такое компания BrainBench, какова ее роль в Интернет-сертификации, я здесь много рассказывать не буду, вы должно быть и сами это знаете, а не знаете, так прочтете где-нибудь, хотя бы у них же на сайте, а вот их адрес я просто должен упомянуть, в конце концов, именно по этому адресу и придется сдавать эти самые "страшные" экзамены. Адрес этот прост, как и у любой другой фирмы, капитал которой превышает миллион долларов США - www.brainbench.com . Скажу лишь, что эта компания представляет интересы крупной компьютерной буржуазии, сертифицируя специалистов по всему миру посредством Глобальной Информационной Сети Интернет, тем самым, увеличивая численность угнетаемого класса программистов и системных администраторов, что позволяет акулам империализма еще более наживаться на их нелегком труде. Для того чтобы стать сертифицированным специалистом, необходимо сдать экзамен, отвечая через Интернет в реальном режиме времени, на большое количество заковыристых вопросов. Правильные ответы суммируются, и путем хитрых вычислений приводятся к результирующему баллу, в интервале от 1,0 до 5,0. Любой набравший 2,75 и больше считается сдавшим экзамен, любой набравший 4,0 и больше считается МАСТЕРОМ. Экзамены существуют более чем по 50 категориям, от мудреных Oracle PL/SOL Programmer и SEI SMM Analyst (кстати, кто-нибудь знает, что это вообще такое?) до простых (на вид) MS Office Specialist и Windows 95 Power User. Тема этой статьи - помощь в сдаче сертификационного экзамена Visual Basic Programmer с присвоением квалификации Мастера.

Да, совсем забыл сказать. Пока что сертификация АБСОЛЮТНО бесплатна, хотя друзья из BrainBench обещают вскорости прикрыть это невиданное безобразие. Но пока они не только сертифицируют бесплатно, они еще и так же бесплатно высылают на дом, в любую точку мира, официальную бумагу, о которой я говорил в самом начале, со всеми тесненными печатями, голограммами и прочими прибамбасами, (так что даже и не пытайтесь распечатать сертификат от BreinBench на своем цветном струйном принтере! :)

Итак, что нужно, чтобы сдать экзамен по VB на BrainBench-е с результатом Мастер:

1. Самое очевидное и самое необходимое - знания. Я думаю, это итак понятно, и обсуждению не подлежит. Нужно действительно хорошо знать язык программирования Visual Basic, причем не просто знать, а иметь какой никакой опыт работы с ним. И чем шире этот опыт, тем лучше. Однако, во-первых: если этих знаний и опыта итак выше крыши, но вам не нужны ни какие сертификаты, вы итак уже давно живете в Америке, у вас есть вилла, Шевроле и шикарная любовница. А во-вторых, как показывает практика, знания знаниями (их никогда не бывает слишком много), но кой-какие житейские хитрости никогда не помешают, а часто даже помогут добиться результата, ибо как говорят, главное не наличие головы, а способность ее приложить, или ей приложиться. :)

Ежели вас все-таки смущает использование хитростей и подручных средств при сдаче любого экзамена, можете не читать дальше этот текст, однако от себя скажу - НИ ОДИН из известных мне программистов, администраторов, системщиков и просто хороших людей, НЕ СДАЛ экзамены BrainBench с первого раза НЕ ПОЛЬЗУЯСЬ никакими подсказками и сразу на уровень Мастера. Интересно, это вообще возможно?

2. Необходим компьютер. И не нужно говорить: "Да что ты гонишь, это и дураку понятно, что нужен компьютер, кончай нас за лохов держать!" Нужен не абы какой компьютер, а хороший компьютер, начиная от Pentium II-300 и выше. Хотя, в принципе, и Celeron подойдет. Главное оперативки побольше. Памяти никогда не бывает достаточно, не так ли? ;) Зачем же такой хороший компьютер и почему нельзя сдать на 386SX-40 см. ниже. (Хотя почему нельзя сдать? В принципе можно. При большом наличии п.1 сдать можно на любом, да и вообще, как я уже говорил, при этом совсем не нужно ничего сдавать, итак все ясно.)

3. Нужен хороший модем, хорошая телефонная линия, и хороший Интернет-провайдер. Опять же повторюсь, можно ничего этого не иметь, но не забывайте - экзамен проходит on-line. При сдаче VB будут заданы 40 вопросов, на каждый вопрос отводится по 180 секунд. Опыт показывает, что меньше чем за час управится трудно. Это значит, что необходимы как минимум 1 час стабильной Интернет связи. Жители Москвы и С-Питербурга возможно посмотрят на меня как на идиота, типа, а в чем проблема-то, однако жители российской глубинки могут наоборот посмотреть с укоризной - где же взять-то целый час, да еще стабильной связи. Нужно постараться и поискать. Я же нашел. :) По большому счету, если связь оборвалась, можно в течение часа соединиться снова, и, введя специальный пароль, который выдается в начале каждого экзамена, продолжить тестирование, но это такой геморрой, скажу я вам... Да, и еще одно. То, что у вас модем 300/NONE никого в безжалостной Америке не волнует, (см. Примечание 1.) отсчет 180 секунд начинается с момента начала загрузки страницы. Слава Богу, что в экзамене по VB нет рисунков, а вот, например, при сдаче на Windows 95 Power User картинки с примерами практически в каждом вопросе, и порой бывало сидишь, время уже кончается, ты прочитал - мол, спрашивается, как следует поступить, когда глюкавый Windows выдал подобного типа ошибку, а картинка с самой ошибкой еще и на половину не прорисовалась. И приходится тыкать наобум. Так что лучше запастись хорошим модемом, и хорошей телефонной линией, мой вам совет.

4. Необходимо ХОРОШЕЕ знание английского языка, в особенности всяческих компьютерных терминов. Я понимаю, что выучить английский несложно, там все слова из С++ взяты :), но неплохо бы знать также и всяческие страдательные залоги, так как "переменная передаваемая в процедуру" и "процедура передающая переменную" это две большие разницы! Да и вообще, сам язык экзамена довольно сложный (с нашей, конечно, точки зрения), англо-говорящим с рождения сдавать его не в пример легче (хотя опять же см. Приложение 1.) По своему опыту скажу, БОЛЬШАЯ половина 180 секунд уходит на попытки понять, что же у тебя вообще спрашивается, ибо вопрос может быть на экран сплошного английского текста, да и каждый из пяти прилагаемых вариантов ответа тоже может быть по паре строчек.

Вот пример вопроса:

You have a project containing a Data Environment named DataEnvironment1. DataEnvironment1 contains one Connection named Connection1 and three Commands named Command1, Command2, and Command3. Each Command refers to a table in the database, and each table contains Boolean (True/False) fields.

Given the scenario above, how can you ensure that when you drag one of the Boolean fields from Command2 onto a Form or Data Report that the control created will be an Option Button?

1. Right click on Connection1, choose Properties, Field Mapping, and for Boolean choose the Option Button control.

2. Right Click on DataEnvironment1, choose Options, Field Mapping, and for Boolean choose the Option Button control.

3. Right click on each of the Boolean fields in Command2, choose Properties, and choose the Option Button control from the Control drop down list.

4. Right click on Command2, choose Properties, Field Mapping, and for Boolean choose the Option Button control.

5. Controls cannot be associated with fields or data types using the Data Environment.

Очень помогают в таком случае всяческие электронные переводчики, которые можно загрузить в другое окно, и переключаться между окнами, пытаясь перевести хотя бы смысл вопроса. Это одна из причин, по которому нужен хороший компьютер, но не единственная.

5. Кроме того, что английский язык сложный, еще и сами вопросы по VB сложные, вот, например статистика:

Язык

Всего сдававших

Сдавших

Мастер

С

33546

14101

3441

Delphi

18837

8589

2268

Perl

6495

1576

247

VB

24650

5137

392

Из таблицы можно сделать неутешительный вывод: 10.3% сдававших С стали мастерами, 12% Дельфистов – мастера, 3.8% пишущих на Perl добились этого и лишь и всего лишь 1.6% из тех, кто сдавал Visual Basic добрались до звания мастера. Полтора человека из ста! Абидна, да…

Где же вы, мастера Визуального Бейсика! Днем с огнем вас не сыскать!

Так что не думайте, мол, Visual Basic – язык для начинающих, и вопросы тоже будут для начинающих. Ничего подобного! Вопросы сложные, требующие не только знаний синтаксиса и пунктуации, но и реальной работы с VB.

6. Прежде чем приступать к сдаче экзамена по VB, советую попытать счастья в чем-нибудь более легком, например, попробовать сдать экзамен Windows 95 Power User. Этим, во-первых, вы вообще узнаете, что такое – сдавать экзамены через Интернет, во-вторых, появится возможность попрактиковаться в переводе вопросов с английского на русский, в-третьих, убедитесь, на самом ли деле ваш компьютер так быстр, как это требовалось в п. 1 для переключения между окном самого экзамена и окнами всяких переводчиков, хелперов, и т.д. и т.п.

7. Непосредственно перед сдачей предлагаю запустить в Windows следующие задачи (вот она, где нужна память-то компьютерная, обширная):

o        MSDN

o        Сам Visual Basic, в котором подключены и на ToolBar выведены все стандартные Microsoft-овские контролы, типа MCI, Chart, RichTextBox, и так далее, чтобы потом не мучится, подключать в процессе, так как вопросов по стандартным контролам куда как много…

o        Переводчик типа PROMPT-а или чего еще.

o        WinAmp с хорошей музыкой, которая настраивает вас на правильный лад. :)

8. Как я уже говорил, мало у кого получалось (если вообще у кого-то получалось) сдать на Мастера с первого раза, а посему, при загрузке вопроса в броузере не поленитесь затратить пару секунд и сохранить данную страницу (как и все последующие 40) в виде файла (например в Internet Explorer это делается так: File\SaveAs…). В любом случае полезно просмотреть потом вопросы еще раз (утро вечера мудренее) без спешки и дамоклова меча 180-ти секунд. Да и потом, количество вопросов имеющихся в загашниках BrainBench-а ограничено, вы удивитесь, но при повторной сдаче 7-8 вопросов будут вам уже знакомы, и если вы нашли на них правильный ответ в офф-лайне, это означает ни более, ни менее, как еще 7-8 правильных ответов!

9. Вопросы типа:

Sub Main()
Dim i As Long
Dim s As String
Dim b() As Byte
s = Chr$(65) + Chr$(66) + Chr$(67) ' ABC
b = s
For i = LBound(b) To UBound(b)
Debug.Print b(i);
Next i
End Sub

When the sample code above is run in the VB IDE, what is displayed in the debug window?

1. 65 66 67 0

2. 65 0 66 0 67 0

3. A B C 0

4. 65 0 0

5. runtime error: subscript out of range

легче всего решаются простым копированием указанного текста в буфер, оттуда в VB IDE, запуском кода, и проверкой, что же на самом деле будет отображено в Debug Window, вопросы типа:

Text1.SelStart = 0
Text1.SelLength = 100

Given the sample code above, and knowing that the contents of Text1 are "Smith", what happens when the code executes?

1. "Smith" and 95 null characters are selected.

2. "Smith" and 95 spaces are selected.

3. "Smith" is selected.

4. When the control is tabbed to, "Smith" is deleted.

5. An error message indicates that the SelLength is out of range.

требуют перед запуском кода умения рисовать TextBox-ы на форме.

10. Вопросы типа:

What does the App.OLEServerBusyTimeout property control?

1. The number of seconds to retry an OLE request before the Component Busy dialog box is displayed.

2. The number of milliseconds to retry an OLE request before the Component Busy dialog box is displayed.

3. The number of seconds to retry an OLE request before returning a timeout result code to the caller.

4. The number of times to retry an OLE request before returning a timeout result code to the caller.

5. The number of milliseconds to retry an OLE request before returning a timeout result code to the caller.

требуют умения хорошо разбираться в MSDN. Да и вообще, ответы на практически все вопросы связанные с Propert-ями легче всего найти в MSDN. Установите MSDN у себя на винчестере по полной VB-шной программе, (это займет у вас примерно 120 Мб), и чуть что – поиск по индексу или по вхождению, и – вперед! Там все написано в лучшем виде.

11. Когда попадаются сложные вопросы, (особенно по работе с удаленными SQL-серверами и прочими настройками ADO, а под рукой как раз не оказалось подобного сервера, и VB IDE тестирование не помогает, советую прислушаться к такому вот простому правилу:

Из пяти возможных ответов на вопрос один чаще всего оказывается совершенно тупым и бессмысленным. Например, если спрашивается о том, как объявлять массивы в VB, наверняка один из ответов будет заявлять, что VB не умеет работать с массивами! :)

Но не попадитесь на удочку! Например, в вопросе:

Private Sub Command1_DblClick(Index as Integer)

If Index > 1 then

MsgBox "Click Click"
End If

End Sub

When the user double-clicks Command1, what does the sample code above do?

1. It displays a Message Box "Click Click".

2. If the Index value of Command1 is greater than 1, it displays a message box "Click Click".

3. If Command1 of the control array is greater than 1, it displays a message box "Click Click".

4. It displays a message box "Click Click" twice.

5. It does nothing.

ключ к правильному ответу не в тупости номера 5. а в том, что у командных кнопок не существует события Double Click! :)

Отбрасываем тупой ответ, остается 4. (Кстати, тупых может быть два ответа). А теперь приглядитесь повнимательнее к оставшимся. Вы заметите, что два ответа практически одинаковы, все различие в одном слове. Скорее всего (с вероятностью в 90%), что правильный ответ один из этих двух. Например:

You have a form containing a Label (Label1) and a TextBox (Text1). The caption for Label1 is set to "&Name".
You've been asked to change the form so when the user presses ALT-N focus changes to the TextBox automatically. What must be done to make the form, described above, work as requested?

1. Put Label1 and Text1 inside a container control (Frame or PictureBox).

2. Add code to the Forms KeyPress event to change focus to Text1 when the user presses ALT-N.

3. Set Label1.TabGroup to the same value as Text1.TabGroup and set Label1.TabStop to False.

4. Set Label1.TabIndex to 0 and set Text1.TabIndex to 0.

5. Set Label1.TabIndex to 0 and TextBox.TabIndex to 1.

можно заметить, что 4. и 5. ответы практически одинаковы, и, немного помыслив, доходит, что правильный ответ все же номер 5.

Метод исключения – прекрасный метод при сдаче экзаменов на BrainBench.com Отбросьте все неверные и невозможные ответы, и оставшийся будет верным, каким бы невероятным он не казался, говорил Шерлок Холмс. А уж это был дока во всяческих вопросах и ответах. Не будь он сыщиком, непременно стал бы программистом! :)

12. Когда вопрос совершенно незнаком (например, вопрос про то, как обрабатываются ошибки в Microsoft Multimedia Control, а вы никогда им не пользовались, и вообще на вашем компьютере нет звуковой карты, см. Приложение 1), и вы даже не знаете где искать хоть что-то похожее:

How do you test for errors encountered while using the MultiMedia control?

1. It is not possible to trap errors that occur in the MultiMedia control unless the Notify property is set to True.

2. By examining the completion code parameter passed to the Finished event after a command has completed.

3. By using the standard VB Err.Number and Err.Description variables.

4. By checking the return value from the Command method.

5. By examining the Error and ErrorMessage properties of the MultiMedia control.

попробуйте просто переключиться в VB IDE, ткнуть мышкой в MMControl (cм. совет номер 7), и нажать F1. MSDN выведет справку по этому контролу, тыкайте в его Properties, покажется список свойств. Смело ищите там Error Property и ErrorMessage Property. Нашли? Так какой же ответ правильный?

13. И последнее, купите хоть одну книгу по VB и прочитайте ее! Порой, это помогает…  

Успехов в прохождении теста!

Артем Прохоров АКА SLY2M sly2m@mail.ru

Transcript ID Number 106400

 

Примечание 1:

a = "@жспд!жпзфш!ужвж!пдпЛ"

For i = 1 To Len(a)

c = Chr$(Asc(Mid$(a, i, 1)) - 1) & c

Next i