Первое техническое тестирование по Java

💡 Усі статті, обговорення, новини про Java — в одному місці. Приєднуйтесь до Java спільноти!

Напишу свой первый топик, прошу, если и тролить, то без фанатизма. Это чисто для обмена опыта с не новичками, а, я бы сказал, еще нулями.

Около года занимаюсь «самообучением» явы, осталось месяц на старой работе (на данный момент), соответственно, начал зондировать почву, куда бы можно было приткнутся разработчиком явы без опыта работы. И так вышло, что, ради интереса, пошел на свое первое техническое тестирование в одну, как я понимаю, солидную Харьковскую контору.

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

Оказалось все зря))). Никто никаких вопросов мне не задавал (кроме как меня зовут).

Для таких как я (самообразованых) пишу из личного опыта (а это аж 1 техническое собеседование) — техническое собеседование, это был тупо тест с чекбоксами на 80 вопросов в течении часа.

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

Может, кто и будет смеяться, но приведу один из тестов

try
        {
            int i = 0;
        }
        System.out.println(true);
        finally
        {
            System.out.println(false);
        }

Вроде все просто, но я, еще раз напомню, самообучающийся на просторах интернета, в жизни не видел после try, вместо catch или finally другой код. Такому не учат. Не будут же учить не делать ВСЕ возможные ошибки. В глубене души понимаю, что оно хрен работать будет, а почему? Ошибка компиляции или еще чего? Я про ошибку компиляции и задумался первый раз в жизни, до этого этим занималась IDEA и меня это устраивало.

Тут всплывает интересная тема — все курсы кричат, что теории нет, у нас — только практика, а когда пришел на тестирование, оказывается, что механически, как обезьяна, да, ты сделаешь так,а не иначе. А, если нужно обьяснить, то тут уже и ппц.

Подведя итог скажу, что теперь сижу и усиленно клацаю такого плана тесты (надеюсь не забанят за ссылку на другой сайт www.quizful.net/test). На вопрос «Зачем оно надо?». Отвечаю. Там кроме самого теста, норм комментарии и обьяснения, почему так, а не иначе. Поэтому, если вникать, то и теорию можно подтянуть и практику клацанья набить. Скажу, что тесты были именно такого плана, только не 20, а на 80 вопросов.

ПС. Мне, если чесно, было все-равно, я шел на это тестирование, как говорится, мир повидать (в живую увидел хоть и не контору программеров, а оффис HR-щиков, добавлю, что там было много красивых девушек)))).

Я проходил тест с еще 3 желающими.

Один, как я понял, после годичных курсов — провалил.

Второй — обиделся больше всех, кричал, что он мегапрограммер и у него куча готовых проэктов, и дайте ему собеседование, а не тест. Девушка мило улыбнулась и попросила на выход)))). Я думал он и плакать изволит, но не заплакал.

Третий — прошел. Боковым зрением увидел (это следующий этап) ему дали анкету (или просто листик). Пол листа — на английском текст и поля для ответа, пол — на русском.

Четвертый — был я. И, я так думаю, что вы поняли, я не прошел))). Получил много позтива, так как посмотрел на это дело первый раз своими глазами. Теперь буду, как писал выше, готовиться к техническим собеседованиям.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Также есть сайт it-simulator.com , где есть бесплатные тесты не только по Java, но и по Java технологиям.

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

Не прошел и слава богу. С другой стороны похожих вопросов сотни (если не тысячи) при подготовке к сдаче OCA, OCP , где проверяют насколько быстро noname сможет лячкать быдлокод == индусятину А посколько лячкать быдлокод и индусятину занимает львиную долю работы Java Developer, то и жаловаться не стоит.

З одного боку, повнісю погоджуюсь з усіма попередніми коментарями, про те, що тести це дічь і нафіг треба, з іншого боку, враховуючи конкурс на місце джуніора без досвіду, тести, не найгірший варінант. Так, доведеться посидіти повчитись і поклікати, але така особливість.

Так, якщо ти джуніор без досвіду, то всі способи норм, задрочувати тести, заточувати підготовку під конкретну контору, дізнаватись у знайомих, що питають, гуглити приклади завдань і т.д.
Це вже потім можна перебирати, а якщо спочатку людина ± така ж по скілам як і 75% інших кандидатів, то тут хоч чучелом хоч тушкою пролізти.

Тоді вже краще відфільтрувати за горосокпом, релігією чи довжиною полового органа. Бо так відфільтруються рівномірно, а у разі за вуха притягнутих теоретичних тестів — відфільтровуються ПРАКТИКИ, а залишаються самі теоретики.

>98% всіх «фіч» взагалі не використовуються в повсякденній роботі. Так само, як і застарілі практики. Їх можна дізнатися коли вони потрібні (проект саме на цих технологіях) або ж запросити людей що володіють саме ними. Але ФІЛЬТРУВАТИ всіх тому що так написано в книзі «Java за 21 день» — вибачте.

может кому будет интересно в Киеве 27 мая будет конференция для начинающих Java разработчиков, один из спикеров будет как раз рассказывать какие вопросы задают на собеседованиях goo.gl/vxt5u4

Для java есть прекрасные тесты на базе официальных oracle-экзаменов. Зачем использовать quizful именно для джавы непонятно.

а они халявные, эти экзамены? Я нашел только за 95 убитых енотов начальный уровень.

За 10$ но это отличная цена для этих тестов:
enthuware.com/…​/java-oca-certification-8

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

И все же: если контора дает такие тесты — то ей в будующем будут нужны сертифицированные специалисты(OCA). Лично мне с такими тестами попадалось только одно собеседование. И я в них смысла не вижу. Так же как и под такие собеседования готовится.

По-моему, это интересно, что ты знаешь, а где пробелы в понимании. Quizful похож на неструктурированную частичную копию OCA тестов.

Интересных вещей много) Все не обхватишь. Имхо — на собеседованиях я бы такие тесты не давал. Они подходят когда большой поток и надо какой-то фильтр, и не хочется заморачиваться.

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

Всё что дают тесты — это проверяют ваше умение решать такие тесты. Особо доставляют «непризнанные гении», которые для большего ЧСВ вставляют «каверзные» тесты.

Объясняю для полных даунов в области психологии трудовых отношений: каверзные вопросы на то и каверзные, что их решение (если не знать правильный ответ заранее) занимает годы и десятилетия. Вы найдёте подобные в багах, не исправляемых годами, притом спецами мирового уровня. Вероятность, что человек решит их на бумажке — ровно 0×00000000.

С тем же успехом вы, считая что айфон это высокий уровень, можете попросить человека рассказать как устроен тракт предачи GSM-канала Motorola i180. Ведь это устарело на 10 лет, а значит должен знать каждый школьник.

Реальность такова, что человечеству, способному накапливать информацию, чуть более 2000 лет. При этом более 1900 человечество не могло разобраться как правильно ребёнка из ****ы вытаскивать. Вы не представляете, сколько было ошибок, и чего они стоили. Ещё раз, всё человечество было не способно решить простую задачу, решение которой сейчас нам кажется очевидным.

А вы хотите чтобы один человек на бумажке решил тестовую задачу. То есть такую, которых в реальном программировании нет. Совсем нет. Ноль. И потому тесты пройдёт джун, который целенаправленно зубрил тесты. А всё что выше джуна, то есть практикующие специалисты — будут отсеяны.

В этой стране профессия HR на уровне свидетелей жoпы Хэнка. Хотите овладеть HR — учитесь в других странах. И, [падшая женщина], только попробуйте разинуть пасть что у наших людей «другой менталитет». Это у необразованного дурачья в должностях-прилипалах менатлитет «другой». А для продуктивного труда нужен не «менталитет» и дурные поверья, а реальное образование.

Особо доставляют «непризнанные гении», которые для большего ЧСВ вставляют «каверзные» тесты.
Та ви що — це ж, можна сказати, чуть не стандарт (в екзаменах на OCA/OCP кілька таких питаннь точно є) :)
А-ля: от вам кусок коду з хитро.... циклом і if-ами, виберіть, що буде в результаті його виконання.
5 варіантів відповіді, один з них «не скомпілиться».
А не скомпілиться він тому, що там, сцуко, в коді десь скобка пропущена.
А не скомпілиться він тому, що там, сцуко, в коді десь скобка пропущена.
Для решения таких проблем давно придумали форматирование, подсветку скобок, подсветку кода, внутри выделенных скобок, автоисправление и еще туеву хучу всяких приблуд, делающих рутинную часть работы за вас, и позволяющих тем самым сконцентрироваться на решении задач более высокого уровня.

Ога, і на співбесіді у вас буде папірець з автопідсвіткою і автовиправленнями і автодоповненням.
Автопапірець для співбесід, шикарна ідея для стартапу)!

А в чем ценность такого вопроса? Попросить написать алгоритм сортировки — ок, спросить паттерны — ок, что-то про ООП — ок, спросить какие решения использовал в проектах, и почему именно так — ок.

Автопапірець для співбесід, шикарна ідея для стартапу)!
Чем больше идиотских вопросов не собеседовании, тем выше профит, ага

Ну и как часто вам лично приходится писать различные алгоритм сортировки? Как много?
Лично мне за всю сознательную жизнь приходилось в боевом коде писать ТОЛЬКО сортировку пузырьком, да и то при вставке значений в уже отсортированный или почти отсортированный массив. Во всех остальных случаях меня устраивали готовые реализации.

Паттерны? Как человек владеющий поведенческой психологией, скажу что паттернами является АБСОЛЮТНО ВСЁ. Абсолютно каждое слово реального языка является паттерном. Даже есть такие паттерны как «через жoпу», «пофиг как», и «штоб отак как хочет наш СЕО».
Из реально пользуемых паттернов я вообще понятия не имею что относится к Ызбранным паттернам из волшебной книжицы, а что нет. Например, такое понятие как монада — это паттерн? На самом деле да, это паттерн. Хотя кто-то может сказать что норма языка.

А вот Синглтон — объясните мне кто нибудь, почему до сих пор этот паттерн тупо не реализован в языке? Почему я не могу написать ключевое слово singleton как пишу class или enum? Почему не могу вписать ключевое слово lazy при инициализации переменных?

А вот такой простенький шаблон как «абстрактная фабрика». Поднимите руку, кто ХОТЬ РАЗ писал свою абстрактную фабрику? А кто хоть раз пытался ОБЪЯСНИТЬ что нужна абстрактная фабрика, просто применив термин «абстрактная фабрика» и больше ничего не поясняя что имел в виду?
Так на кой собачий писька зубрить это бюрократическое говно, чем оно лучше теоремы косинусов в школе? Вот только при приёме на работу вас не спрашивают теорему косинусов и не требуют решить дифференциальное уравнение. А вот «паттерны» и прочую бюрократическую йухню — прямо все обязаны знать. При том что львиная часть кода выглядит так:

MyClass myvariable = getBlaBlaBla();
myvariable.doSomethingMine();
if(myvariable.getMyProperty() > 1){
doSomethingElse();
}

Другими словами, чтобы делать проект, нужно знать проект. А не шаблоны, теорию ООП, мистику функционального программирования и т.п. Куда важнее понимать предметную область, разобраться с протоколами взаимодействия, с настройкой сторонних компонентов и уж конечно уметь ОБЪЯСНИТЬ и ПОНЯТЬ на простом человеческом языке. Без бюрократии.

Полагаю, все-таки надо понимать паттерны, если ты разработчик уровня Middle и выше. Да, знать назубок их не обязательно, но понять, как лучше соединить компоненты кода вот здесь и здесь, чтобы кода было поменьше, а масштабировать его было попроще — это совсем неплохо. Иначе потом получится еще один спагетти-легаси-гигант, разобравшись в котором можно обеспечить себе работу на 10 лет вперед.

нормальный паттерн, если не работает — значит не там или не так применяется. дебажится легко, расширяться так же. Всегда на один тип ноды один метод/класс с поведением.
Не знаю как для джавистов для дотнетчиков — обязательно знанием, куча либ на нем написано и для расширения часто применяется.

применяют, в .net на этом основан здоровенных кусок фреймворка связанный с деревьями выражений и так называем LINQ to Entities — все трасляторы C# кода в различный sql/js/rest query и прочие скриптовые языки выстроили все вокруг visitor’a.
docs.microsoft.com/…​oncepts/expression-trees
github.com/…​c/EFCore.Relational/Query

Как выхлоп — удобный инструмент для DSL и для создания статически типизированных абстракций поверх всяких api, сриктопых и языков запросов.

Нихрена. Единственная цель знания паттернов — это сокращение КОММУНИКАЦИИ и документации. Например, пишу слово Adapter в имя класса, и уже понятно что оно такое.

Насчёт спагетти — я видел столько прекрасно организованных спагетти, что вам и не снилось в раздутых MVC. Такие, что можно читать с любого места, и понимать связь — без необходимости вызубрить структуру. Вот просто даёшь новому человеку — и он с ходу понимает что здесь и как.

Я не спорю, структурировать надо. Но БЮРОРКАТИЯ — ЭТО БЮРОКРАТИЯ, и нет никакого резона ей молиться. Пример: инжекции. Это хорошо, это прекрасно. Ровно до тех пор, пока 23-летнему архитектору не припечёт перевести всё на инъекции. В то время как старые добрые getSomething() обеспечивают понимание ОТКУДА это должно браться, и только когда данные поступают извне или должны управляться извне — оправдана инъекция.

Требования которые ставят к паттернам — исключительно знать их на зубок! В то время как практикующие разрабы просто ими пользуются не задумываясь. Реально знать паттерны нужно от уровня архитектора, просто затем чтобы принять решение что-то делать единообразными, и сказать «всё вот это делать вот так, а вот так не делать».

Единственный паттерн, который нужно знать всем — принцип KISS.

Именно так. ЕСТЬ паттерны, которые работают повсеместно.
А есть бюрократия, требующая знать их все, и требующая знать их теоретическое описание. Просто потому что проверять будут теоретикибля.

К примеру, паттерн Controller — не глядя в шпаргалку, сформулируй своими словами, что это такое? И уверяю, против любого определения найдутся сотни и тысячи работающих контроллеров, ему не соответствующих.

Паттерн Model — что такое? Правильный ответ — это View, который нужен для других View. И таких слоёв может быть десяток, и всё это будет работать. Просто потому, что это паттерн Interface и ничего кроме. И model, и view — просто потомки Interface. И это их настоящее, не бюрократическое определение. Предполагается ограничение что они не меняют данных, но реальные задачи очень лояльно относятся к объединению Model-Controller и View-Controller.

Реальные проекты на MVC, пережившие три года бизнес-развития, выглядят как MC-VC-C=C-C.

Другими словами, чтобы делать проект, нужно знать проект.
Так тут засада: в момент, коли людину беруть на роботу, вона проект не знає.
Тому приходиться питати абстрактні речі.
Показувати людині проект і питати, що тут покращити — як на мене, важко реалізувати на практиці: час на співбесіду і час на знайомство з проектом таки суттєво відрізняються (якщо це не Hello World).
коли людину беруть на роботу, вона проект не знає.Тому приходиться питати абстрактні речі.

В тому і супер-проблема: ніби то вирішуючи проблему нової людини, твориться БЮРОКРАТІЯ, яка
— імітує вирішення, типу ми зробили все «як треба».
— підвищує вимоги до нової людини, зазвичай настільки, що пройде фільтри лише брехун-тєорєтік (такий самий бюрократ).
— значно ускладнює розуміння проекту через зайві сотні зв′язків, які потрібно розплутати щоб зрозуміти де звідки що береться, для чого, і взагалі як це планувалося зробити.

Що насправді робить адаптацію швидкою:
— якщо є поряд той, хто проект знає, і [це найважливіше] йому виділено час на навчання нових людей.
— якщо є документація саме про ідеї, які треба втілити. ТЗ, бізнес-кейзи, навіть якщо все те давно виконане. Воно має зберігатися в проекті.
— якщо є пояснення розробників, ДЕ САМЕ знаходиться вершина, і звідки куди протікає потік по древу.
— якщо є пояснення, ДЕ САМЕ знаходиться бізнес-логіка, тобто де саме можна її побачити, та щось змінити якщо будет така задача.
— ЯКЩО є цикли підтримки цілосності даних: обов′язково документування як саме протікає цикл, і яким чином зроблено щоб процес підтримки цілосності не зациклив сам себе.

чувак попробуй скалу, там есть и синглтон (object) и lazy и много чего еще

Так само як і у фреймворках, так само як і у шаблонах під копіпасту. Але ж питання не в тому, щоб усім цим користуватися. А у бюрократах, які вважають що то все треба вивчити на зубок.

Ці йолопи навіть не здогадуються, что знання на 95% — це не знання для програміста, якщо напишеш код на 95% вірно — це лайно навіть синтаксис не підсвітить.

Я ще більше дивуюся, коли люди, що буквально рік назад писали бойовий код — отримавши «личку» і припинивши писати базовий код, вже вимагають на технічній співбесіді ту саму БЮРОКРАТИЧНУ ХЄРНЮ. Ти вгадав, «на бумажкє».

Ну все правильно :)
Як зараз пам’ятаю індуса на ютубі, читаючого курс по Java для таких же індусів — він код в Notepad писав. Душераздирающее зрелище.

Дарю ідею для стартапа: на співбесіді давати НЕ папірець.
Ба більше, мати вже існуючі проекти та давати реальні завдання. Наприклад, знайти як робиться оте і оте. Якщо потрібно [юзер кейз], як це реалізувати? Чи потрібен рефакторинг коду, що б ви зробили? А давайте це зробимо тут і зараз?

Але у реальному эджайл-процесі ПишиКодБлять™ це все не потрібно, левову долю цієї рутини виконує IDE.

Тесты позволяют экономить время hr’ов и отсеивать перспективных кандидатов.
Кроме того, тесты довольно посредственный (если не сказать «откровенно плохой») способ проверки знаний и навыков определенного человека.

Не судите обо всех компаниях по этому собеседованию, обычно компании более адекватные.

Нет, очевидные Nix Solutions очевидны. В эпаме тест на 35-40 минут всего.

Не парься. Много кто там был и очень много кто пролетал. Я вот тоже :)

так я то и не парюсь, это было скорее ради интереса, чем реальная уверенность попасть туда))) У меня еще месяца 2-3 есть запаса, а потом уже можно будет и начинать паниковать)

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

Особенно меня порадовал вопрос «Укажите валидные конструкторы класса Thread» в тестах для поступления на обучение Java. Никсы такие Никсы.

Тема на харьковском форуме там половина вопросов/ответов есть )) + если копать глубже.То это перевод этих тестов 1в1 причем www.indiabix.com/…​ng/language-fundamentals
www.indiabix.com/…​guage-fundamentals/002001

Підписатись на коментарі