阿里巴巴2015年面试经历

4月初的在线笔试过了之后预约了5月6号的面试。

一个月来断断续续补了前几次笔试面试缺漏的内容,CoreData,内存管理,数据结构等内容。

这段时间给我的感觉就是经常在实战打代码,有时候还是要回来补补理论的东西,才能达到理论与实践相结合的效果。

五一休息几天之后,今天一大早准备了一下便出发。

到了面试酒店之后,安排到等待处等待,叫号之后直接进入大厅面试。

入座之后问我看了什么书,回答:Object-C programing language,Program in iOS7,Effective Object-C 2.0

面试所问到的知识大概可以分为几个方面项目经验,Object-C及iOS,数据结构与算法,操作系统。


项目:上了AppStore看了看我的发布应用,在我手机上操作了一下我的应用,问在项目中我用了什么设计模式,在项目中用了GCD吗,怎么实现不同屏幕分辨率的适配

打开了我的应用之后,点击页面居然发生了卡顿;

关于项目中的设计模式,我回答用了最基本的MVC模式并大概解释了一下;GCD在tableVIew的数据加载中用辅助线程加载了图片, 并做预加载;

不同分辨率的话,回答代码上用VFL实现Autolayout,IB用了sizeclass,大概是这样。


Object-C及iOS:在一个类中增加NSString 类的函数如何实现;观察者模式用object-c怎么实现;delegate在object-c中怎么实现;新版Xcode有什么变化;swift语言有什么特性;include和import有什么区别。

第一问,写了个category基本解决;

第二问写了一个Notification的post和addObsever,觉得回答得太简单了;

第三问回答了在model里面加载数据,利用委托通知viewController,其实正确的应该是定义一个protocol,再定义一个Delegate实现两个类间的数据传送,亦或者是嵌套类简的数据回传;

第四问只回答出了storyboard的操作更方便,其实还有playground及其他的功能我都没答上来。

cocoa china 的介绍:http://www.cocoachina.com/ios/20140823/9441.html

第五问,include和import之前看一些面试题的时候看过,居然给忘了,悲剧。。。。


数据结构与算法:1.如何判断链表是否为循环链表;2.给出一个叶节点如何找到与其最接近的叶节点,就是经过的路径最短的

第一题两个指针一前一后跑搞定;

第二题想了一下没有最好的解法,给出一个从叶节点出发遍历的算法。


操作系统:1.进程间怎么通信;2.怎么解决死锁;3.进程和线程的进程和线程的区别

第一题答了管道和socket,其实应该还有共享内存空间;

第二题直接给了中断线程,囧~~ 

第三题回答进程是系统里面程序运行的基本单位,一个进程可以有多个线程,无法回答完整,还是需要补漏。


面试之后,觉得对于简历上的东西真的要非常熟悉,否则面试官从简历上的信息题问题不会的话真是吃大亏,然后算法数据结构操作系统网络数据库这些基础还是要熟知。

关于iOS开发,不仅要基础的知识,语言的特性理解,对于一些官方新发布的特性也要谨记,比如swift,xcode开发工具等等的特性。


刚刚收到消息,今天有的同学已经进行二面了,而我一点消息没收到。

不说了,该考虑去搬砖了,T T 

你可能感兴趣的:(经验感悟)