2010-12-08 49 views
17

我需要很快采访一些人为移动开发者职位(iphone)。问题是我的优势在于Java web开发。移动开发者面试问题,非移动开发者可以询问

我应该问什么问题,而不要听起来像一个白痴? 另外,这些问题有效的答案是什么?

+1

+1很好的问题! – Linuxmint 2010-12-08 21:31:12

+1

好问题,但我认为它可能比这里更适合[程序员](http://programmers.stackexchange.com/)。 – 2010-12-10 18:31:15

+0

应该有一个徽章在非建设性问题上获得徽章 – mkoryak 2012-01-23 20:43:14

回答

18

WOW这个答案是五岁。对于2015年,我只想问一句:

  • 为OP答案这里是一样的东西“自动布局,自动布局,自动布局”。在房地产领域,你有口号“位置,位置,位置”;在iOS开发中它是“自动布局,自动布局,自动布局”。作为一个现实生活中的实际问题,假设你正在检查某人的自由职业。在实践中,您要求他们展示的唯一一件事就是他们擅长自动布局以及相关问题,例如在代码中使用约束等。

  • 您是否完全熟悉PubNub,Firebase,Parse和类似系统...今天,Baas“是iOS工程”。今天要学习iOS,就是要学会连接到一个Baas;在iOS自由职业者是做巴斯工作。

  • 理想情况下,您是否对Android开发有一定的了解,您是否至少在Mac上安装了Android Studio,并且可以为您的Samsung构建一个简单的应用程序;所以你可以与同事互动。

这里的老答案!...


如果是我,我会问他们...

是他们完全熟悉这些TEN要点

  • 的XCode(理想情况下它的调试工具)
  • Interface Builder中
  • 应用提交到应用商店,一切涉及(certs,blah等等)
  • in objective-C,using inside properties out
  • 在Objective-C,使用委托内而外
  • 与ASIHttpRequest 联网{这个答案真的是五岁!},AsyncSockets,的GameKit,卓悦
  • 子类的总理解
  • 基础知识,例如CoreAnimation和CoreData
  • 像UITableView的iOS版“所有常用的接口”,等等等等
  • 一切,从上到下,内存管理

我想这是一个很好的首发名单。 (如果我忘了什么明显的,它很快就会建议。)

需要注意的是第10项,内存管理,是关键的项目。除非您是平台上的内存专家,否则您无法构建完成的工作生产移动设备应用程序。此外,擅长iPhone内存管理的人通常擅长iPhone上的其他任何事情。如果我只能问一件事就是这样!

还有一打,你必须有拍下来开发iPhone的小东西 - 比如“喜好”,“加速”,“图标和闪屏”,“播放声音”等开始和结束。你必须能够在五分钟内完成所有这些工作,而不是五天的调查。真的很难。有人可能会列出所有这些“小型必备品”。

一个也许是单独的有点专家问题是OpenGL。取决于你付出的是什么以及你需要什么,你可能会要求一个谁是OpenGL专家。

是你的公司的领域游戏开发?如果是这样,这是完全可能的,而且,作为一个“总” iPhone游戏开发者,你可能需要有人是谁,也已经彻底专家

  • Unity3D(对于3D等)
  • 流行的物理(2D)包(如花栗鼠等)
  • 这种或那种方式,客户端 - 服务器系统的服务器端

不过就是这样。一个问题是 - 具体是什么,你打算做(笼统)?即科学计算,游戏开发,营销应用程序致富,内部目录,手持客户端或?如果你告诉我们,我们可以告诉你他们需要什么。

最后高票 - 你必须能够看到3+,他们已经做了实际应用。有了iPhone,你真的需要能够“把它带回家”,编写好的代码片段是不够的,你知道的。这很难。


这里的“的东西,我们在十个关键点忘记”名单开始了!

  • Matt指出,他们应该对MVC代表模型 - 视图 - 控制器思考。 (这是在iOS世界中的一种法西斯崇拜 - 我们都坚持!直到你是我们中的一员之前,我们无法告诉你这些事情,如果他们提到MVC时他们的脸上就会亮起来,天黑和不舒服的看,继续......)

  • 大卫和布拉德指出 - 也许不像其他编程领域 - iPhone和Mac程序员通常需要接口感。你需要一个干净的iPhone界面的感觉,你必须知道如何使用iOS元素来布局iPhone上的任何特定问题,从而增加iPhone用户体验。

9

限制你自己评估你可以合理地评估的特质。请另一位知识渊博的人来判断你不能做什么。

此外,您可以要求应聘者向您解释有关iPhone开发,解释说您不熟悉它,并判断回应:候选人对此很傲慢?候选人对此感到兴奋?候选人可以清楚地解释思路?候选人“有意义”?所有这些都是你可以合法地判断的特质,而且他们对任何位置都很重要。

再次,不要试图评估你自己不知道的东西。

+0

Re:同样,不要试图评估你自己不知道的东西。 - 没有这个选项。没有iphone开发者在这里工作 – mkoryak 2010-12-08 20:04:39

4

我曾想过,要求看一些示例代码(理想情况下,在面试之前)仍然是一个有价值的练习,尤其是如果你问受访者一个独立的例子。

虽然您不会熟悉Objective-C的细微差别,但您仍然可以评估受访者对其代码的评论程度,并且代码中的非Cocoa/UIKit部分与以前不同Java或者其他任何OO语言。

除此之外,作为@Arrieta意味着它可能最好避免语言细节,专注于他们的一般的方法解决问题,等等

4

不要问他们在哪里你不明白的答案不够好挖领域的问题。这是自找麻烦(一死记硬背朗诵者和/或能说会道雪作业)。

找到共同点,即使你回去编程或应用程序设计/测试/调试/ QA方法等基本知识挖掘到他们的答案对你非常了解的区域。只有到那时你才会知道他们是否喂养你的胡言乱语。

iOS开发人员应该已经在商店的应用程序。在面试前查看一下,并在任何可能了解目标或底层技术(网络,图形等)的部分提问。

然后,您可以要求应聘者解释您的常见问题地面和你不知道的专业(手机等)。为什么Objective C,UIKit,Xcode(等)与XYZ通用地面编码不同?看看他们是否可以用一种方式清楚地解释它,以便你了解它(你可以稍后回答问题,看看他们是否引导你朝着正确的方向发展)。

2

他们应该在一个应用程序或两个(即使只是为了自己)已经工作,让他们解释它的结构。你应该能够智能地评论类的排列,并希望他们知道一些UML能够描述类布局或调用路径。

5

把它们粘在机器运行的Xcode的前面。然后,让他们编写一个基本的应用程序并运行它。

旅游可能放在所述APP:

  • 从网站加载图像,同时保持UI响应
  • 编辑表视图;能够删除行动画和重新排序它

或者去一些基本的东西,如:

  • 一个简单的文本编辑器
  • 计算器

一旦应用程序是运行,尝试旋转设备等。看看这个人是如何反应的。他们是否意识到如何解决任何错误?太快了?如果他们不知道自己的头脑,他们在哪里寻找解决方案?他们是否使用文档,或只是从某处复制/粘贴代码?

不要试图让该人创建一个完整的应用程序。换句话说,确保你坚持基本。否则,这将完全适得其反。这有点压力,但没有经验的开发人员无法处理。