Рано или поздно все вы освоите (или уже освоили) базис C/C++ и почуствуете
в себе силы заняться чем-то серьезным.
Тем, кто считает, что он уже изучил C++ или подходит к этому
советую попробовать свои силы на действительно серьезных тестах.
Я имею в виду сайт
http://www.BrainBench.com/
В отличие от множества других центров тестирования, сертификация на этом
сайте будет для вас совершенно бесплатной. Нужно лишь знать технический
английский и иметь немного - около часа - времени в Интернете. Уверяю вас,
это время окупится. Вы поймете, что вы еще очень и очень многого не знаете.
А это в обучении ну очень полезно, если это только вас не отпугнет. Но
большинство из нас (я думаю) стали изучать C/C++ не от хорошей жизни,
а по необходимости. А это значит - есть и другие стимулы кроме простого
интереса. В общем, очень рекомендую попробовать.
Спрашивается - зачем? Во-первых, проверить себя, узнать свой уровень и свои
слабые стороны (по данному предмету). Во-вторых, каждый сданный экзамен -
это ваш актив. Вы можете смело сказать нанимателю "Я - Сертифицированный
Специалист". А он может проверить это, сходив на сайт.
Какие тесты там есть? Нас может заинтересовать следующее:
C - чистый C
C++ - только C++
Visual C++ - MS Visual C++ 5.0-6.0
Windows API - Win32 API
Programming Concepts - концептуальные знания по программированию
Programmer/Analyst Aptitude - адаптированность к профессиям
программиста и аналитика
OO Concepts - объектно-ориентированное программироване
Технология сдачи такова. Заходите на сайт. Выбираете
Member Logon - New User? Register for Free!
Регистрируетесь - вводите свой e-mail и задаете пароль для BrainBench.
Затем выбираете Take FREE Exam, выбираете в полученной форме
тематику экзамена - и вперед. Но! Перед экзаменом рекомендую вам очень
серьезно подготовиться. Перелистать учебник, прикинуть области, которые вы
знаете плохо. Очень рекомендуется скачать Test Outline, т.е. список тем,
которые включены в тест, и изучить его.
Далее. В тесте 40 вопросов. Не падайте со стула - здесь все действительно
очень серьезно. На каждый вопрос дается 5 вариантов ответа.
Обязательно прочтите их ВСЕ прежде чем отвечать. На ответ дается обычно 180
секунд. Как правило, этого вполне хватает. На весь экзамен включая выбор
теста у меня уходит порядка 50 минут.
Ваши знания оцениваются по шкале от 1 до 5. Тому, кто преодолеет рубеж в
2.75 балла, дают сертификат. За 4.0 балла и больше дают сертификат Мастера.
Имейте в виду, что даже для обычного сертификата нужно серьезно поработать.
(А казалось бы - всего-то "троечка").
Каждому зарегистрированному пользователю дают свой Transcript ID. Это
число, по которому ЛЮБОЙ может узнать ваши результаты. Но только те,
которые вы сами захотите показать.
После ответа на вопросы вы получите страницу результата с анализом ваших
знаний. Вы увидите ваш балл, статистику по скорости ответов и - самое
главное - ваши Strong and Weak Areas, т.е. сильные и слабые стороны.
Но вам НЕ скажут на какие вопросы вы ответили неверно, только общий процент
правильных ответов.
Обязательно проделайте работу над ошибками. Как? Очень просто. Все, что вы
читаете в браузере сохраняется в его локальном кеше. Для Internet Explorer это
"C:\WINDOWS\Temporary Internet Files\". Чтобы получить все вопросы с
последнего экзамена я делаю так. В файл-менеджере Far делаю поиск всех
файлов в кеше, смотрю их в виде списка в одной панели, сортирую по времени
последней модификации. Остается выбрать последние 40 *.htm - это и есть
вопросы.
Ниже приведены примеры ПРОСТЫХ вопросов из тестов BrainBench.
Попробуйте на них ответить...
Только давайте сразу договоримся. Не нужно присылать мне ответы на эти и
другие вопросы BrainBench с целью узнать "а как правильно". Я представляю
себе репертуар этих тестов и по возможности буду давть вопросы (с
переводом, как и эти) и правильные ответы на них (возможно, даже с
комментариями). Мои возможности по написанию писем сильно ограничены - не
более 20-30 конструктивных ответов в сутки. Так что имейте совесть.
Ну и последнее. Не стоит пренебрегать этой возможностью, как и не стоит
делать из этого самоцель ("Во что бы то ни стало получить мастера").
Используйте это как еще одно средство для обучения.
Пример вопроса по C
Question [Вопрос]
What is a difference between a declaration and a definition of a
variable?
[В чем разница между объявлением и определением переменной?]
Choices [Варианты ответа]
1. Both can occur multiple times, but a declaration must occur first.
[Оба могут встречаться множество раз, но объявление должно идти
первым]
2. A declaration occurs once, but a definition may occur many times.
[Объявление встречается один раз, а определение - может быть
много раз]
3. There is no difference between them.
[Никакой разницы между ними нет]
4. Both can occur multiple times, but a definition must occur first.
[Оба могут встречаться множество раз, но определение должно идти
раньше]
5. A definition occurs once, but a declaration may occur many times.
[Определение происходит один раз, а объявление - может быть
несколько раз]
With regard to the above code, what parameter should be passed to the
GetDeviceCaps() function to check that the printer can display bitmaps?
[Относительно приведенного выше кода, какой параметр должен быть передан
в функцию GetDeviceCaps() чтобы убедиться что принтер может изображать
битмап?]
What does Windows use to provide device independence for an application?
[Что использует Windows для предоставления приложению независимости от
устройств?]