又面试了,拿了两个年包63+的offer

主要面试了四家,车载系统中间件方向,关于c++的面试内容大概如下:

第一家

 两个面试官,一轮面试通过,项目经验比较匹配,问的比较详细,c++稍微问了几个问题:

1. 多重继承如何避免二义性

2. unorder_map 底层数据结构是?如何避免冲突

3. template的注意事项,必须在.h实现定义,为什么?

4. 如何查看可执行文件的链接库, ldd还有 readif?


 

第二家

一轮面试fail,感觉面试官偏年轻自傲,纠结于一些技术细节,项目经验基本不懂:

1. vector如何释放多余内存,swap

2. shared_ptr是否阅读过源码,是否线程安全

3. order_map与unorder_map底层是什么?红黑树原理?为什么要左旋右旋

4. 多态的实现,重写与重载,虚函数表是跟着类还是实例?

5. mutex的一般用法,多线程编程时需要引用哪些库

6. linux 的内存模型

7. lambda表达式如何判断this是否存在

算法题

链表反转


 

第三家

二轮技术面+hr面,技术与项目经验的考察相当全面系统,不会纠结某个细节,互有沟通学习:

1. unique_lock与lock_guard的区别

2. 线程互斥的多种实现方法,原理,区别,condition变量设计

3. shared_ptr的实现原理,是否线程安全?make_shared与直接用shared_ptr初始化的区别

4. weak_ptr的使用场景及原理,unique_ptr的实现原理

5. 如何禁用拷贝构造函数? = delete

6. 死锁时如何检测

7. std::move的作用,使用场景?

8. 设计模式:单例?策略模式?工厂模式?发布订阅模式?是否用template实现过设计模式

9. 使用template的场景,如何获取类类型(萃取),在.c定义template会报什么错(redefine)

10. lambda表达式的几种捕获方法,生命周期

11. 发布订阅模式(dds?)的生命周期

算法题:链表是否有环,环的长度如何计算;c++实现version大小比较

第四家

三轮技术面,还在等通知

mqtt/restful/dds等通信机制的区别与选取标准

(待补充)

算法题:

反转链表,寻找数组中大于一半长度的值

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值