初级Magento开发人员职位面试中的问题


33

首先,我想说的是,我希望我不会将这个问题发到错误的地方,如果我愿意,请告诉我应该在哪里发布(如果在stackexchange世界中的任何地方合适)。

我有一些针对Magento初级开发人员职位的采访。我有一些Magento开发经验,但是我从未接受过这些工作的采访,所以我不确定会发生什么。

我将不胜感激所有的评论和答案,并且我认为这篇文章可能对尝试进入magento的其他初级开发人员很有帮助。


7
我认为这完全是题外话,但我不能拒绝发表评论。期望这样:inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

对不起,如果没有话题!在回答您的环节,我不够了解的Magento得到笑话,但我可能会具有相同的表达3个小时后,那家伙太:)
develophper

抱歉,这使每个人都离开了话题!我也将从期望开发人员至少了解FED测试中的项目开始。我也给他们一个通过测试的
最后期限

1
“正确”的答案实际上取决于对工作的期望。我无意雇用Magento开发人员,因为“可用的” Magento开发人员与白麋鹿一样稀有。首先聘请一名优秀的开发人员,并向他们支付在访谈中展示的Magento经验。这里有一些涵盖所有基础的出色答案,因此我无需添加。
benmarks

Answers:


35

当我面试应聘者,尤其是初中应聘者时,我首先要评估他们是否将成为优秀的开发人员没关系Magento

因此,您会预先从我这里听到很多非Magento的通用问题。这里仅仅是少数:

  • 解释一下映射,哈希,数组,集合和列表之间的区别。
  • 解释一下您认为“继承”的含义,并举一个不涉及汽车或家庭成员的示例。
  • 列出3种类型的安全漏洞,通常由未经过滤的用户输入引入。
  • 解释什么是准备好的语句以及它的作用。
  • PHP 5.5中您最喜欢的新功能是什么?
  • 至少命名3个主要的PHP框架。
  • 函数声明和函数表达式有什么区别?

一些非技术性问题:

  • 告诉我您上次犯错的错误使公司或客户蒙受了损失,并且:
  • 您从错误中学到了什么?
  • 您如何做才能与时俱进?
  • 您在下班时间会学什么?

然后我可能会要求他们对他们在Github上的一些工作或他们提交的内容进行代码审查;我们可能会做一些白板练习,例如Fizzbuzz,也许是从Euler项目中选出的……等等。我只是想在这里混合起来,看看他们如何处理他们可能没有遇到过的问题。

如果我满意并且知道候选人具有Magento的经验,那么我可能会问一些更具体的Magento问题

  • Magento MVC与经典MVC(或Zend Framework MVC)有何不同?
  • 名称3种Magento 模型
  • 描述或给我一个Magento代码池和/或主题回退的示例
  • 什么时候可以进行核心修改?(答案:从不。)
  • 列出至少3种技术来覆盖默认/核心功能。

此时,我可能会问一些非常棘手的问题,或者让他们为我勾勒出一些东西-也许是Magento的结帐流程。我可能会让他们描述Magento扩展中的所有子文件夹。我可能会问他们为所需功能扩展哪些抽象模型。

我希望这会有所帮助- 餐桌上的双方很难进行录用。在我第一次招聘的第一轮中,我的电话筛选了75名以上的申请人,筛选了500多个简历,并将其缩减为2或3个面对面的面试。他们都没有解决-因此,就我而言,当您从我对面坐下时,我正在为您加油!我要你做到!我希望招聘阶段的艰辛过程能够结束,以便我们能够做我们最擅长的工作-制造出色的产品。

诀窍是保持轻巧,并使其成为候选人的有用的至少是教育的经历。


9
“什么时候可以进行核心修改?” -当您是magento核心开发人员时?:)
Dmytro Zavalkin

1
即使那样...也许不是:)
philwinkle

3
phil,对我来说还可以,当它以相同的方式修复错误时,下一个版本也可以,也就是移植修复。
Fabian Blechschmidt

@FabianBlechschmidt会说同样的话。我记得在新版EE中添加了一个修复程序。客户需要此简单的修复程序,但不准备更新其整个商店。即使那样,我仍然会留下一个简短的文本文件来说明更改文件的更改,行号等
。– pspahn 2013年

为什么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

您可能会想到的第一个问题是:

这是默认安装,现在使用local.xml从主页中删除“返回学校”块。

您可能还会发现以下内容:

找出默认结帐流程未按预期方式运行的原因。(提示,请检查控制台中的javascript错误)。

在安装了修改产品图像显示方式的第三方模块后,产品视图页面缺少由单独的第三方模块生成的另一功能。调试此步骤的第一步是什么?(提示:“取决于”)。

客户希望在主页上有一个空间,他们可以轻松地修改内容而无需处理很多“代码”。您将如何实施?

我在一次采访中亲自看到了所有这些问题。

然后,当然可以期待一些有关开发过程中常见的Magento错误的问题(清除缓存,重新索引,base_url错误等)。如果您精通所有内容,那么可以期待一些更困难的主题(EAV,类重写,通过AJAX更新块)。

取决于您面试的人,仅仅了解Magento的一些基本领域(布局XML,使用模板)可能就足够了,因为您工作的头几个月可能会涉及在随机站点上解决随机前端问题。如果您不是Magento的新手,并且发现自己被聘为jr开发人员,那么可以期望进行很多在职学习。



6



0

以下是magento面试问题的集合:

  1. 如何在Magento中获取CMS页面ID?
  2. 追加销售,交叉销售和相关产品之间的区别?
  3. 自定义模块可以具有多个命名空间吗?
  4. 控制器和控制器模块之间的区别?
  5. 请求流程
  6. Magento:需要设置文件权限
  7. 可配置产品和存储在数据库中的简单产品之间的关系在哪里?
  8. 常用的块类型是什么?core / text_list块类型的特殊之处是什么。
  9. 解释Magento中不同类型的会话(例如,客户/会话,结帐/会话,核心/会话),以及将数据存储在不同会话类型中的原因?
  10. 在Magento中创建自定义模块时,必须提供命名空间吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.