2022年秋招/春招/提前批/大厂面经整理(持续更新中~)
360 c++开发面经(已offer)
360 一面
- IO模型
-
面向对象的理解?c++的特性
封装、继承、多态
3. c++类的成员变量和成员函数内存分布情况
成员函数不占用对象内存,所有函数是放在代码区的。对象大小和对象中数据成员大小是一致的。
4. class 和struct的区别,结构体可以定义其他函数吗?
class默认访问权限为private
struct是public。struct可以包含成员函数,能继承,能实现多态。
5. nullptr和NULL区别
NULL在c++中为0(在C中是void*类型)c++中不允许隐式转换成其他类型。
nullptr在任何情况下都代表空指针。
6. 互斥锁和自旋锁的区别
7. new和malloc区别,free和delete区别
8. 设计模式
9. linux显示一个文件大小的指令 ls –lh
10. SGD与adam 区别 项目训练怎么调参
计算目标函数关于当前参数的梯度
根据历史梯度计算动量
计算当前时刻下的下降梯度
根据下降梯度进行更新
adam是自适用矩阵估计,会计算二阶动量
SGD下降速度慢
11. 怎么把一个程序放在后台
在命令后面加上 ./test &
在前台执行的命令,放到后台执行:ctrl+z bg % 1
在退出shell时继续运行:nohup ./test &
查看当前终端所有任务PID,状态 jobs –l
查看当前所有进程:ps –aux
杀死一个进程:前台ctrl+c,后台:kill PID
将后台中的命令调至前台继续运行:fg %xxnumber
12. TCP怎么实现可靠传输?
13. 拥塞控制
14. TCP Time_wait状态过多怎么办?
打开系统time_wait的重用和快速回收
重用:tcp_tw_reuse=1,默认为0,表示关闭.
socket中设置选项,跳过四次挥手(不建议)
修改net.ipv4.tcp_max_tw_buckets,调整time_wait状态上限个数.当连接数超过该参数,新关闭连接直接关闭;
15. close_wait状态过多怎么办?
出现原因:被动关闭方未关闭socket造成
16. 构造函数为什么不能为虚函数
17. vector实现机制
维护一块连续的线性空间,空间不足时,重新配置空间,移动数据,释放原空间,会造成迭代器失效
18. unordered_map与map的区别
19. shared_ptr
共享智能指针,多个智能指针可以指向相同的对象,使用控制块管理引用计数,当计数器等于0时,资源会被释放。可以传入unique_ptr,weak_ptr来构造,也可用new构造
20. 网络编程了解吗
21. int p[10] 和int (p)[10] intp[10]强调数组,表示含有int 指针的一个数组p
22. 编程题:反转链表
360二面:
-
项目详细
- const *p如果程序运行时向里面写值会出问题吗?什么问题?
-
多个CPU怎么允许
-
快排时间复制度 一个树的遍历的时间复制度
- socket write成功返回之后,其数据在哪里
write函数调用瞬间,将数据移到输出缓冲; read函数调用瞬间,从输入缓冲读取数据。 write函数在数据移到输出缓冲时返回。
360 HR面
-
自我介绍
-
优点
-
缺点
-
为什么投北京的岗位
-
你的学习路线
-
反问
总结语
希望大家能够时刻保持一颗积极向上的心,我始终相信一件事:机会永远是留给有准备的人。
资料分享:下图中的资料是我和群里的小伙伴一起为正在准备秋招的朋友整理的,需要这份校招资料的点赞、转发、收藏之后添加君羊【832218493】 免费了领取!