iOS开发·二面网易云,还是挂了....

517 阅读3分钟

网易(技术面,视频,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这方面的学习规划?