地平线-应用软件暑期实习面经
全程一小时,简单聊了一会儿实习,接着是半个小时的 C++ 和多线程的八股。最后两个算法题,其中一个是手撕 vector,另一个是 medium 难度的原题。
C++
(1) 如何理解多态
(2) 虚函数和纯虚函数的区别
(3) 为什么要有纯虚函数(虚函数不就够了吗)
(4) 构造和析构的调用顺序(送分)
(5) C++ 内存分配了解吗
(6) new 和 malloc 的区别和实现原理
(7) 还有哪些内存区(除了堆和栈)
(8) 静态变量和全局变量存放在哪个区
(9) new 和 malloc 分配的内存在哪个区
(10) vector 底层实现
(11) 你平时用 vector 做什么
(12) 说一下 vector 扩容原理
(13) vector 在哪个区分配内存(堆区)
(14) 说一下你了解的各种 map
(15) map 和 unordered_map 的底层实现和各自的优势(插入、删除、查找谁更快)
(16) 你平时用 unordered_map 做什么(哈希表)
(17) 介绍一下 unique_ptr 和 shared_ptr
(18) 你了解 lambda 表达式吗
(19) 了解函数指针吗(std::function)
(20) 函数模板了解多少(class <T>)
(21) 函数模板内的参数什么阶段会被替换掉(编译阶段)
多线程
(1) 说一下线程池的实现步骤
(2) 还有哪些线程同步的方法(除了锁和条件变量)
算法题
(1) 手撕 vector
(2) 最大的容器 No. 11(medium)
后续
(1) 3.28 一面,感觉整体答的不好,面试官那边摄像头也没开,是否有二面随缘。
(2) 3.29 收到感谢信,从一面面试官整体消极的态度就能猜到面试结果。
#我的实习求职记录#