Какая нужна теоретическая база на собеседовании джуна?

Какую вакансию на джуна не открой(за очень редким исключением), везде в требованиях найдешь пункт "понимание ооп/солид/грасп/ягни/и т.д.и т.п.". На фоне этого у меня возникает вопрос, а в каком виде происходит проверка вот таких теоретических познаний джуна? Нет, я понимаю, что на это можно ответить "ну ты приходишь и тебя спрашивают", но я просто не могу понять: почти все джуны (включая меня, конечно же), у которых нет крутого технического (а еще лучше - практического) бекграунда, описывая, например, принципы SOLID или ООП, просто озвучат заученный текст и в лучшем случае смогут подкрепить его пет-проектом в котором будет разделение на классы (и даже больше чем на 2) и, скорее всего, минимальное разделение логики между классами (чем больше методов в одном классе, тем лучше и красивее). Что именно работодатель хочет увидеть на интервью у джуна в этом плане? Просто с кем бы я не общался из новичков (даже с теми, кто уже ищет работу и даже ее находит), большинство говорят, что знают все эти принципы и правила, но даже мне видно, что это далеко не так, потому что в их работах они не используются от слова совсем.
Сейчас у меня просто небольшое перепутье, я 9 месяцев изучаю php (особенно сосредоточившись на чистом, осознанно строя кучу велосипедов, чтобы потом было проще разбираться с фреймворками и легаси) по принципу "пишу проект и походу дела изучаю новые технологии, чтобы их туда привинтить", и сейчас я действительно ощущаю в себе силы в техническом плане, чтобы пойти попробоваться на джуна, но понимаю, что мое понимание ООП с его принципами и т.д. мягко скажем, не самое лучшее, из-за этого я стараюсь погрузиться в теорию и не могу закончить даже один пет-проект, потому что я несколько раз переписывал его архитектуру, постепенно улучшая ее. А всё потому, что мне кажется, что когда я попаду в реальный проект, я буду только мешать своим говностроением, постоянно его переписывая по требованию старших, если не вникну в это самостоятельно.
P.S.Понимаю, вопрос получился несколько размытым, проще говоря: я хочу узнать, как именно проверяются и какие на самом деле должны быть знания в этой области у джуна?
P.P.S. Да, знаю, что очень часто описание вакансии делается HR, которому толком не объяснили, какого именно разработчика ищет компания, и он просто по кусочкам собирает среднюю температуру вакансий по hh, вот и пихает туда под копирку.
  • Вопрос задан
  • 1835 просмотров
Пригласить эксперта
Ответы на вопрос 9
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Реальное понимание ООП и паттернов - это не уровень джуна.
И да - как вы верно заметили - те кто говорят, на самом деле просто заучили пару расхожих заклинаний.
Как метко сказано в последней книжке Пелевина,
Маня была счастлива. Вот что значит быть дочкой банкира - папа не объяснял, папа инструктировал, как объяснять другим".

Вот людей, которые могут объяснить, но сами не понимают, в последнее время как-то очень много появилось.

В реальности от джуна требуется чисто механическая часть ООП:
- уметь использовать готовые классы, уверенно обращаться к свойствам и методам
- знать что делают основные магические методы
- понимать неймспейсы и автолоад
- в целом уверенно читать исходный код классов - то есть не пугаться слов implements и use (которое трейты а не неймспейсы)
- уметь использовать контрол-клик в Шторме
Ответ написан
pLavrenov
@pLavrenov
Разработка сайтов
1) Не бояться получить отказ. Каждый отказ это опыт.
2) В большинстве случаев они сами не знают и не соблюдают того что написали в вакансии.
3) Самое главное зайти в это дело. Не важно в какую дыру ты попадешь на первую работу. Как только тебе начнут присылать задачи в которых ты плаваешь скилы полетят вверх тк придется с этим разбираться.
4) Популярные аббревиатуры просто заучить, никто не будет требовать написать диссертацию про их использование. Потому что читай пункт 2.
Ответ написан
Комментировать
@Samedi_Da_Kapa
Ну в общем алгоритм действия такой:
1. Находишь компанию, которая ищет джунов.
2. Приходишь туда на собес.
3. Возможно выполняешь тестовое задание.
4. При неудаче повторить начиная с первого пункта.

9 месяцев самообучения и какие-то пет проекты достаточная база, чтобы начинать ходить по собеседованиям.

Основная проблема в ответах на вопросы типа твоего: у разных кампаний разные требования к уровню джуна в софт/хард скилах. Поэтому только через собесы ты сможешь познать уровень своей подготовки и подтянуть западающие области.
Ответ написан
Комментировать
@Kirill-Gorelov
С ума с IT
Дружище, на практике дела у некоторых программистов обстоять еще хуже.
Я лично знаю людей, которые разрабатывают серьезные проекты на крутых фреймворках, делают сложные приложения. Но если спросить про идиомы ооп, максимум две расскажет. А про solid вообще впервые слышит ....
А работают уже больше 6-7 лет программистами, претендуют на хорошую ЗП.

Так вот к чему я это все?
Знать нужно все, по максимуму.
А вообще в средних компаниях обычно делят джун/мидл/сеньер по уровню ответственность за какую-то часть работы.
Ответ написан
Комментировать
@Vitsliputsli
Да, нужно именно теоретическое понимание. Чтобы когда на ревью джуну скажут, что он нарушил Single Responsibility, он не просил объяснений о чем вообще идет речь и тем более на стал доказывать, что его решение лучше. Нормально, если джун несколько "плавает" в понимании этих принципов (четкое понимание придет с опытом), ненормально, если считает, что с него требуют что-то лишнее.
Ответ написан
Комментировать
samodum
@samodum
Какой вопрос - такой и ответ
когда я попаду в реальный проект, я буду только мешать своим говностроением, постоянно его переписывая по требованию старших,

Не совсем так. Джуна не допустят к говностроению.
Для начала будут простые задачки - поправить баги, добавить/убрать параметр из апи, поменять цвет какого-нибудь элемента, заменить одну картинку другой и т.д.
К архитектуре допустят когда вырастешь до миддла
Ответ написан
Комментировать
Noizefan
@Noizefan
просить больше это в нашем менталитете попытка пробить на шару)
какой потрясающий будет джун, который всё это знает, уровня по сути миддла, и платишь ему при этом как джуну.
И эта фича с лихвой нивелируется как раз тем, что каждый вчерашний "выучу С++ за 21 день" дальше четырех принципов ООП в понимании (не опыте, а лишь понимании) не двинулся, а говорить - горазд.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега IT-образование
software engineer
Приходит к тебе джун и говорит
"у меня вот задача, сделать такой простенький сервис который будет делать вот это и вот это, а я не очень понимаю как начать"
И ты ему начинаешь полтора часа пояснять что к чему.

Или второй вариант - приходит к тебе джун с таким же вопросом,
А ты ему отвечаешь
"Тут юзай синглтон, тут фабричный метод, тут подойдешь потом посмотрим что выйдет, тут пока сделай декоратор с заглушкой."
И можно идти начинать работать.

Конкретная реализация различных паттернов - это огромный опыт.
Но в первую очередь это просто обычная терминология.
Да, конечно паттерн как термин и понятие отличается от термина типа "интерпретатор и компилятор" тем, что сложно его объяснить в двух словах - надо потратить время на изучение, а желательно еще и попытаться написать парочку объектов для набивки руки.
Но собственно это от джуниора и требуется - владеть терминологией на достаточном уровне, чтобы экономить много времени.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
лучше чтобы у него была хоть какая то практическая база в итоге чем теоретическая
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы