面试题
基础篇
-
面向对象的三大特征
-
内存管理
-
Block
-
GCD
-
KVO KVC
-
推送通知 ⚠iOS7 iOS8差异
-
CALayer / UIView的关系
-
数据持久化
-
适配问题
-
iOS版本差异举例
-
Autolayout xib
-
-
部分硬件的使用
-
照相机
-
录音
-
通讯录
-
-
另外,更加基本功例如:
-
传值
-
协议、扩展
-
手势
-
生命周期
-
视图的加载顺序
-
提升篇
-
网络方面:
-
网络通讯 常见的AFNetWroking等网络框架
-
JSON XML数据解析
-
TCP协议
-
HTTP协议
-
-
数据安全,数据的加密解密技术
-
定位 地图 LBS相关
-
图文混排
-
Core Animation
-
Core Graphic
-
WebView 与 JS交互
-
CocoaPods的使用
-
第三方类库
-
基本使用
-
对第三方类库尝试扩展式修改
-
对第三方类库尝试侵入式修改
-
-
第三方平台
-
微博
-
微信 朋友圈
-
QQ互联
-
友盟等数据分析
-
等等等
-
-
上线流程
高级篇
-
性能测试
-
单元测试
-
runtime机制
-
Instruments工具的使用
-
支付宝/银联等支付
-
即时通讯与图像音频处理等(高级)
通用技能篇
-
代码规范
-
Git
-
代码习惯
-
-
无障碍阅读英文文档,至少阅读苹果官方文档
-
业余时间浏览优秀的博客,自己也会写一些总结
-
阅读优秀的开源代码,业余时间也会写开源项目
-
设计模式/面向对象编程
-
算法设计
-
正则表达式
在面试过程中,通常会问如下问题:
1.自我介绍
2.基本的编程能力对于程序员来说,没有比show me code来的更加实际的东西
3.从事上家公司项目的情况
4.个人感兴趣的事情
5.空余时间往往会做些什么
6.最近在研究些什么
7.解决问题的思路
8.经常浏览的网站
9.对产品的一些独到见解
要命的一点!会翻墙吗?会用google吗?会使用keyword吗?
面试是一个互选的过程,有时候也伴随着Lucky,或许这家公司适合你的口味,也有可能你适合这家公司的口味。
在面试的过程中,是人与人的最简单的交流,第一影响更加重要。
如果你觉得状态不好,或者临时有事情,请首先与公司联系,即使你不想去,也要提前打招呼,因为各司其职,HR也是很用心的(除了那种看到投简历的就直接通知面试的,过去以后填写个表格的公司HR)。
以上为个人的面试经验以及部分网友分享的总结:
推荐两本书给各位,希望各位在今后的道路上能走得更远~
1.《Objective-C高级编程》
这本书主要讲解的内存管理、Block和GCD。不多,只有200多页,其中Block讲解颇深,其中还有一些关于编译的情节,如果不懂,或许工作一段时间,你就明白了。
2.《Effective Objective-C 2.0》
52个技巧,这本书是足以纠正让你成为一个标准的iOS Developer,虽然中文翻译有点略瞎,如果有时间,可以尝试英中对应看,成长是个慢过程,一些老的毛病,不可能简简单单在短暂的时间改变。
另外送大家一句话:
学着做一个会生(tu)活(cao)的人!
不要抱怨人生,我们要尝试改变它,共同创建和谐家园。