C++面试很好,共1轮面试zoom 一面(90min)多态的实现,虚表及指向虚表指针的存储,类中指向虚表指针的个数,基类指针与子类指针指向同一对象值是否相等,指向虚表的指针是什么完成初始化的?基类指针和子类指针的转换问题,是否了解static_cast及dynamic_cast的底层原理类继承时,成员变量和vptr是怎么存储的(好像是问存储顺序)?shared_ptr如何实现,引用计数如何实现的构造函数为什么不能是虚函数,构造函数能不能调用虚函数?如何区别大端机和小端机?STL用过么,讲一下vector,如何扩张?拷贝构造函数和移动构造函数如何选择?map用过么?红黑树是绝对平衡二叉树么?什么情况下插入复杂度最坏?不用虚函数如何实现多态?C++如何禁止一个类被继承?线程的通信方式,同步方式,为什么要进行同步?系统是如何给线程分配一个栈的?代码:实现一个字符串类; 删除vector中重复的元素(双指针)zoom 二面(60min)智能指针的实现const用法,define用法,适用场景及缺点new和malloc的区别C++11 新特性,模板的基本知识代码:将一个vector中的所有奇数放前面,所有偶数放后面?(双指针即可)C++有没有相应的库可以完成上面的操作(STL中的partition 或者sort+lambda都行)实现字符串类(怎么总是考这个?)不过和第一次不一样,要写出移动构造函数,重载赋值运算符(两个,一个参数是对象,一个是右值引用)zoom 三面(30min)没有技术问题了,针对简历问了一下大学参加的竞赛,对工作城市(杭州)的看法,有没有其他offer,对zoom的了解程度,然后hr详细介绍了一下zoom的产品就没了。
1轮面试:笔试
面试感受:很好;面试难度:困难;面试来源:校园招聘