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