我很快就需要采访移动开发人员(iphone)。问题是我的优势在于Java Web开发。
我应该问什么问题,听起来不像白痴? 另外,这些问题的有效答案是什么?
答案 0 :(得分:18)
哇,这个答案已经五年了。对于2015年,我只想问:
这里OP的答案类似于“autolayout,autolayout,autolayout”。在房地产中,你有“位置,位置,位置”的标语;在iOS开发中,它是“autolayout,autolayout,autolayout”。作为一个现实生活中的实际问题,假设你正在检查某人的自由职业。在实践中,你要求他们展示的唯一一件事就是他们是autolayout的专家,以及在代码中使用约束等相关问题。
您是否完全熟悉PubNub,Firebase,Parse和类似系统......今天是“iOS工程”。今天要学习iOS,就是要学习与baas联系;在iOS中自由职业者是做baas工作。
理想情况下,你是否熟悉Android开发,你至少在你的Mac上安装了Android Studio,你可以为你的三星构建一个简单的应用程序;所以你可以和同事互动。
这是旧答案!...
如果是我,我会问他们......
他们是否完全熟悉这些 TEN KEY POINTS :
我认为这是一个很好的入门名单。 (如果我忘记任何明显的事情,很快就会建议。)
请注意,项目10(内存管理)是关键项目。除非您是平台上的内存专家,否则您无法构建完成的生产移动设备应用程序。此外,一个非常擅长iPhone内存管理的人通常擅长iPhone的其他任何东西。如果我只能问一件事就是这样!
还有 十几件小事你必须要为iPhone开发 - 例如“偏好”,“加速度计”,“图标和启动画面,“”播放声音,“等等。你必须能够在五分钟内完成所有这些工作,而不是五天的调查。真的很难。有人可能会列出所有这些“小必备品”。
OpenGL 可能是一个单独的专家问题。根据您所支付的费用以及您的需求,您可能会要求某人成为OpenGL专家。
贵公司的领域 游戏开发 ?如果是这样,那么,作为一个“全面”的iPhone游戏开发者,你可能还需要一个 的人,
就是这样。问题是 - 您将要做什么 (一般而言)?即科学计算,游戏开发,营销应用程序致富,内部目录,手持客户端,或??如果你告诉我们,我们可以告诉你他们需要什么。
最后压倒一切 - 您必须能够看到他们已经完成的3个以上的实际应用程序。有了iPhone,你真的需要能够“把它带回家”,编写好的代码片段是不够的,你知道。这很难。
以下是 “我们在十个关键点” 列表中已经忘记的内容了!
Matt指出,他们应该对“MVC”感到满意,这代表模型 - 视图 - 控制器思维。 (这是iOS世界中的一种法西斯崇拜 - 我们都坚持!我们不能告诉你它直到你是我们中的一员。如果你提到MVC时他们的脸都亮了,你就全都搞定了。如果他们变得黑暗和不舒服,继续......)
David和Brad指出 - 可能与其他编程领域不同 - iPhone和Mac程序员通常需要 界面感 。您需要了解干净的iPhone界面,您必须知道如何使用添加到iPhone用户体验的iOS元素来布局iPhone上的任何特定问题。
答案 1 :(得分:9)
限制自己评估合法,好评,评估的特征。请另一位知识渊博的人判断你不能做什么。
此外,你可以要求候选人向你解释有关iPhone的发展,解释你不熟悉它,并判断回应:候选人是否傲慢?候选人对此感到兴奋吗?候选人可以清楚地解释思路吗?候选人“有道理”?所有这些都是你可以合法判断的特征,它们对任何职位都很重要。
同样,不要试图评估自己不知道的事情。
答案 2 :(得分:5)
将它们粘在运行Xcode的机器前面。然后,让他们编写一个基本的应用程序并运行它。
可能会在应用程序中添加的内容:
或者,选择基本的东西:
应用程序运行后,请尝试旋转设备。看看这个人的反应。他们是否意识到如何解决任何错误?太快了?如果他们不知道他们的头脑,他们在哪里寻找解决方案?他们是使用文档,还是只是从某处复制/粘贴代码?
不要试图让这个人创建一个成熟的应用程序。换句话说,请确保您坚持使用 basic 。否则,它将完全适得其反。这有点压力,但没有经验的开发人员无法处理。
答案 3 :(得分:4)
我原本以为要求查看一些示例代码(理想情况下在面试之前)仍然是值得的,特别是如果你向受访者询问一个独立的例子。
虽然您不熟悉Objective-C的细微差别,但您仍然可以评估受访者评论其代码的程度,并且代码的非Cocoa / UIKit部分与Java不同或者实际上任何其他OO语言。
除此之外,正如@Arrieta所暗示的那样,最好避免语言细节,并专注于解决问题的一般方法等。
答案 4 :(得分:4)
不要问他们有关你不能理解答案的地方的问题。这就是要求麻烦(死记硬背和/或滑稽的雪地工作)。
找到共同点,即使你必须回到编程基础或应用程序设计/测试/调试/ QA方法等,在你理解的领域深入研究他们的答案。只有这样你才能知道他们是否正在喂你乱搞。
iOS开发者应该已经在商店中安装了应用。在面试之前先看看它,并在可能了解目标或底层技术(网络,图形等)的任何部分对它们进行质疑。
然后你可以让候选人解释你不知道的共同点和他们的专业之间的关键差异(移动等)。为什么Objective C,UIKit,Xcode(等)的工作方式与XYZ通用地面编码不同?看看他们是否能够以某种方式清楚地解释它(以后您可以通过Google获得答案,看看他们是否指导您朝着正确的方向发展)。
答案 5 :(得分:2)
他们应该已经开发过一两个应用程序(即使只是为了自己),让他们解释一下它的结构。您应该能够智能地评论类的排列,并希望他们知道一些UML能够描述类布局或调用路径。