地平线二面 应用软件工程师
地平线二面 8.28(54min)
一、自我介绍
二、项目介绍
怎么做的,项目优势
三、个人学习情况,为什么要码转、怎么学习
四、八股文
1.C语言C++对比(面向对象、封装、继承、多态)
2.C语言怎么让函数不被其他文件访问,虚函数表(属于谁),虚表指针(属于谁),构造和析构虚函数问题及解释、不会被继承的类析构函数加不加有区别吗、虚拟继承
3.智能指针最常用哪个(unique_ptr),说一下区别,如果unique_ptr怎么实现资源转移(当时懵了,说了模仿shared_ptr加引用计数)
4.C++11新特性,右值引用说一下,突然说能不能实现unique_ptr转移,我就懂了说了可以用move转移资源,右值引用完后右值会怎么样。
5.Linux熟不熟,每天学习编程多久,学编程的契机,数学怎么样
五、算法
1.写一个非递归汉诺塔(半个小时没写出来、只写出个递归)