近期(2016.1-2)笔试面试总结-iOS

前言:

我14年毕业,做iOS开发1年左右,基本属于没人带散养的,完成了两个项目,中间有段时间没工作在考研,去年年底离职,找工作目前大概一个月,面试了挺多公司,大多是初中级岗位,相关笔试面试情况整理下,希望对自己做个总结,也希望能帮助到需要的人。

面试的公司有滴滴出行、face++、掌阅科技、博彦科技微软事业部、36Kr、途游游戏、嗨学网等,我每面完一家公司都会记录下笔试面试内容,出于对公司的尊重,我不能对应每个公司说出笔试面试题,但我会总结下,以下全是我遇到的:

基础篇:

1、进程、线程的区别?
2、“三次握手”是什么?具体细节,连接释放时需要几次“握手”,说出大概过程。
3、TCP、UDP协议的区别?计算机网络分几层,以及TCP、Http协议各自工作在哪一层及相关细节。
4、手写代码实现冒泡排序、手写代码实现怎么反转一个数组,各种常见排序算法的时间复杂度、空间复杂度。
5、常见的数据结构,数组、链表的区别及各自优缺点,二叉树遍历,平衡二叉树,哈希表(Key-Value)。
6、一些有趣的笔试题,写出伪代码,多用到递归。

iOS开发篇:

1、Objective-c中@property属性的区别和各自应用场景,比如@property(nonatomic,strong),什么时候用strong、weak、assign等。
2、怎么实现一个单例?
3、ViewController生命周期、app生命周期(问的很细)。
4、多线程编程、block的使用。
5、很多app主界面会有滚动视图,说下实现思路。
6、怎么实现下拉刷新、上拉加载?
7、UITableView的cell重用机制。
8、熟悉常用控件的继承关系,如说下UIButton的父类一直到NSObject,
9、常用设计模式有哪些,说说对MVC的理解。
10、内存管理(内容太多,不好写)
11、NSNotification的作用。

其他:

多是问产品模块有哪些、怎么分工,平常学习iOS的方法,工作时间外在iOS方面做了哪些事,毕业5年的职业发展规划。

总结:

这段时间的面试其实很虐心,很多公司岗位要求中高级,要求独立完成开发,碰了不少壁,收获也是有的。遇到了几个不错的面试官,很直接的指出我的缺点,提了不少建议。

我目前的感受是,作为初级选手,要把计算机基础搞扎实,也就是网络、操作系统、算法与数据结构这些课程上的,尤其是Objective-c相关语法。现在网上太多代码、框架,很多东西我们直接能拿来用,我觉得并不是件好事,尽量去理解尝试自己写出来。

希望自己在iOS开发上能快速进步,也希望写的这些面试经验能帮到需要的人。

你可能感兴趣的:(近期(2016.1-2)笔试面试总结-iOS)