面试复盘|Baidu C++开发 一二面
提前批一面凉
提前批刚出来时候投的,面试准备不充分,我自己都看不过去了。一面挂之后就沉简历池底了,一个月通过各种邮件,渠道投简历。也没捞起来过。
正式批笔试
2021/09/14 19:00
总感觉特别喜欢考回溯,反正我笔试几乎能想到的做法就是回溯,,,A了1.5
一面 2021/09/16 11:00 (30min+)
- 面试官和我介绍了下部门,
- 我做自我介绍
- 我当前实习公司为什么选择C/C++作为开发语言。
- 问我当前的项目内容,及开发内容。
- 项目中如何使用Nginx
- 项目中如何检测内存泄漏的。
- 数组指针和指针数组的区别
- C中,如果发现申请的数组大小不够,如何处理。(我顺带扯到了C++中vector的扩容实现上)
- 介绍项目中日志模块的并发处理。
- python和C++的区别
- 了解shell吗,在shell中如何判断一个路径是否存在,或者一个路径是否为目录。
- 反问,了解了部门以java\go\shell\python语言为主,
二面 40min+
- 自我介绍
- 堆和栈的区别
- 堆和栈那个快一点
- new的过程,即new执行时如何从堆中获取资源。
- 堆和栈可以申请空间的大小
- 什么是虚拟内存,分段、分页、段页式。各自优缺点。
- 32位系统的内存大小。一个机器实际内存大小为1G,一个程序运行内存需要2G,能否运行。
- 指针和引用的区别
- 字节对齐,
32位机 strct node{ int a; long long b; char c[4] }
- CPU密集型和IO密集型
- content上下文优先考虑?对象
- 申请堆、栈后OS的响应。
- 三次握手、四次挥手讲下
- TCP主动断开连接后,停留在什么状态。即TIME_WAIT的状态
- 访问www.baidu.com时的路由状态。
- 数据库索引了解吗。分类。底层实现为什么使用B+树,
- mysql中char和varchar的区别(varchar中会有一个指针记录长度)
- 目前有一个“翻页”需求,你会如何设计或者实现?在数据库中存在100W的数据,如何进行预加载。
- 数据库可以设置主从,那从库读的时候是否也有性能问题,
- 手写快排,如果序列本身有序,如何将快排进行优化。
#面试复盘##面经##校招#