网易互娱 客户端开发 一面面经
笔试2题只a了一题,竟然过了。一面面试官感觉挺年轻的,很好人。面了一个半小时,总体上是提出问题后不断深挖
1、给了一个结构体,问大小,各成员的首地址
2、怎么修改可以减少总大小
3、通过什么方法可以修改对齐的规则(这个不知道)
4、那我现在想要压缩这个结构体,只使用15字节(成员总大小)的空间要怎么放
针对这个问题让我写一下伪代码,我的思路用一个int8数组存,把大于一个字节的成员转成int8数组格式,然后分别放进数组里。然后根据我的代码连续问了好几个问题,最后一个是:uint8_t array[15],把一个double num存进去,让其放在array下标1-8的位置。这个问题没答上来,面试官就作出了解答
5、struct alignas,加上这个原结构体的size是多少
6、介绍一下虚拟内存
7、从虚拟地址到物理地址的具体寻址过程,比如cpu干了什么
8、内存分页是为了解决什么问题
9、介绍一下三次握手
10、第三次握手发的ACK是为了回应什么?(第二次握手中的SYN)
11、介绍一下四次挥手
12、为什么第四次挥手要等待这么长的时间,这样设计是为了什么
13、连接完成后,假如client突然掉了,且此时网络中没有任何数据收发,那么server可以通过协议栈的方法得知client挂了吗?
这里不是很熟,我说感觉server应该不知道。然后问那么通过怎么样的方法可以让server知道,这时突然想到keep-alive就提了一下,面试官说他的查询间隔是多少,会不会有点长(这里具体的间隔是多少主播不懂)让我设计一个方法的话会怎么设计。我就联想到一秒有多少帧,可以就按这个频率发送检测,如果send()和recv()正常就代表连接正常
14、如果server开启listen()状态后突然挂了,然后直接重启服务器代码的话会出现什么错误?怎么避免?
15、介绍一下IO多路复用的select、poll、epoll。把之前看的东西都说了一下,然后也继续问多了几个问题,只记得一个这三个哪个能用在windows上
16、问python的问题,问知道GIL吗?(我说不知道,对python的细节不是很熟,只是会用python做科研项目,面试官就没继续拷打了)
17、时间到50min的时候,说出个代码题,说说思路就好。让实现Timer和TimerManager。后面查了一下才知道这个是比较高频的考点,但是完全没接触过(一开始还以为是实现一个计时的秒表
),不过面试官会全程引导,我一开始说完思路后面试官会抛出一些问题指引我要使用什么数据结构、联想一下前面说的多路复用等等
18、这里说了20多分钟,最后让我介绍一下之前实习的项目,讲了10min左右
19、反问
总体来说问的挺多的,有些问题我就说不熟悉然后猜了一下,面试官会问为什么这样猜,或者加以引导
1、给了一个结构体,问大小,各成员的首地址
2、怎么修改可以减少总大小
3、通过什么方法可以修改对齐的规则(这个不知道)
4、那我现在想要压缩这个结构体,只使用15字节(成员总大小)的空间要怎么放
针对这个问题让我写一下伪代码,我的思路用一个int8数组存,把大于一个字节的成员转成int8数组格式,然后分别放进数组里。然后根据我的代码连续问了好几个问题,最后一个是:uint8_t array[15],把一个double num存进去,让其放在array下标1-8的位置。这个问题没答上来,面试官就作出了解答
5、struct alignas,加上这个原结构体的size是多少
6、介绍一下虚拟内存
7、从虚拟地址到物理地址的具体寻址过程,比如cpu干了什么
8、内存分页是为了解决什么问题
9、介绍一下三次握手
10、第三次握手发的ACK是为了回应什么?(第二次握手中的SYN)
11、介绍一下四次挥手
12、为什么第四次挥手要等待这么长的时间,这样设计是为了什么
13、连接完成后,假如client突然掉了,且此时网络中没有任何数据收发,那么server可以通过协议栈的方法得知client挂了吗?
这里不是很熟,我说感觉server应该不知道。然后问那么通过怎么样的方法可以让server知道,这时突然想到keep-alive就提了一下,面试官说他的查询间隔是多少,会不会有点长(这里具体的间隔是多少主播不懂)让我设计一个方法的话会怎么设计。我就联想到一秒有多少帧,可以就按这个频率发送检测,如果send()和recv()正常就代表连接正常
14、如果server开启listen()状态后突然挂了,然后直接重启服务器代码的话会出现什么错误?怎么避免?
15、介绍一下IO多路复用的select、poll、epoll。把之前看的东西都说了一下,然后也继续问多了几个问题,只记得一个这三个哪个能用在windows上
16、问python的问题,问知道GIL吗?(我说不知道,对python的细节不是很熟,只是会用python做科研项目,面试官就没继续拷打了)
17、时间到50min的时候,说出个代码题,说说思路就好。让实现Timer和TimerManager。后面查了一下才知道这个是比较高频的考点,但是完全没接触过(一开始还以为是实现一个计时的秒表
18、这里说了20多分钟,最后让我介绍一下之前实习的项目,讲了10min左右
19、反问
总体来说问的挺多的,有些问题我就说不熟悉然后猜了一下,面试官会问为什么这样猜,或者加以引导
全部评论
我刚做笔试,第一题A了,第二题只过15%
,能过吗
网易还是那么逆天,客户端疯狂细问网络
相关推荐

点赞 评论 收藏
分享