首页 > 360 c++开发面经(已offer)

360 c++开发面经(已offer)

360 一面
1. IO模型

2.     面向对象的理解?c++的特性

封装、继承、多态

3. c++类的成员变量和成员函数内存分布情况

成员函数不占用对象内存,所有函数是放在代码区的。对象大小和对象中数据成员大小是一致的。

4. class struct的区别,结构体可以定义其他函数吗?

class默认访问权限为private

structpublicstruct可以包含成员函数,能继承,能实现多态。

5. nullptrNULL区别

NULLc++中为0(在C中是void*类型)c++中不允许隐式转换成其他类型。

nullptr在任何情况下都代表空指针。

6.     互斥锁和自旋锁的区别

7. newmalloc区别,freedelete区别

8.     设计模式

9. linux显示一个文件大小的指令 ls –lh

10. SGDadam 区别  项目训练怎么调参

计算目标函数关于当前参数的梯度

根据历史梯度计算动量

计算当前时刻下的下降梯度

根据下降梯度进行更新

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_mapmap的区别

19. shared_ptr

共享智能指针,多个智能指针可以指向相同的对象,使用控制块管理引用计数,当计数器等于0时,资源会被释放。可以传入unique_ptr,weak_ptr来构造,也可用new构造

20.  网络编程了解吗

21. int *p[10] int (*p)[10]  int*p[10]强调数组,表示含有int* 指针的一个数组p

22.  编程题:反转链表

360二面:

1.     项目详细

2. const *p如果程序运行时向里面写值会出问题吗?什么问题?

3.     多个CPU怎么允许

4.     快排时间复制度 一个树的遍历的时间复制度

5. socket write成功返回之后,其数据在哪里

write函数调用瞬间,将数据移到输出缓冲;read函数调用瞬间,从输入缓冲读取数据。write函数在数据移到输出缓冲时返回。

360 HR

1.     自我介绍

2.     优点

3.     缺点

4.     为什么投北京的岗位

5.     你的学习路线

6.     反问

更多模拟面试

全部评论

(6) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐