Контрольный список знаний для Junior PHP

zey_ser

Новичок
Добрый день. Повстречал вот такой интересный список требований к знаниям джуна https://geekbrains.ru/topics/197. Как вы считаете, адекватный ли он? Чтобы вы добавили в него? Чтобы убрали?
 

zey_ser

Новичок
Собственно вот он:
- отчетливо понимать этапы выполнения программы "Парсер - Компилятор - Рантайм", понимать, что PHP - компилируемый язык
- уметь объяснить слова "динамическая нестрогая типизация"
- знать, что такое переменная, константа (глобальная и в классе)
- иметь представление об областях видимости, глобальности и локальности имён
- знать, какие типы есть в языке, помнить о неочевидностях при приведении и сравнении разных типов (типа "1" == "01")
- иметь представление о приоритете операций
- понимать, что в PHP всё является выражением
- булев тип и операции над ним, разница между &&, & и and например
- знать несколько самых нужных строковых функций
- уверенно работать с массивами, знать самые востребованные функции, не пугаться большой вложенности
- уметь получить данные из $_POST, загрузить файл (или несколько сразу) через $_FILES
- уверенно владеть файловыми операциями, понимать концепцию "всё есть файл" и иметь представление о правах на файлы
- знать все циклы и управляющие конструкции языка кроме goto
- понимать, зачем нужны пространства имён
- уметь написать автозагрузку для своего проекта, знать о существовании стандартов на автозагрузкуобъектная модель PHP:
- наследование и модификаторы доступа
- разница между статикой и динамикой, смысл в статических свойствах и методах, хотя бы на примере ORM
- позднее и раннее статическое связывание
- интерфейсы и трейты, как обход отсутствия множественного наследования
- абстрактные классы с реализацией методов
- класс, как тип, instanceof, класс-хинтинг, опять же тут интерфейсы
- магические методы на примере конструктора, __get, __set, __call
- исключения - понимание темы и хорошие примеры использованияПаттерны проектирования:
- MVC
- ORM
- ActiveRecord
- Depedency InjectionПрочее:
- PHPStorm уже фактически обязательно
- знакомство хотя бы с одним современным фреймворком
- умение пользоваться composer
- аккаунт на гитхабе, что подразумевает хотя бы начальное владение git в обязательном порядке
- в плюс будет linkedin или еще какая-то профессиональная сеть
 

fixxxer

К.О.
Партнер клуба
все бы убрал :)

0) уметь думать головой
1) уметь программировать
2) понимать ООП
3) не иметь проблем с чтением тех.литературы на английском
4) уметь пользоваться гуглем
 

AnrDaemon

Продвинутый новичок
1) Уметь связно формулировать свои мысли в тексте

После чего остатки "Уметь программировать", не покрытые п.1, с лихвой покрывается п.3.
 

zey_ser

Новичок
все бы убрал :)

0) уметь думать головой
1) уметь программировать
2) понимать ООП
3) не иметь проблем с чтением тех.литературы на английском
4) уметь пользоваться гуглем
Не) ну так не пойдет. Если бы вы были HR, вы бы наверняка изощрялись)))
 

AnrDaemon

Продвинутый новичок
Вот поэтому мы не HR. Мы знаем, чего хотим, и знаем, что этому предшествует.
 

fixxxer

К.О.
Партнер клуба
- аккаунт на гитхабе, что подразумевает хотя бы начальное владение git в обязательном порядке
Линус Торвальдс только недавно научился пользоваться гитом!11
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Какой х... это писал? :mad:
 

Vladson

Сильнобухер
После взгляда даже не на список а его длинну, подкрались сомнения, они точно не перепутали вакансию жуниора и целую команду синьёров ?
(Весь список читать даже лень, у фиксика список более чем достаточный для жуньки, причём даже он слишком большой, пункты 3 и 4 покрывают всё)

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

fixxxer

К.О.
Партнер клуба
от глубины понимания зависит

с нулевым пониманием будет сложновато
 

MiksIr

miksir@home:~$
Да а откуда ему это понимание брать. Все, что в интернетах - копипаста, которая мало чему учит. Реально понимание приходит или с опытом или с наставником. "Инкапсуляция - это что бы прятать данные" 80% ответов ;) "Наследование" - вынести общие методы.
 

fixxxer

К.О.
Партнер клуба
Начальное понимание брать из пунктов 0 и 3. :)

Ок, наверное, правильнее сказать - иметь представление о.

"Инкапсуляция - это что бы прятать данные" 80% ответов ;) "Наследование" - вынести общие методы.
Для начала сойдет.
 
Последнее редактирование:

Redjik

Джедай-мастер
они там сейчас систему рейтингов комментов ввели, то что в топе - наверху
вот мой список оттуда

Кстати, раз уж такая пьянка. Вот "адекватный" список того, что нужно знать джуниору, с пояснениями:
1) RFC 2616 - не требую детального знания, перед собеседованием просто прошу наискосок просмотреть. Джуниора никогда не заставят писать демона на php, вся его работа будет вертеться в компании исключительно вокруг приложения, поэтому протокол знать все же надо, хотя бы базово.
2) Общие понимание/знание базовых алгоритмов и алгоритмической сложности. Для того, чтобы разработчик не дергул базу рекурсивными вызовами необходимо все же понимать, как это можно сделать по-другому. Это один из примеров — их сотни. Рекурсивные вызовы по апи внешнего сервиса и загрузка страницы по 20 секунд, это реальность.
3) Безопасность и общее понимание концепции атак: SQL, XSS, CSRF
4) Навык в дебаггинге (x-debug или общение о том, как кандидат производит отладку)
5) Знание синтаксиса SQL. Бонус — профилирование запросов, расстановка индексов. Обычно прошу в накидать скрипт: запрос из базы через PDO
6) Синтаксис PHP и базовое ООП. Чем больше знает, тем лучше, но особо не придираюсь, ибо многих приходиться переучивать, что дороже.
7) IDE (сам адепт PhpStorm, но спокойно отношусь к NetBeans, Eclipse, Vim, Emacs ...)
8) VCS
9) Linux уровня понимания пермиссий и менеджера пакетов
 

WMix

герр M:)ller
Партнер клуба
Я не понимаю о чем вы, это половина универа, ничего особого не просили, звучит занудно, но обычные знания, как средняя школа для прогера. По отдельным незнаниям можно глядеть. А от пхп только _POST понимать
Яб добавил огонь в глазах и умение читать англ.
 

zey_ser

Новичок
Ребят, всем спасибо! Вынес для себя следующее: "Список составлять можно бесконечно, надо ходить по собеседованиям!" )))
 

Vladson

Сильнобухер
Именно так. Каждый HR ищет что-то на чём у него голова повёрнута. Универсального списка нет. Разве что как вариант выучить всё что вообще возможно, но тогда сомневаюсь что ты всё ещё будешь Junior-ом :)
 
Сверху