Создатель Node.js Ryan Dahl впервые в Украине на конференции JS Fest. Программа уже на сайте
×Закрыть

Что должен знать и уметь Middle Java Developer?

Подскажите пожалуйста какими навыками и знаниями должен обладать кандидат на должность Middle Java Developer в такие компании как Epam, Ciklum и PlayTech — вот самый тот твердый уровень и как отличают когда Junior переход в Middle? Спасибо.

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

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

Middle
Middle — посередній, абиякий. Слово Regular, думаю, пасувало би краще.

Как будто regular не означет

посередній, абиякий
:D

Могу написать ситуацию конкретно в Епаме. Там существует ранжировка мидл-, мидл, мидл+. Так вот между мидл- и мидл+ пропасть. Мидл- - это джун с опытом, но который педалит не очень, мидл+ - это реально сеньер, которому зажали зп по результатам собеса, но работать ты будешь за сеньера и спрос будет такой же, зп будет в 1.5-2 раза выше, чем у мидл-.

мидл++ - мидл+, которому зажали зп синьора после эвалюэйшина, после того как уже зажимали зп по результатам собеседования :)

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

Люблю мидлов на собесах валить двумя вопросами: чем отличается JRE от JDK? И во сколько раз отличатся размер примитивного типа int на 32-ух и 128-ми битной платформе? 95% туристов оба вопроса ставят не то что в тупик, а в ступор))

Я вон дотнетчик, но на оба вопроса отвечу. Как-то слишком просто :)

Э не, в дотнете может и просто. А в Жабе оху...дивишься, когда код вылизанный на JDK внезапно крашится с выходом новой покращеной JRE. Ещё больше прозреешь когда нароешь где он крашится — в каком-нибудь «новом видении» кодировки UTF16 к примеру. Логично, что тестами этот участок кода не покроешь, ты же не станешь каждой текстовой константе скармливать алфавит во всех сочетаниях.

Олексій, блеснули умом, а на вопрос не ответили :)
Итак, разница между JRE и JDK вытекает из самих названий: с помощью runtime enviromnent можно запускать Java-приложения, с помощью dev kit можно их разрабатывать и, соответственно, тоже запускать, т.к. это часть разработки .. из чего следует ещё одна интересная разница: JDK включает в себя JRE в качестве одного из компонентов; JRE входит в состав JDK, но может устанавливаться и использоваться отдельно.

Похоже, это единственная радость в твоей жизни.

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

Похоже, что нарисовался один из непризнанных гениев, пострадавших от дьявольских, ну просто до неприличия, сложных вопросов))

Эххх.. куда уж мне, сынок, до тебя. Ты-то, небось, всех вокруг «женщин завалил в постель» к себе? Мне и не оставил, поди, ничего... (((((

Пострадать скорее можно от кондиционера, который продул шею. Лучшие специалисты отклоняют ваши щедрые офферы из-за этого.

Ты-то, небось, всех вокруг «женщин завалил в постель»
Так выражаются только великовозрастные девственники.

Гм, ты прямо в душу мне заглянул ((( На курсах по пикапу для неудачников отличником был?

Какой-то слабый ответ у тебя. Не позорься.

Дядя посмотри на лайки комментария опонента ))) Успокойся и

Не позорься.

Тебе не мягко намекнули что цель собеседования — не завалить всех кто к тебе пришел на интервью, а найти подходящих кандидатов для выполнения работы, а остальным — дать фидбек по дальнейшему развитию
Сочувствую всем кто приходит на интервью к таким вот «Люблю на собесах валить», это не соответствует ни цели хайринга, ни морально этическому поведению по отношению к своим коллегам да и вообще глупо звучит)

Шикарные комменты, как я пропустил эту ветку))) лойк!

Он пробовал. Но она его завалила вопросом как её зовут :)

кул стори, бро

Глобал знает что ты на собеседования ходишь мидлов валить?

«та забава є частиною корпоративної культури глобала»

Через пару лет будет как в анекдоте «Голос с небес: Я вас **** 10 лет на одной галере собирал»

«та забава є частиною корпоративної культури глобала»
не, в харьковском глобале такого и близко не встречал, просто иногда чернь собеседует чтобы самоутвердиться, такие во всех фирмах есть, ничего не поделаешь, забавно когда они еще и ответов правильных не знают и на правильный говорят: «нет, не так»

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

Так уж получается, бро. Если человек не знает, по сути, фундамента языка, то он не может позиционировать себе как мидл.

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

а откуда ты тогда аббревиатуры знаешь?

не, ну не настолько ж не видел) например, на грабли с JDK и JRE, наткнулся когда надо было поставить на линукс phonegap — в общем, то что стоит по умолчанию на Debian подобных дистрибутивах и именуется OpenJDK — собственно, JDK не являеться

$ dpkg-query -W | grep jdk
openjdk-7-jdk:amd64 7u101-2.6.6-0ubuntu0.14.04.1
openjdk-7-jre:amd64 7u101-2.6.6-0ubuntu0.14.04.1
openjdk-7-jre-headless:amd64 7u101-2.6.6-0ubuntu0.14.04.1

там же сказано про JRE :)

OpenJDK — собственно, JDK не являеться
Почему это «не является»? JVM в OpenJDK бажная в сравнении с HotSpot, но OpenJDK при этом JDK вполне является.

а в чём собственно практическая польза от ваших вопросов?

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

эти 2 вопроса демонстрируют вашу неадекватность и портят репутацию компании. И в таком случае да, разговаривать в принципе не о чем

Почему именно так? (((
Сможете аргументировать?

А как эти 2 вопроса оценивают потенциал раба принести пользу галере?

Эти два примитивных вопроса позволяют отсеивать совсем слабых рабов (80%), которые своей беспомощностью испортили бы и репутацию компании, и мою как интервьюера.
И если вы этого не понимаете, то зачем тратите свое время на комментарии?

Как можно испортить то, чего нет?

вообще вопросы странные и не серьезные

А где сейчас массово используются 128-битные платформы?

Нигде

Ну я так понимаю, смысл вопроса — узнать, понимает ли человек разницу между типами с фиксированной и платформо-зависимой разрядностью.

Там же где 64-бинтные. Они как ни странно тоже редкость — поскольку абсолютное большинство данных не превышает потребности 32 бит, то 64-битной является только адресация. А вот арифметика аппаратная — 32-битная. Да, и с плавающей точкой тоже.

И во сколько раз отличатся размер примитивного типа int на 32-ух и 128-ми битной платформе?

в 1 раз?

Побільше б таких інтерв’юверів)

Кстати, хороший вопрос — А ЧЕМ int отличается на разных платформах? Я блин 8 лет на Java, но жопой чувствую что если бы они отличались — Жабу бы переписали ещё в первых версиях.

Насчёт JRE и JDK — я бы с лёгкостью ответил пока был Джуном. Сейчас же — только русским матерным. Если кратко — то комплектом поставки. Но на деле — огромным количеством мелких нюансов. Радует что после того как Oracle их взял ребята перестали чудить.

PS. Я могу задать всего ОДИН вопрос, чтобы определить уровень кандидата: сколько ты готов дать денег, чтобы увидеть, как автора регулярных выражений в Java скормят крокодилам. Сеньор тут же перезвонит в банк и спросит сколько те готовы дать в кредит :)

А можно вкратце: что не так с регулярками в Джаве?

не такие как настоящие регулярки

Если вкратце, то как написано в документации и то как они реально работают - две большие разницы. Из любимых фенечек - нежелание определять начало и конец строки. Одно дело когда у тебя задача пофильтровать массив коротких строк. Другое - когда на вводе поток логов к примеру. И вот это [регулярное выражение русского разговорного], начинает пожирать весь лог в память.

Отдельное спасибо самой Java, которая "демократично" смотрит на заданные ей лимиты памяти, и считает что если очень припекло - то можно отожрать у системы ещё пару гиг, загнав остальные задачи глубоко в своп.

Включили MULTILINE и скормили весь файл на вход?
Вообще-то в документации написано:

The Pattern engine performs traditional NFA-based matching with ordered alternation as occurs in Perl 5.

Слова NFA должно быть достаточно, чтобы понять, что максимально резать на кусочки лучше самому. Так что предупреждение есть, хоть и кому-то неочевидное.

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

Проблема в том, что как оно ДОЛЖНО работать и как оно РАБОТАЕТ — две большие разницы.
Лично я считаю сами регулярные выражения тупиковой веткой эволюции, поскольку подобные проблемы есть практически везде — обязательно где-нибудь какое-нить выражение отработает не так как ожидалось. Ну это кроме самых простых.

Самой скотской проблемой регулярки является отсутствие какого-либо дебага. Она работает по принципу «я художник, я так вижу».

Ну и разумеется, регулярные выражения невозможно подвернуть тестированию. Сам понимаешь, тестить заранее известное выражение нет смысла.

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

Мне как-то с ними обычно везло, но я готов считать, что это нетипичная персональная особенность.

Ну и разумеется, регулярные выражения невозможно подвернуть тестированию. Сам понимаешь, тестить заранее известное выражение нет смысла.

Ты что-то крайне странное говоришь. Что значит «тестить заранее известное выражение нет смысла»? Это то же самое, что «тестить заранее известные комбинации входных параметров нет смысла». В то время как адекватно рассчитанное покрытие известными случаями способно по крайней мере сделать покрытие кода и базовую проверку всех случаев.

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

Я готов полностью и категорически признать, что регулярки в нынешнем виде слишком много кому неудобны. И есть достаточно большая группа тех, кто настаивает на применении вместо них, например, PEG парсеров. У них шире класс разбираемых ситуаций (например, из хрестоматийного — они способны простым образом определить парность скобок и других группирующих элементов), понятнее (для большинства) синтаксис. Ты не пробовал такое?

Вдогонку — по сравнению с уровнем «перлов» в Perl, извините за каламбур, это мелковато — оно хоть как-то работает. А вот один из громких скандалов (около 2000-го года) был в том, что в majordomo написали что-то вроде s/^\s*//g, и движок стал тупо зацикливаться на этом месте. Всё это было в Perl 5.004.04. Конечно, авторам мэйлера надо было хорошо дать по рукам за такое, но в результате правили и они, и перловый движок...

Что бля есть int? Эти три буквы типа тех, что пишут на заборах?

Це як в блондинки запитати, чим відрізняється дизельний двигун від карбюратора.
Хоча і нормальну людину поставило в ступор («що за тупа дойопка»).

Ну JRE это минимальный набор который позволяет запускать java приложения, а JDK это уже для разработки. Но вот зачем знать вес int’ов если например не пишешь код под железо, я понимаю надо знать разработчикам на C, Rust и подобных, но джавистам то это зачем?

Потому что если число банально не влезет в присутствующий int, будет плохо.

в жабі найтивний інт?
а хіба там не свій інт на своїй жаба машині?
хуясєє, це пішла міграція приплюснутих в жабу? і тепер размєр інта імєєт значєніє?

і тепер размєр інта імєєт значєніє?

Завжди мав. Особливо там, де за замовчуванням арифметика — wrapping.

в жабі найтивний інт?
хуясєє, це пішла міграція приплюснутих в жабу?

Закінчуйте смалити смерекові шишки, візьміть хоча б «Ватру».

так який розмір 32 бітного найтивного інта на 128 бітній жабі?

размер примитивного типа int на 32-ух и 128-ми битной платформе?
джава-машина определяет размер примитивного типа, а не битность ОСи. не поверю, что мидлы валятся на таком. да и джуны, если «джуны», а не «ничего не знаю, но очень хочу», тоже наверняка знают.

питання продектити С++ світчеров :)

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

Спасибо — вот эта часть как-раз и интерисовала, что спрашивают на собеседованиях и на каком уровне

ТС спрашивает за конкретные компании

Например на ваш вопрос мидл найдет ответ в интернете самостоятельно.
Ну найдите ТСу что должен знать и уметь мидл в Епаме.
Это ж просто, правда? )))

а тебе надо список вопросов дать? так их нет

Ну просто тут пишут — гуглить, все лайкают: а оказываться гугление не помагает

все тоже что синьор кроме тенниса

Мидл это самостоятельная боевая единица, он должен быть способен решить большинство поставленных задач самостоятельно с приемлемым качеством.

Если тебе платят как миддлу, ты миддл. Знать нужно те технологии, которые используются на проекте.

Минимальное отличие — знать и уметь гуглить.
Например на ваш вопрос мидл найдет ответ в интернете самостоятельно.
Джун да, придет с вопросом

Я так и знал, что секрет успешного собеседования заключается в «умении гуглить»!

В чем тогда разница между вопросами которые задают тебе на собеседовании (тех. часть) от задач которые ставят перед тобой на практике?

тобі по проекту ніколи не прилетить тікет на подобі, перерахувати методи класу Object чи назвати інтерфейси-маркери.

ну знать методы класса Object все таки полезно в работе, а вот про интерфейсы-маркеры интереснее, если просят перечислить, то странно, если спросят зачем они нужны, то вполне практические знания.
Хотя для мидлов вопросы прежде всего должны касаться его собственного опыта

я тут не говорив про знання, а говорив про те, що такий тікет, де потрібно було б це зробити, ніколи не прилетить на проекті.

ну ясен пень тикет не прилетит, но это не говорит о том, что эти знания тебе не понадобятся при реализации тикета

0 разницы. Они ортогональны.

мидл найдет ответ в интернете самостоятельно.
Джун да, придет с вопросом

Тимлид не придёт — он напишет. Даже если сидит за соседним столом. А прийти можно к нему. Всем кроме синьора (у него ЧСВ неподъёмное).
Если же джун с вопросом не придёт — значит тимлимд джун.
Если же синьор придёт с вопросом — то вопрос будет звучать «кто трогал мой сыр?» Но ему никто не ответит. Все знают что он сам его трогал, просто забыл принять дозу ноотропов :) :)

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