中望软件C++ 西安 一面(40min)
1. 自我介绍
2. 选择一个项目介绍(mit6.s081)
2.1 介绍一下你在内存管理部分的工作
2.2 为什么要有虚拟内存
2.3 为什么能让所有虚拟内存之和超过物理内存
2.4 能使用磁盘交换的前提是什么
2.5 riscv和arm架构的关系(*)
3. 介绍一下多态
3.1 运行时多态是如何实现的
3.2 如何确定使用的是哪个虚函数
3.3 你的项目中用过多态吗?
3.4 如何使用?
3.5 你现在在哪里实习?
4. 编译四阶段 (*)(一紧张忘了汇编,寄,对不起我的汇编老师)
5. 介绍一下内联函数
5.1 内联函数一定会被展开吗?(*)
5.2 虚函数可以是内联函数吗?
6. vector和list的区别是什么?
6.1 vector插入元素的时间复杂度
6.2 尾部插入元素一定是O(1)吗?
6.3 迭代器失效了解过吗?
7. deque的实现原理是什么?(*)
8. new和malloc的区别是什么?
8.1 new和malloc失败分别返回什么?
8.2 了解过load什么(一个英文,没听懂)吗?(*)
9. 了解过constexpr吗?
9.1 constexpr和const的区别是什么?(*)
10. 算法题 口述思路
数组中找最短子数组,满足子数组和大于等于target,返回最短子数组的长度
思路1 滑动窗口 O(n) O(1)
思路2 前缀和数组 + 滑动窗口 O(n) O(1)
思路3 前缀和数组 + 二分 O(nlog(n)) O(1)
反问
感觉每个知识点都会递进深入的问,算法题也会不断追问是否有其他思路
2. 选择一个项目介绍(mit6.s081)
2.1 介绍一下你在内存管理部分的工作
2.2 为什么要有虚拟内存
2.3 为什么能让所有虚拟内存之和超过物理内存
2.4 能使用磁盘交换的前提是什么
2.5 riscv和arm架构的关系(*)
3. 介绍一下多态
3.1 运行时多态是如何实现的
3.2 如何确定使用的是哪个虚函数
3.3 你的项目中用过多态吗?
3.4 如何使用?
3.5 你现在在哪里实习?
4. 编译四阶段 (*)(一紧张忘了汇编,寄,对不起我的汇编老师)
5. 介绍一下内联函数
5.1 内联函数一定会被展开吗?(*)
5.2 虚函数可以是内联函数吗?
6. vector和list的区别是什么?
6.1 vector插入元素的时间复杂度
6.2 尾部插入元素一定是O(1)吗?
6.3 迭代器失效了解过吗?
7. deque的实现原理是什么?(*)
8. new和malloc的区别是什么?
8.1 new和malloc失败分别返回什么?
8.2 了解过load什么(一个英文,没听懂)吗?(*)
9. 了解过constexpr吗?
9.1 constexpr和const的区别是什么?(*)
10. 算法题 口述思路
数组中找最短子数组,满足子数组和大于等于target,返回最短子数组的长度
思路1 滑动窗口 O(n) O(1)
思路2 前缀和数组 + 滑动窗口 O(n) O(1)
思路3 前缀和数组 + 二分 O(nlog(n)) O(1)
反问
感觉每个知识点都会递进深入的问,算法题也会不断追问是否有其他思路
全部评论
你这cpp投的什么岗位,感觉有点难度啊
老哥什么时候投递和笔试的呀
笔试多少分算过啊
你这是提前批吧老哥
算法题应该是hard难度了吧
牛的
我们应该是一个面试官
应该是load-time dynamic linking吧
牛
相关推荐