百度后端日常实习面经(已oc)
base深圳,安全部门
一面(10.28):
1. 算法题:全排列、链表反向输出
2. 给定一个数组,如何实现队列
3. C++的深拷贝和浅拷贝的区别
4. 什么时候深拷贝
5. 介绍用过的STL
6. C++二进制程序的内存管理
7. 要从一个执行栈跳转到另一个执行栈有没有什么方法
8. Memcpy函数用的时候有什么需要注意的
9. 我在栈上定义了一个数组,用内存拷贝可能有什么不安全的地方,比如源数组的大小大于目标数组
10. Extern C了解过吗
11. 函数调用在汇编层面是怎么做传递的
12. 你刚刚说的是c语言的原理,那c++是怎么做的呢
13. 进程和线程的区别
14. 一个支持高并发的服务会用怎样的进程线程模型
15. 从浏览器输入一个网址到页面显示经过哪些网络的操作
16. http和https的区别
17. 为什么要用对称密钥
18. 说一下go的协程是什么
19. 说说你在实际项目中对mysql的使用
20. 如果表中有上亿条数据怎么优化
21. 用过mmap吗
二面(11.01):
二面没问问题,直接写两道算法题:
1. 给定一个由A、B、C组成的字符串,相邻字符相同会消除,问你在字符串的哪个位置插入哪个字母能使最终剩余的字符数最少
2. K级链表反转
二面面试官非常友好,我一边写题目还一边跟我唠家常,面完也是马上告诉我过了
三面(11.02):
1. 你在项目中做过的比较有挑战难度的地方是什么
(一时没想起来,脑抽答了个都没什么难度)
2. 那你在大学有没有遇到过比较有挑战难度的事情
3. 协程的实现原理和线程有什么区别
4. 线程的优势是什么
5. 物理内存和虚拟内存的区别
6. malloc拿到的是什么内存
7. 对于编程来说,malloc拿到的是物理内存还是虚拟内存是不是都没什么影响
8. 虚拟内存对于操作系统和对于写代码能帮到什么忙
9. 虚拟内存如何知道在磁盘的哪个位置,以及如何加载入内存
10. 操作系统怎么知道它需要执行上述操作
11. 讲一下缺页中断的机制
12. 虚拟内存除了你刚才说的,还有其他优势吗
13. a进程创建了一个共享内存,怎么通知b进程该共享内存的位置
14. C++的string的底层实现
15. string的SSO机制(这个问题扯了挺久,由于我没接触过,所以面试官一直想一步步引导我想出来,可惜我最终还是没答上来)
16. 后面的成长规划
17. 研究生方向
18. 实习时间
三面无算法题,感觉还承担了一部分hr面的职能,最后周一也就是7号hr来加我商量入职,可惜当时我已经接了字节的offer了,所以最终就没去百度
#百度实习生招聘#