最近面试关于面试碰到的一些问题(包含八股文和部分场景题目)

1.C++ UML类图

考官当场出一个需求,让你根据uml画出相关uml图。

2.stl容器

vector和list在后端在大量数据接收时候,哪个容器更加合适?vector动态扩容,导致频繁的拷贝复制数据到新的空间,效率没有list高,(个人认为list在堆上频繁开辟空间存储数据会造成空间碎片化在运行一段时间后导致coredump,此时后端多进程可以采用共享内存,多线程可采用内存池)

大量的内存碎片会使系统缓慢,原因在于虚拟内存的使用会使内存与硬盘之间的数据交换称为系统

 缓慢的根源,最终造成内存的枯竭!!!

如何避免内存碎片的产生

   1>少用动态内存分配的函数(尽量使用栈空间)

   2>分配内存和释放的内存尽量在同一个函数中

   3>尽量一次性申请较大的内存2的指数次幂大小的内存空间,而不要反复申请小内存(少进行内存的分割)

   4>使用内存池来减少使用堆内存引起的内存碎片

   5>尽可能少地申请空间。

   6>尽量少使用堆上的内存空间~

   7>做内存池,也就是自己一次申请一块足够大的空间,然后自己来管理,用于大量频繁地new/delete操作。

3.new和malloc区别以及底层实现机制

4.tcp和udp整个流程(毡包如何处理)

项目中的心跳监测注意

5.const关键关键字

6.四种转换

其中动态转换中的父类指针引用怎么转换成子类的?

静态转换常见的用法

7.封装继承多态

主要讲多态

静多态(函数重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值