Что я не ожидал увидеть в тесте Java Programmer I (1Z0-803)

    Здесь нету примеров идеального кода, пяти шагов «как получить сертификат с вероятностью 100%, гарантия». Нету даже фотографий котиков :/

    В лучших стилях жанра «Смотрите, я получил сертификат!»


    Случилось это...

    В Праге, в центре тестирования Gopas, посредником был «Pearson VUE». Стоимость — 245 USD.

    Довела меня до этого...

    Обещанная на работе прибавка к зарплате. Осертифицироваться я хотел давно, но всегда успешно находил отговорку для переноса экзамена на «более подходящее время».

    Терпение и труд все перетрут

    Если у вас есть опыт программирования на Java (каких-нибудь 1+ лет), то особая подготовка не нужна, просмотрите темы экзамена и восстановите возможные пробелы. Лично я глянул sample questions и попросил экзамен не с самого утра дабы выспаться.

    Неожиданности

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

    1. Изменение и передача аргумента в одной строчке, по типу
      doStuff(i++, ++j, (k+=1));
      

      «И где неожиданность?» — спросите вы.
      Да, ничего сложного, но… В начале теста было два-три примера где нужно просто определить результат вызова метода с подобными изменениями аргументов. А потом где-то в 15-ти (число очень «на глаз») вопросах над аргументами по-разному «издевались» и от этого зависел правильный ответ, хотя пример был на совершенно другую тему. Т.е. если вдруг по каким-то причинам вы запутались с аргументами, то получите вдобавок минусы по наследованию и обработке исключений например.
    2. == 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, но это просто к слову.
    3. «Сделай это инкапсулированно» — говорили они.
      Попалось мне такое три раза, всегда давался класс (или два) и предлагались на выбор несколько изменений кода (типа поменять видимость переменной, добавить метод и т.п.). Два вопроса были абсолютно нормальными, а вот в третьем путем исключения остался один вариант — объявить переменную с default visibility как final. Инкапсуляция. Я допускаю, что что-нибудь упускаю, но остальные варианты определенно не подходили.
    4. Семь раз отмерь
      Как я и догадывался из 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, спасибо за внимание :)

    Послесловие: При написании поста постоянно вспоминал пословицу «Краткость — сестра таланта».

    UPD: все вопросы из здесьссылка очень похожи на реальные

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 29

      +1
      Да, на теги я редко обращаю внимание, но в этот раз прочитал :)
        +4
        Значит надо больше тегов добавлять и «никто не читает» в конец, чтобы наверняка :)
        0
        И на сколько сдали?)
          +1
          88%, внимательности и терпения нормально перепроверить не хватило :)
            +1
            Ну это неплохо, как мне кажется.
            А сколько времени дают на весь экзамен?
              0
              150 минут, хватает с запасом
                +1
                Еще небольшой вопросик:
                Использовали ли вы какие-нибудь книги по Java при подготовке и где еще можно посмотреть примерные вопросы с тестов?
                  +1
                  Вот эти вопросы очень похожи на реальные. До теста я думал что это фейк, либо очень старые :)
                  Вообще я не использовал ничего, да и книгу именно для теста я бы советовать не стал, ибо тест специфический. У оракла есть туториал, он вроде покрывает тест полностью
                    0
                    Большое спасибо :)
                    если интересуют примеры — обращайтесь, пока помню :)

                    Да, хотелось бы обратиться)
                      +1
                      Здесь был мой коммент.
                        +1
                        А тут второй.
                    0
                    enthuware.com/ лучшее для подготовки
            0
            можете попробовать договориться с работодателем на оплату оного, лично мне удалось.
            Интересно, какой резон ему-то оплачивать. Сертификат не сделает вас более успешным на текущей работе, но потенциально поможет в поиске новой оной.
              0
              Вообще у руководства позиция такая, что сотрудников нужно обучать, постоянно проходят курсы, в том числе и долговременные (6+ мес с экзаменами). В итоге пройти сертификацию мне предложила моя HR manager, возможно это связано. Либо это связано с тем, что у нас 1000+ разработчиков и для отчета руководству «похвальным» считается показать, что у тебя много сертифицированных ребят :)
                0
                постоянно проходят курсы, в том числе и долговременные (6+ мес с экзаменами). В итоге пройти сертификацию
                Я так понимаю, в вашем случае сертификация не была логичным завершением курсов, а прошла отдельно, что странно.
                предложила моя HR manager
                HR manager
                Первое подозрение закралось ещё раньше, на этой фразе только укрепилось. Чекнул профиль и действительно: оказалось вы работаете не в России.
                Что ж, это всё объясняет.
                  0
                  Для маленькой фирмы, конечно, выкидывать 200+ у.е. на бумажку программисту накладно, но фирма по-крупнее может, например в виде бонуса. Да и они любят когда у работников побольше «корочек». Думал это справедливо и для СНГ, может ошибаюсь.
                    0
                    Не сочтите за рекламу, я уже там 3 года не работаю, но например компания Luxoft (есть на хабре) мне оплатила сертификацию (около 4х лет назад, собственно). Причина вполне разумна — Люксофт — аутсорсинговая компания, поэтому количество сертифицированных специалистов в компании повышает ее престиж для заказчиков.
                  +1
                  В Казахстане есть практика на тендерах ставить требование вида «в компании должно работать не менее трёх программистов, имеющих сертификат такой-то». Т.е. обладание таким сертификатом может принести компании вполне ощутимый выигрыш тендера, а этим живут тут большая часть IT-компаний.

                  Возможно в других странах есть похожие ситуации, в которых сертифицированный разработчик приносит выгоду компании.
                    0
                    Сертифицированного специалиста можно дороже продать заказчику.
                      +1
                      Вообще-то для работодателя должно быть выгодно держать сертифицированых специалистов. Я точно за Оракл не скажу, могу только по примеру майкрософта. У них есть партнерство — голден, силвер и т.п. Партнерство это дает много чего — начиная собственно от выпендрежа для клиентов, до определенного количества лицензий разных продуктов на шару, что сильно экономит деньгу.
                      Так вот одно из требований этого партнерства это наличие определенного количества сертифицированных специалистов.
                      Ну и перед клиентом можно выпендриваться, мол у нас сертифицированные специалисты.
                      Поэтому зря вы так, работодателю, особенно большой компании выгодно когда вы сертифицированы и они платят за ваши попытки сертифицироваться. По крайней мере так было у меня, еще ни копейки не платил сам. Просто нужно согласовывать свое желание с менеджером.
                      А было и такое, что клиенту позарез нужно было получить партнерство, поэтому меня «присоединили» к компании клиента, что мол я у них работаю.
                      Да и проектов больших компании не дадут, пока клиент не удостоверится, что этот проект есть кому делать. Ну это все по крайней мере на европейском и американском рынке. Поэтому все компании из россии и украины которые играют там, делают это по их правилам.
                      Да и в последнее время после зубрежки и большого количества эксперементов, пробую онлайн тесты, дабы проверить уровень своих знаний и не пасть в глазах работодателя ибо некоторое время на обучение нам тоже выделяют и не хочется, что бы думали что пинаю и расслабляюсь в это время. Пробуйте сами проверить себя в онлайн тесте, например тут exambraindumps.com/ мне иногда просто интерестно пройти какой-то тест, цена небольшая, примерно чашка кофе.
                      0
                      А не подскажете, какой проходной балл?
                        0
                        77%, получается 70 из 90
                        0
                        Любопытно. Тот файл, который вы дали, последняя задача:

                        Given the code fragment:

                        interface SampleClosable {
                          public void close () throws java.io.IOException;
                        }
                        


                        Which three implementations are valid?
                        Варианты ответа
                        A.
                        public class Test implements SampleCloseable {
                          Public void close () throws java.io.IOException {
                            // do something
                          }
                        }
                        


                        B.
                        public class Test implements SampleCloseable {
                          Public void close () throws Exception {
                            // do something
                          }
                        }
                        


                        C.
                        public class Test implementations SampleCloseable {
                          Public void close () throws Exception {
                            // do something
                          }
                        }
                        


                        D.
                        public class Test extends SampleCloseable {
                          Public void close () throws java.IO.IOException {
                            // do something
                          }
                        }
                        



                        Логично, что последний как раз некорректный — Entends от интерфейса делать нельзя, да ещё и ошибка в регистре названия исключения. Но именно он указан как верный ответ. Нормально ли это для экзамена? Как разруливаете такие вопросы в реальности?
                          0
                          Хм, да уж. Я смотрел только сами задания в том файле, ответы вообще не смотрел.
                          Если конкретно по данному примеру, то кто-то неоднократно опечатался :) Особенно радует когда написано «Which three implementations are valid?».
                          В тесте ничего подобного не было, никаких опечаток не заметил. Еще если выбрать в задании меньше или больше ответов, чем нужно, то оно останется невыполненным и отобразится в разделе Review.
                            0
                            Да, я уже консилиум джаверов собрал, старался понять, где я не прав. И три варианта и ответ не тот. Там же только «А» ответ.
                            А где посмотреть на вопросы в сертификации (хотя бы примерные). Я вообще JS-ник, но эти тесты порешались запросто — мож и на Джаву сертифицироваться? =))
                              0
                              Да, только «А» :)
                              Если бесплатно, то вот в том файлике и в этом комменте настоящие вопросы :) В тесте каждый вопрос видоизменяется и повторяется несколько раз, но суть остается та жа. А вообще их продают, тут есть и триал версия. Но для 803-его мне кажется избыточным покупать вопросы.
                                0
                                Ну я хочу не подготовиться, а узнать, что моего уровня достаточно для проходжения. Спасибо за коммент
                          0
                          сдал несколько часов назад сей издевательский экзамен. Успешно (wat?!) — 75%.
                          Текущие условия: 70 вопросов, 120 минут, 63% порог. Сдавал на Радио 24, Центр сертификации Специалист.
                          Впечатления отвратительные — основная масса вопросов представляет портянки кода, а вовсе никакой не snipet of code, цель которых запутать, замылить глаз (похожие названия переменных, методов) и поймать НЕ на незнании, а на невнимательности к деталям, неспособности сходу увидеть подвох и неспособности быстро понять как ни крути немного пухлый код, написаный претендендующим на пулю в колено задротом.
                          Времени исключительно мало! Помеченные «маркером» вопросы (отложеные на потом, чтобы вернуться к ним позднее) успел разобрать вряд ли более половины.
                          Самое отвратительное в этом экзамене это не отсутствие уверенности в своих знаниях, а почти полная уверенность что у тебя есть серьезные шансы прошляпить подвох или не успеть.
                          Вышел будучи полностью уверенным в провале — вопросы не вызывающие сомнений подсчитать не успел, но по ощущениям около 25-30%. Попрощался с приготовлеными заранее 7.5штуками (за первую сдачу платила контора), здорово обеспокоился испорченой репутацией — получение сертификата было условием прохождения испытательного срока, расстроился — решение бытовых проблем усугублялось потерей времени на пересдачу, да и по самомнению удар как-никак.
                          Сообщение в Oracle CertView открывал ругая себя за наивность и беспочвенную надежду, был приятно удивлен.
                          Утвердился во мнении, что к экзамену в основном нужно готовиться не подтягивая свой уровень, уточняя тонкости, а тупо по книге для ЭТОГО экзамена + всякие quizful и прочие опросники. Я этой книги не приобретал (пожалел денег) теперь купил бы не задумываясь — полистал книгу по схожему экзамену и на экзамене увидел эти вопросы — те же портянки кода и схожие ловушки, о которых предупреждают тут же в комментах к заданиям.
                          Пахнет задротством и это именно оно и есть, но по-моему только так можно приобрести спокойствие и сосредоточенность, которых при сдаче так не хватает.
                          Готовился плотно недели 2 + до этого месяц в неспешном, но не расслабленом режиме, и даже в этом случае уверенности на экзамене я не ощутил.
                            0
                            я сдавал в 2012-м.
                            Готовился плотно неделю, результат — 100%
                            Все вопросы строятся на принципе — увидел подвох в коде (то что видно после первого прочтения) — знай — это наёбка, ищи подвох в подвохе.
                            Итого — банально анализировал каждый вопрос на предмет наличия двухходовки, как только находил — сразу переходил к следующему.
                            З.ы. Ушел на 20 минут раньше завершения теста… А Сертификат так и не прислали, 3 раза заказывал ;(

                          Only users with full accounts can post comments. Log in, please.