秋招_iOS面经_阿里钉钉_一面
昨天晚上六点电话约晚上九点进行第一次面试(996石锤(狗头))
1.接通电话之后首先没有自我介绍,而是阐述一下最近一年以来做过的一些iOS项目,说一下开发经历。
2.说一下项目里你认为的最难的点是什么?
3.因为iOS项目开发会用到很多开源的第三方库,你有没有用过一些第三方库呢?
4.对于你用到的这些第三方库,有没有哪一个是专门去看过他的源代码的,学习过,研究过的?
5.还记得这个第三方库里面的一些详细内容吗?具体说一下,你着重看了的那个点。
6.那你经过之后这几个月的学习,你现在觉得,他这块的代码,还有可以优化的地方吗,需要怎么去优化?
7.你这个项目的服务器端是用什么语言写的?
8.有学习过/做过网络编程吗,有去详细了解过网络部分的内容吗?
9.TCP报文的首部结构是怎样的?有没有了解过具体网络层传输层是怎么传输数据的?
10.了解过例如淘宝、支付宝这些的网络连接如何实现的这一部分吗?
11.有学过数据结构吗?为什么说B+树比B树更适合做操作系统的数据库索引和文件索引?简述一下B、B+树。
12.除了swift、oc以外哪门语言掌握的比较好?
13.C语言考一个简单的问题:A数组、B数组分别里面的内容都不重复,现在要你把A、B数组合并,然后再进行去重工作,怎么做?(单从数组、时间/空间复杂度方面去考虑,不考虑链表)
14.有做过一些网站里的算法题吗?(你把面试官往哪个方向引他就问哪个方向)
15.简述一下冒泡排序和快速排序的区别,因为一不小心就会搞混。
16.你觉得在你的项目中你哪个地方深入的还不错,或者说在iOS方面、swift方面你有哪些地方学习的还算比较深入的。
17.那你说一下内存管理吧。(因为我说我oc内存管理学的还不错,但其实只是浮于表面)
18.你有没有什么问题要问我的?
总结: 感觉面试官对我的表现不是很满意,觉得很多地方浮于表面,没有深入了解,总体来讲面试难度不大,他所问的问题都是基础问题,但你需要回答的比较深入,阐述逻辑需要清晰,考虑问题全面。面试官还是回根据你所掌握比较好的方面去问你问题,不会刻意刁难,只是看你了解的够不够详细和深入。算是比较在意学习能力吧,因为都是在考察你是不是在认真学习。项目上你要认真细致,很多地方都要认真考究。书本知识也要掌握全面,刷题也是很必要的。感觉一面挂了鸭555。
luhh