В лучших стилях жанра «Смотрите, я получил сертификат!»
Случилось это…
В Праге, в центре тестирования Gopas, посредником был «Pearson VUE». Стоимость — 245 USD.
Довела меня до этого…
Обещанная на работе прибавка к зарплате. Осертифицироваться я хотел давно, но всегда успешно находил отговорку для переноса экзамена на «более подходящее время».
Терпение и труд все перетрут
Если у вас есть опыт программирования на Java (каких-нибудь 1+ лет), то особая подготовка не нужна, просмотрите темы экзамена и восстановите возможные пробелы. Лично я глянул sample questions и попросил экзамен не с самого утра дабы выспаться.
Неожиданности
Следующие примеры не делают экзамен сложным, но упоминание о них, вероятно, может быть полезными для людей, которые тоже решили пренебречь подготовкой.
- Изменение и передача аргумента в одной строчке, по типу
doStuff(i++, ++j, (k+=1));
«И где неожиданность?» — спросите вы.
Да, ничего сложного, но… В начале теста было два-три примера где нужно просто определить результат вызова метода с подобными изменениями аргументов. А потом где-то в 15-ти (число очень «на глаз») вопросах над аргументами по-разному «издевались» и от этого зависел правильный ответ, хотя пример был на совершенно другую тему. Т.е. если вдруг по каким-то причинам вы запутались с аргументами, то получите вдобавок минусы по наследованию и обработке исключений например. - == vs. equals
Тема заезженная и я предполагал, что Oracle захочет основательно ее проверить, но количество вопросов на эту тему превысило мои ожидания. На вскидку их было около десяти (всего вопросов 90). Мы люди взрослые и оператор "==" для сравнения объектов обычно не используем, поэтому некоторые нюансы забываются. В основном надо было оценить результат сравнения String’ов, было банальное типа
String s = "im string"; String s2 = new String("im string"); System.out.println(s == s2); System.out.println(s.equals(s2));
а было и что-то типа
public class HelloWorlder { public String name; public HelloWorlder(String name){ this.name = name; } public static void main(String[] args){ HelloWorlder h = new HelloWorlder("String"); HelloWorlder h2 = new HelloWorlder("String"); System.out.println(h.name == h2.name); System.out.println(h.name.equals(h2.name)); } }
Кроме String’ов сравнивали объекты без переопределенного equals, но это просто к слову.
- «Сделай это инкапсулированно» — говорили они.
Попалось мне такое три раза, всегда давался класс (или два) и предлагались на выбор несколько изменений кода (типа поменять видимость переменной, добавить метод и т.п.). Два вопроса были абсолютно нормальными, а вот в третьем путем исключения остался один вариант — объявить переменную с default visibility как final. Инкапсуляция. Я допускаю, что что-нибудь упускаю, но остальные варианты определенно не подходили. - Семь раз отмерь
Как я и догадывался из sample questions, очень много вопросов было на внимательность. Примеры:
- большой кусок кода, который запускался
public static int main(String[] args)
или
public static void main(String args)
- Высчитывания сколько раз в консоль выпишется какая-нибудь цифра в результате выполнения while-цикла вложенного в for-цикл, каждый имеет continue, break, exceptions и т.п. Не торопимся и считаем, времени у нас достаточно.
- Compilation failed, Runtime exception, Exception at line «n» и т.п. Такие варианты ответов попадаются часто (самый популярный — Compilation failed). В каждом таком примере необходимо внимательно смотреть все названия, декларации, вызываемые методы, параметры и т.д.
- большой кусок кода, который запускался
Но бояться нечего, большинство вопросов близки к практике. Есть и интересные вопросы, мне понравилось задание «выберите три bad practices» из предложенных, запомнилась инициализация char массива
char[] array = { 97, 'b' };
надо было вспомнить, что 97 это ‘a’.
Если вам кажется, что сертификат стоит дороже, чем польза от него, то можете попробовать договориться с работодателем на оплату оного, лично мне удалось.
Не забываем, что 1 / 2 = 0, спасибо за внимание, если интересуют примеры — обращайтесь, пока помню 🙂
Послесловие: При написании поста постоянно вспоминал пословицу «Краткость — сестра таланта».
ссылка на оригинал статьи http://habrahabr.ru/post/197694/
Добавить комментарий