Що повинен знати кандидат на посаду Middle PHP Developer?

Доброго дня.
Одразу прошу вибачення, якщо така тема вже піднімалась, але я її не знайшов.

Цікавить які саме занання та навички повинен мати програміст такого рівня. Перелопатив дуже багато статей про співбесіди, але ніде не було градацій тільки загальне: «php разработчик должень знать ...».
Загальні: «php5, oop, design patterns, frameworks, mysql, javascript etc.» — це й так зрозумілі речі.
Чи можливо градації junior/middle/senior не передбачають розділення по рівню знань, а тільки по рівню досвіду і відповідальності, тобто програміст будь-якого рівня повинен знати ВСЕ(не все у світі, а все необхідне)?

Разні фірми та люди ставлять на співбесідах питання різного рівня, одні — загальні питання по минулому досвіду та використовуваних технологіях, інші — тонкості самої мови, та всього чого тільки можна.
Самий великий список питань, який я знайшов ви можете побачити за посиланням: valera.ws/...​2009.04.26~php-interview

Я, власне, чекаю у коментарях ваших думок стосовно цієї теми.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось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

ну на хай-лоад проекти потрібно знати оптимізацію по пам’яті\швидкості (php і бази), кеши, зовнішні індексатори (sphinx) і різні методи їх використання , вміти правити великі незнайомі проекти

PHP Design Patterns. Можно по одному singleton, общаться добрых 20 минут. Весь интерес в простых вещах.

Суть в том, чтобы проверить кандидата не на знание какой-то определенной технологии или библиотеки, их тысячи. А в том насколько он разбирается в основах и механизмах работы языка (в вашем случае php), т.е важно отвечать на вопрос «почему?».

Например, продолжая аналогию с паттерном «одиночка». В том же php существует несколько вариантов реализации данного паттерна. Разработчик младшего уровня должен знать что это и как работать. Разработчик среднего уровня 
четко
осознавать в каком случаей какой вариант применить и почему данный паттерн существует именно в таком виде как есть. Разработчик выского уровня, расскажет вам, когда «одиночка» становится антипаттерном. Можно пообщятся по сигнатурам класса(в php это сведется скорее всего почему одни переменные публичные, а другие нет в паттерне).
т.е разобрать по косточкам какой-то аспект языка вместе с кандидатом и желательно посмотреть на ход его мыслей, как по мне паттерны проектирования идеальное поле для разбора.
На втором месте алгоритмика, но это более общее программирование...
Если вкратце эта вся градация крайне условна, могут быть младшие разработчики, которые дают фору своим более «старшим» коллегам, просто у них нет опыта.
Интересный вопрос интервьювера: «Если бы вы могли выкинуть какой-то принцип ООП, чтоб это было и почему?» =)

тільки по рівню досвіду і відповідальності

Именно. Причем разница между мидлами из разных команд может быть колоссальной.

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