Вопросы, которые следует ожидать в интервью для должности младшего разработчика Magento


33

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

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

Я был бы признателен за все комментарии и ответы, и я думаю, что этот пост потенциально может быть очень полезным для других начинающих разработчиков, пытающихся проникнуть в magento


7
Я думаю, что это совершенно не по теме, но я не могу не комментировать. Ожидайте этого: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Мариус

Извините, если это не по теме !! В ответ на вашу ссылку, я знаю достаточно о magento, чтобы получить шутку, но у меня, вероятно, будет такое же выражение, как у этого парня и через 3 часа :)
develophper

Извините, если это ведет всех не по теме! Я также хотел бы начать с ожидания того, что разработчик узнает хотя бы элементы теста FED. Я также дал бы им
крайний срок,

1
«Правильный» ответ действительно зависит от ожиданий, указанных для работы; Я не собираюсь нанимать разработчика на Magento, так как «доступные» разработчики на Magento так же редки, как и белые лоси. Сначала наймите хорошего разработчика и заплатите им за опыт Magento, который они продемонстрируют в интервью. Здесь есть несколько отличных ответов, которые охватывают все основы, поэтому мне не нужно добавлять.
отметки

Ответы:


35

Когда я беру интервью у кандидатов, и в частности у младших кандидатов, я сначала оцениваю, будут ли они хорошими разработчиками . Неважно, Magento .

Таким образом, вы услышите много общих, не Magento, вопросов от меня сразу. Здесь только несколько:

  • Объясните разницу между картой, хешем, массивом, коллекцией и списком.
  • Объясните, что, по вашему мнению, означает «наследование», и приведите пример, который не касается автомобилей или членов семьи.
  • Назовите 3 типа уязвимостей безопасности, которые обычно появляются при нефильтрованном вводе пользователем.
  • Объясните, что такое готовое утверждение и что оно делает.
  • Какая ваша любимая новая функция в PHP 5.5?
  • Назовите как минимум 3 основных PHP-фреймворка.
  • В чем разница между объявлением функции и выражением функции?

Некоторые нетехнические вопросы:

  • Скажите, когда вы в последний раз допустили ошибку, которая стоила компании или клиенту денег, и:
  • Что вы узнали из своей ошибки?
  • Что вы делаете, чтобы быть в курсе технологий?
  • Что вы изучаете в свободное время?

Тогда я мог бы попросить их сделать обзор кода с некоторыми их работами на Github или чем-то, что они представили; мы могли бы сделать некоторые упражнения для доски, такие как Fizzbuzz, может быть, выбор из Project Euler ... что-то на этот счет Я просто пытаюсь смешать это здесь и посмотреть, как они справляются с проблемами, с которыми они, возможно, не сталкивались.

Если я удовлетворен и знаю, что кандидат имеет опыт работы с Magento, я мог бы задать более конкретные вопросы по Magento :

  • Чем Magento MVC отличается от классического MVC (или Zend Framework MVC)?
  • Назовите 3 типа моделей Magento
  • Опишите или приведите пример пулов кода Magento и / или отката темы
  • Когда можно вносить изменения в ядро? (ответ: НИКОГДА.)
  • Перечислите как минимум 3 метода для переопределения функций по умолчанию / ядра.

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

Надеюсь, это поможет - процесс найма труден для обеих сторон за столом . В моем первом раунде приема на работу в первый раз я позвонил по телефону более чем 75 кандидатам, отсеял 500+ резюме и сократил до 2 или 3 личных собеседований. Никто из них не сработал - поэтому, в моем случае, когда вы сидите за столом напротив меня, я болею за вас! Я хочу, чтобы ты сделал это! Я хочу, чтобы мучительный процесс этапа найма закончился, чтобы мы могли делать то, что у нас получается лучше всего - создавать потрясающие продукты.

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


9
"Когда можно вносить изменения в ядро?" - когда вы являетесь разработчиком magento core? :)
Дмитрий Завалкин

1
Даже тогда ... может быть, нет :)
Philwinkle

3
Фил, для меня это нормально, когда он исправляет ошибку таким же образом, следующая версия делает, ака бэкпортирование исправления.
Фабиан Блехшмидт

@FabianBlechschmidt собирался сказать то же самое. Я помню исправление, которое было добавлено в новую версию EE. Клиенту нужно было это простое исправление, но он не был готов обновить весь магазин. Даже тогда я все равно оставлю короткий текстовый файл, объясняющий изменение, с которым файл изменяется, номер строки и т. Д.
pspahn

Почему разработчик Magento должен уметь решать сложные математические головоломки?
Партизанский

11

Основываясь на обсуждении, которое я провел с партнерами по Magento (примечание: я сам не брал интервью у разработчиков), ниже приведены несколько советов:

1) Не ищите разработчиков Magento. Найдите хорошего OO PHP (или Java, я слышал истории успеха разработчиков Java и Magento) и обучите их. У нас также есть некоторые люди, которые перешли с Java на Magento, и у них нет вредных привычек типичных разработчиков PHP.

2) Никогда не используйте внешнюю компанию по найму - они не найдут никого и не будут знать, что делают (то есть преследуют меня, потому что я работаю в Magento и давно являюсь разработчиком - но я не Magento разработчик)

3) Не уверен, какова ваша роль / компания. Если вы хотите заниматься развитием, да, ищите людей. Однако, если вы являетесь продавцом или вам нужно сделать только один проект, подумайте о том, чтобы пойти с опытным партнером.

4) Получить @benmarks для ответа - он проводит внутреннее обучение для новых сотрудников в BlueAcorn и, надеюсь, может поделиться некоторыми хорошими знаниями


1
Хороший момент о разработчиках Java. Я думаю, что многие из них работали с такими вещами, как XSLT, которые должны помочь им понять систему макетов Magento.
pspahn

9

Первый вопрос, который вы, вероятно, ожидаете, это что-то вроде:

Вот установка по умолчанию, теперь удалите блок «Back to School» с домашней страницы, используя local.xml.

Вы также можете найти что-то вроде:

Узнайте, почему процесс проверки по умолчанию не работает так, как должен. (подсказка, проверьте на наличие ошибок JavaScript в консоли).

После установки стороннего модуля, который изменяет способ отображения изображений продукта, на странице просмотра продукта отсутствует другая функция, созданная отдельным сторонним модулем. Каков первый шаг для отладки этого? (подсказка: «зависит»).

Клиенту нужно место на главной странице, где он может легко модифицировать контент, не сталкиваясь с большим количеством «кода». Как бы вы это реализовали?

Я лично видел все эти вопросы во время интервью.

И затем, конечно, ожидайте некоторых вопросов, касающихся распространенных ошибок Magento во время разработки (очистка кэша, переиндексация, ошибки base_url и т. Д.). Если вы все прибиваете, ожидайте более сложные предметы (EAV, переписывание классов, обновление блока через AJAX).

В зависимости от того, с кем вы проводите собеседование, может быть достаточно иметь хорошее представление о нескольких основных областях Magento (макет XML, работа с шаблонами), поскольку первые месяцы вашей работы могут включать исправление случайных проблем внешнего интерфейса на случайных сайтах. , Если вы относительно новичок в Magento и нашли себя нанятым в качестве младшего разработчика, рассчитывайте на то, что вам придется много учиться на рабочем месте.


8

Я думал о публикации тех же вопросов! Я создал список на основе учебного пособия FED, поделился им как Документ Google, и если кто-то захочет это прокомментировать, мне будет интересно услышать, что вы хотите сказать.

https://docs.google.com/document/d/19iMKDOFBwYpq6wDQBknT8u5kDYFh7DssdjBDPTTsHwA/edit?usp=sharing


6

ура приятель, они хорошо выглядят
develophper



0

Ниже приведен сборник вопросов интервью magento:

  1. Как получить идентификатор страницы CMS в Magento?
  2. Разница между Up-sell, cross sell и сопутствующими товарами?
  3. Может ли пользовательский модуль иметь более одного пространства имен?
  4. Разница между контроллером и модулем контроллеров?
  5. Поток запросов
  6. Magento: необходимо установить права доступа к файлам
  7. Где связь между конфигурируемым продуктом и его простым продуктом, хранящимся в базе данных?
  8. Каковы наиболее часто используемые типы блоков? Что особенного в типе блока core / text_list
  9. Объясните различные типы сеансов в Magento (например, клиент / сеанс, оформление заказа / сеанс, ядро ​​/ сеанс) и причину, по которой вы храните данные в разных типах сеансов?
  10. Обязательно ли указывать Namespace при создании пользовательского модуля в Magento?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.