网易(技术面,视频,45min)
1.C++
(1)C++内存布局?(栈区、堆区、全局区、常量区、代码区,讲了下每个区的作用)
(2)各个区的内存排列?(从低地址往高地址依次是代码区、常量区、全局区、堆区、栈区)
(3)字节序有了解吗,介绍下?(大端序、小端序)
(4)有了解过为什么会出现两种字节序吗?(不同的字节序会影响取数据的效率,例如计算机通常采用小端序列,是因为CPU读取内存中的数据时,是从低地址向高地址方向进行读取的。)
(5)编译和链接做了哪些事情?
(6)静态库和动态库的区别?
(7)静态库和动态库哪个体积会更大?
(8)静态库链接的时候做了哪些事情?
2.网络
(1)一次HTTP请求涉及到哪些过程?(DNS解析,TCP三次握手,HTTP请求,HTTP响应,浏览器渲染也没,TCP四次挥手)
(2)DNS解析的过程?(浏览器缓存->OS缓存->hosts文件->本地DNS服务器->根域名服务器->顶级域名服务器->权威域名服务器,浏览器到本地DNS服务器之间递归查询,本地DNS服务器到根域名、顶级域名、权威域名服务器之间迭代查询)
(3)除了好记以外,为什么要用域名访问服务器,直接用IP不行吗?(同一个服务器节点上面可能运行多个服务器程序,如果单用IP没法进行区分,用域名可以进行区分)
3.代码
( Leetcode1)给一个 int数组,没有重复的数字,以及一个 int target,如果数组中两个数字之和 =target,输出这两个数字
4.反问
二面(技术面,视频,50min)
1.项目
(1)介绍一个有意思的项目
(2)项目中遇到的挑战?如何解决?
(3)TCP Keep Alive机制介绍下?(开启KeepAlive机制的一方会启用KeepAlive计时器,超时未收到数据,则发送探测报文,若收到ACK表面对端在线只是没有发数据而已,若收到RST表示对端已经关闭连接,若未收到数据,重试发送探测报文,达到阈值后放弃重试关闭连接)
2.网络
(1)HTTP断点续传涉及到哪些字段?(if-range、range)
(2)接(1)怎么确保分片全部传输完后,文件的完整性和无篡改(服务器分片传输的时候加HMAC消息认证码)
3.OS
(1)线程死锁是怎么造成的?
(2)死锁的四个必要条件?(互斥、请求和保持、不可剥夺、循环且等待)
4.C++
(1)智能指针的思想和作用?(RAII、防止内存泄漏)
(2)智能指针离开作用域就释放内存了吗?(shared_ptr引用计数器为0,才会调用delete释放内存)
5.其他
(1)投iOS这个岗位是怎么考虑的?
(2)用的主力手机是iPhone还是安卓的?
(3)从使用者角度,你觉得iOS系统,比较有意思的系统特性和功能是啥?
(4)iOS14和iOS13相比,新增哪些功能?(暗黑模式、小组件)
(5)最近在看哪些书,学习什么内容?
(6)iOS这方面的学习规划?