字节的客户端面经
23届的同学,计算机基础还ok,算法方面力扣230题,代码随想录一刷完成,项目一般般,只有一个webserver项目,觉得自己只走C++后端开发方向比较勉强,所以决定也投一投客户端,目前春招实习拿到了offer有字节抖音客户端(android和iOS任选)、深信服云后台(需要转go)、踏歌智行(自动驾驶平台后台开发C++)、OPPO(后台开发)。
下面是字节的面经:
--------------------分割线----------------------------------
【一面】(问的全是计算机基础,非常全面)
为什么想来客户端开发?
介绍一下自己(要多往客户端开发方面靠一靠)
了解客户端的技术栈吗?
挑一个你觉得最好的项目介绍一下
HTTP请求结构?
get post 区别
HTTP底层基于什么协议?
UDP和TCP区别是什么?
TCP如何保证可靠传输的?
time wait状态了解么?为什么要有这个状态?
select和epoll的区别?
reactor模式解决了什么问题?(游双)
了解proactor模式吗?说说和reactor模式的区别
进程和线程的区别说一说
进程中的数据段包含的内容有什么?(PCB)
虚拟内存的原理?操作系统在内存映射中做了什么方面的工作?
分页机制(包括页命中、页异常、页面置换)
分页和分段机制懂不懂?缺页异常了解吗?
指针、地址和引用的区别是什么?(指针对类型也有一定的抽象)
具体描述一下C++中多态的作用?(原理+具体描述)
堆和栈的区别?
对智能指针有哪些了解?
使用了多态的设计模式?(工厂模式)
STL容器用过哪些?
vector和list区别?
map和unordered_map区别?
算法题:有序数组统计target数量(也就力扣34. 在排序数组中查找元素的第一个和最后一个位置)
【二面】(相对来说深入问了一下项目和基础知识)
职业规划问题
http1.0 1.1 2.0 3.0区别
io多路复用是什么?说说其优势,从操作系统的角度来讲讲
http2.0 的服务器推送具体怎么实现的?
HTTP底层除了TCP和UDP还能用什么协议?我回答的TLS协议
算法题:问了一道LeetCode 3 无重复最长字串
【三面】(三面因为闲聊比较多,好多基础问题我都忘记了)
学校相关问题
学校里学的啥
项目里用的局部敏感哈希算法说一下
说说你的服务器项目吧
你觉得swift和C++区别在哪里
递归会不会?会出现什么问题,怎么优化
进程和线程的区别
碎片知道吗?内部碎片外部碎片区别?怎么解决
算法题:斐波那契数列,要求递归来写,并优化