荣儿呐 学校
APP 内打开
分享
15
7

字节客户端面经

一面 9.28 50min

一、自我介绍

二、项目相关

1、客户端之间怎么连接?

2、每个连接都是开不同的端口吗?

3、连接是基于TCP还是UDP?

三、 TCP怎么保证传输可靠性?

四、TCP三次握手、四次挥手

五、HTTP是一种什么样的协议?

六、HTTPS/HTTP区别

七、HTTPS具体怎么实现的?

八、HTTP的报文格式

九、HTTP的请求头部有哪些典型信息?

用户代理信息放在哪里?

十、程序被编译成可执行文件的过程

链接的过程?主要做了什么?

汇编之后的文件为什么不可执行?

十一、内存空间分配

字符数组

int main()

{

char a[]="abcde";

return 0;

}

a存放在哪里?

“abcde”放在哪里?

sizeof(a)=6

a[1]='a';允许吗?

十二、什么是虚拟内存

十三、博弈论/必胜态/必败态

200个球,两个人拿,每人每次拿1-5颗,如果轮到拿时,没有球,则输。我先拿,有办法保证我赢吗?

十四、手撕:每k个元素翻转单向链表


二面 9.29 55min

一、自我介绍

二、项目相关

1、智能小车的循迹怎么做的?

2、困难点在哪里?

3、火炮身管的核心点是什么?

4、仪器需要放在固定位置吗?

5、网络这方面为什么用第三方库?

6、第三方库主要做了什么事情?

7、协议有帮助处理吗?

8、自己会设计类似这样吗?

9、比如0x00开头,0x00结尾,发送的内容是0x00,怎么处理?

怎么判断开头和结尾?或者怎么判断0x00是结束还是发送的内容?

三、TCP协议报文的前几个字符是做什么用的?

四、TCP是怎么发送数据包的?做到有序?

五、多线程和多进程有什么区别?

六、一个任务单线程也可以完成,为什么要用多线程?什么情况下用多线程?

七、锁的原理?怎么实现的?

怎么做到把两个线程锁起来?体内原理看过吗?

八、结构体

struct my

{

char a;

short b;

char c;

int d;

char arr[3];

};

单字节对齐占多少字节?

4字节对齐呢?

九、为什么要字节对齐?

十、TCP/HTTP的区别

十一、 HTTP/HTTPS区别

十二、SSL握手过程

十三、非对称交换的作用是什么?

十四、如果把所有的通信包都拦截下来,可不可以破解他的密钥?

十五、客户端怎么知道里面的内容的(好像是说怎么知道公钥的)?

十六、如果已经拿到公钥,也可以解密吗?怎么保密?

十七、数据库用过吗?

十八、有100万人抛硬币,正面为上的时候,记录+1,停止抛;反面为上,记录+1,继续抛,直到出现正面为止。正面和反面记录的比值大概是多少?

十九、手撕:实现一个支持 push, pop操作,并能在常数时间内检索到最大元素的栈

二十、智力题

8个长一样的球,有1个比别的重,最少用天平称几次能找到这个重的球?

二十一、反问


三面 10.13 35min

一、自我介绍

二、项目相关

1、身管膛线是什么样的设备

2、光是怎么打出来的?相机得到的是什么样的图像?

3、用到什么样的图像处理?

4、位置是怎么确定的?

5、之前学过图像处理吗?

三、怎么判断一个点在矩形里?

四、电赛参与的是哪个项目?

五、C++内存管理

六、数据库用过吗?

七、非阻塞复用的模式是怎么实现的?

八、手撕:从第一个字符串中去掉第二个字符串中包含的字符

九、哈希表的实现:哈希函数

十、进程间通信方式?用过哪个?

十一、用过UDP协议吗?

十二、TCP和UDP区别

十三、TCP怎么保障可靠性?

十四、自己擅长的点?

十五、可以来实习吗?

十六、反问



发布时间:2020年10月21日
用户头像
我来说两句…
暂无评论 暂无评论