柠檬微趣-C++客户端一面凉经
#面试吐槽bot##柠檬微趣#
一、自我介绍
二、C++内存对齐,计算三个结构体的大小
三、介绍多态,虚函数、虚函数表、虚函数表指针、虚析构函数(主要就是考查内存布局)、构造函数能否为虚函数?为什么
四、多继承中多个虚函数指针是存放在数组中还是单独的指针变量(之前只大致扫了一下多继承/菱形继承问题,没想到问这么细)
五、map底层原理,是否有序,介绍一下红黑树(根叶黑/不红红/黑路同),查找/删除/插入的时间复杂度(O(logn))(习惯性直接回答成unordered_map了,重新回答了,笑死)
六、内存泄漏是什么,如何避免、检查、解决(例如析构函数调用前发生程序异常,造成内存泄漏等等,代码逻辑考虑准确、RAII手法/智能指针、valgrind)
七、介绍一下智能指针:shared_ptr/weak_ptr/unique_ptr/scope_ptr,各自特点、区别、应用场景
八、手写shared_ptr,包含六个函数:无参构造、有参构造、拷贝构造、移动构造、赋值运算符重载、析构函数
九、测试上面的所有函数,打印引用计数值(测试析构的时候,面试官给了提示)
补充:问多态的时候,也问到了一些子类、父类指针的类型转换/直接对象转换
周三面,周日感谢信;面试过程中感觉良好,都是纯C++八股,被挂了还蛮沮丧
找不到暑假实习了,挂麻了
一、自我介绍
二、C++内存对齐,计算三个结构体的大小
三、介绍多态,虚函数、虚函数表、虚函数表指针、虚析构函数(主要就是考查内存布局)、构造函数能否为虚函数?为什么
四、多继承中多个虚函数指针是存放在数组中还是单独的指针变量(之前只大致扫了一下多继承/菱形继承问题,没想到问这么细)
五、map底层原理,是否有序,介绍一下红黑树(根叶黑/不红红/黑路同),查找/删除/插入的时间复杂度(O(logn))(习惯性直接回答成unordered_map了,重新回答了,笑死)
六、内存泄漏是什么,如何避免、检查、解决(例如析构函数调用前发生程序异常,造成内存泄漏等等,代码逻辑考虑准确、RAII手法/智能指针、valgrind)
七、介绍一下智能指针:shared_ptr/weak_ptr/unique_ptr/scope_ptr,各自特点、区别、应用场景
八、手写shared_ptr,包含六个函数:无参构造、有参构造、拷贝构造、移动构造、赋值运算符重载、析构函数
九、测试上面的所有函数,打印引用计数值(测试析构的时候,面试官给了提示)
补充:问多态的时候,也问到了一些子类、父类指针的类型转换/直接对象转换
周三面,周日感谢信;面试过程中感觉良好,都是纯C++八股,被挂了还蛮沮丧
找不到暑假实习了,挂麻了
全部评论
这问的已经挺难了,虽然也是常见面试题,但都是深度提问,要求掌握比较熟练,还有手写shead_ptr,大部分人都过不了
离谱,这tm是实习面试?
我也是,这家感觉要求好高...我感觉我也很良好,一直在手写
byd难死了
相关推荐
05-21 16:15
门头沟学院 算法工程师 
点赞 评论 收藏
分享

点赞 评论 收藏
分享