之前在板上征iOS工程师.
在这一轮中,跟大概十多个人聊过。想要谢谢ptt让我遇到很棒的面试者。
想来这边分享一下心得,希望对于想要找工作(尤其在硅谷)的人有一点点的帮助。
背景交代:我在硅谷当工程师大概6年,也在硅谷大小公司面试接近200个人。
有一些是我注意到两边文化不太一样的。
1. 分享一个曾经碰到的技术上的难题,并且分享如何解决的。
在这一轮面试当中,听到很多面试者比较像是聊产品的功能,
而没有太多着墨于真正的技术上的困难。
一般问这个问题期待得到以下资料:
1. 所做过的功能复杂度
2. 面试者的解决问题能力,对于问题有没有追根究底的精神
3. 面试者会不会善用工具,网络来解决问题
4. 一个面试者的资深程度 在这题里面也可以看出端倪
举一个例子我自己面试时曾用过的例子,之前在fitbit做运动列表。
(抱歉不会贴图,fitbit appstore第三个图片)是一个很基本的tableview
里面有不同的cell 包含运动的细节以及地图
我会提到的技术上的难题有
a. 不同的运动及不同的手环有不同的资料。衍伸的问题
是如何最佳化cell rendering。
b. 苹果本身有API可以自动计算高度, 可是在这个情况下不敷使用,
因为几乎大部分的cell都包含10+ subviews
c. 对于要显示地图的cell,如何做快取的动作。
d. 当手环在背景同步完成,要比对本地资料以及新的资料做
cell插入及更新的动作。
如果使用者在快速滑动情况下如何确保顺畅的使用
e.用什么工具去测量performance以及什么样的数值是好的。
XCode自带的instrument有哪些可以用在这里
f.如何处理快速滑动(尤其是很多cell需要另外下载资料)
以上是我在面试是会提出来讨论的,以及我是如何解决问题。
这是一个不用花太多时间可是可以深度讨论的层面
2.对于产品有什么想法
如果面试的是中小型的公司(<2000), 对于产品有透彻的了解/见解会加分很多
我觉得可以分为一下几类:
a. 对于产品的第一印象
b. 任何问题,或是使用者方便性的问题(不用担心主考官听了不爽)
c. 所缺少竞争者有的功能
d. 有什么功能上的建议
我大概在每个面试前,会花半小时了解一下产品。
然后做笔记,通常主考官知道你对于公司产品做了很多功课都会有很大的加分
多做几次之后,会培养出很棒的product sense。
大概就是这两个我觉得感觉上跟硅谷这边面试较不一样的。有问题欢迎问我,谢谢 :)