有史以来第一次电话面试。。。恩你猜的没错,我挂了
首先是简单的自我介绍
然后面试官问我之前有没有过实习(并没有)
之后就直奔项目了,先是让我描述一下我的项目。
然后问我项目有没有上线到AppStore(并没有)。
接下来就是坑点了:
面试官让我说一下项目中使用了哪些技术,于是我就开始很详细地说,结果说了几句之后他就突然打断我,问我能不能再详细一点,然后 - 我 - 就 - 蒙 - 了!因为我当时明明是很详细地在说。于是我愣了一下,傻乎乎地说:“我觉得这样挺详细的啊...”,然后他就笑了一下,直接问下个问题了。。。感觉自己这么回答好 - 白 - 痴 - 啊!!!我还有很多地方没说呢喂!!!
然后他问我:“你的简历中写着了解Swift,那你说说OC和Swift有什么不同?”
我说:“有很多不同(我又说了句废话),比如XXX”。其中提到了Swift中有时可以省略数据类型和返回值类型,因为会根据上下文自动判断其类型。然后他就问我这样的好处是什么,我说简单、防止出错(有更好答案的朋友请告诉我,不胜感激)
然后问NSThread、NSOperationQueue、GCD间的区别(这个其实我知道很多,可当时我却总结、凝练了精简的话回答他,我是不是傻。。。现在觉得我明明知道,就应该多说点啊)
然后问我什么时候用到过GCD
之后问我数据存储都用哪些。我就说小的数据用plist、NSUserDefaults,大量数据用FMDB
然后他就问我FMDB如何解决多线程问题,然后我就蒙了。因为之前并没有学习过这方面的知识,所以没有回答上来。但后来百度了一下,其实就是利用锁比如NSLock、@synchronized,最好是用FMDatabaseQueue来解决。
然后让我随便说个排序。于是我就说了快排的实现。然后问我快排的时间复杂度是多少。然后问我为什么快排是最快的,我说因为它的常数最小(不知道这样回答可不可以,有更好答案的朋友请告诉我,不胜感激)
总结一下,第一次面试有点紧张(因为太紧张,说到后来我的声音都有点变了),主要问题就是知识还有很多欠缺,而且感觉自己说了好几句废话,估计印象分会大打折扣。。。