腾讯音乐-全民K歌iOS面经
前言
笔者要分享的是今年校招的时候,面试腾讯音乐(全民K歌)iOS开发岗位的经验。之前整理好的面经忘记发出来了,现在翻到就分享出来给大家参考一下。
面试内容
一面(腾讯会议视频面试)
0. 自我介绍和手撕代码(简单题:给定一个字符串,返回后面k个字符)
1. 从在浏览器输入URL到网页显示的过程,发生了什么
2. 为什么HTTPS是安全的
3. TCP是怎么保证可靠传输的
4. 堆和栈的区别
5. 什么是内存对齐(这个没回答好)
6. 深拷贝和浅拷贝的区别
7. 进程和线程的区别
8. 什么是死锁,死锁发生的条件以及怎么避免
9. 进程间的通信方式有哪些
10. 二叉树的遍历方式有哪些
11. 字典查找的时间复杂度是多少,为什么
12.数据库事务正确执行的四个基本要素(没答上来)
13. 说一下三种范式(也没回答上来,并且坦白告诉面试官,我对数据库不是很熟悉)
14. strong、weak、assign、retain和copy等修饰符的区别
15. 说一下MVC设计模式
16. app生命周期
17. KVO的原理
18.说一下对Runloop的理解
19. 有看过AFNetworking源码吗(我简历上提到用过哪些库。我回答了没看过)
20. 你在学校做iOS项目的时候,有没有遇到什么印象深刻的问题,你是怎么解决的(针对简历上面写的项目问)
21. 你有什么想问的吗
小结:一轮面试问的基础问题比较多,大部分都回答得不错,就是数据库完全不会哈哈。因为我之前看别人的iOS面经,好像都没有问数据库的,所以我没有复习数据库。
二面(腾讯会议视频面试)
0. 自我介绍和手撕代码(leetcode#217,存在重复元素)
1. 从在浏览器输入URL到网页显示的过程(又是这个哈哈)
2. TCP拥塞控制是怎么工作的
3. CA证书的认证机制
4. 说一下计算机网络的OSI模型
5. 源码编译成可执行文件,中间经历了什么步骤(这个没回答好)
6. 哈希表冲突方法的解决办法有哪些
7. 进程间通信方式有哪些
8. 说一下你对死锁的理解
9. oc的消息转发机制
10. NSDictionary的实现原理
11. oc里的修饰符有哪些,有什么区别
12. ARC中的weak是怎么实现的
13. 浅拷贝和深拷贝
14. swift有runtime吗
15. block中怎么避免循环引用
16. iOS的计时器有哪些
17. NSTimer计时准确吗,为什么(NSDefaultRunLoopMode)
18. 开始问项目,你简历上那个xx项目,你主要参与了哪些工作,遇到什么难题,怎么解决之类
19. 研究生阶段还有做iOS相关项目吗(回答没有,但是还有在自学)
20. 你有什么想问的吗
小结:这轮面试问基础问题相对少一点,主要问iOS的问题
三面(电话面试)
0. 自我介绍
1. 说一下TCP三次握手
2. HTTPS工作原理
3. socket了解吗
4. 说一下MVC和MVVM架构
5. iOS的对象放在堆还是栈
6. Runloop了解吗
7. GCD和NSOpseration各有什么特点
8. GCD怎么实现多读单写
9. iOS并发任务怎么实现执行顺序
10. 你平时有看WWDC吗,有看什么网站或者博客学习iOS知识
11. 什么时候有时间实习,可以实习多久
12. 你有什么想问的吗
HR面
基本上就是核对个人信息,以及实习时间,还有跟我说有什么问题随时联系之类的
面试体验
从一面到HR面只用了5天时间,可以说是相当快了。而且面试官的态度也很好,不会有架子。