经常看别人的面经,感觉自己也该写写面经回馈大家,哈哈哈哈
(1)自我介绍
(2)怎么学习的编程
(3)面向对象怎么理解
(4)多态是怎么实现的
(5)多态和继承的区别是什么
(6)hash表的存储结构
(7)哈希碰撞怎么解决
(8)哈希表怎么进行动态扩容
(9)对设计模式的了解,讲一讲
(10)单例模式有哪几种实现模式
(11)懒汉和饿汉哪个是线程安全的
(12)为啥懒汉是线程安全,因为C++11static是线程安全的
(13)c++11之前,怎么保证懒汉的线程安全,加锁?加锁可以,但是效率降低了
(14)算法讲思路:一个元素为1-99的乱序数组,缺失了一个,怎么找出来——hash表法;排序后用二分法;
(15)怎么用O(n)的空间复杂度和空间复杂度实现——1-99等差数列求和-数组元素之和;
(16)不能用加减乘除怎么实现——异或方法;
(17)做项目时,团队内部有冲突怎么解决;
(18)有一个100个元素的数组,其中有一个元素数量超过了一半,怎么解决——消去不同的元素,最后剩下的肯定就是超过一半的