蔚来感知融合算法实习生面经


一面
60min

1.自我介绍
2.项目细节
所有问题都要回答具体的公式

3.C++
C++多态怎么实现?

调用虚函数背后的原理是什么?虚表,在构造函数里初始化虚表,虚表指针

为什么析构函数要用虚函数?

extern关键字说一下

4.算法(自己用IDE,然后讲一下思路)
链表反转(用了双指针法)

二面

  1. 自我介绍
  2. 融合项目
    简略介绍整个项目的流程。

EKF的状态模型和量测模型是什么样?

发散问题:你对不确定度的描述是对深度的。那么有没有考虑过所有的测量之间的一些相关性?例如

  1. C++
    用过什么智能指针?它能解决什么问题?
    答:shared_ptr,每有一个shared_ptr指向一个对象,那么引用计数+1,只要引用计数不等于0,就不会释放对象所在的内存,因此避免内存重复释放的问题。

打开IDE,继承考察:

(1)写一个Person类和他的子类Woman,写出一些属性和构造函数,析构函数
注意父类的构造函数在初始化列表中调用

(2)实现一个计数器,只要实例化这个类或他的子类的对象,计数器就++。
实现:Person类中用一个静态的成员变量static int count,在Person类中count++。

注意,无需在Woman类中++,因为Woman构造函数中调用了Person的构造函数。

注意,count在类外初始化,并且封装成私有的,通过公有接口来访问count。

(3)为什么析构函数要用虚函数?
答:下列代码中p2是父类的指针,若析构函数没有定义成虚函数,在编译期间静态联编,实际调用的是Person类的析构,而不是调用Woman类的析构。

Person* p1 = new Person("ju" , 12);

Person* p2 = new Woman("a
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值