2018年秋招面试问题整理

总结下2018年秋招面试碰到的问题,面试岗位为C++研发岗,涉及到的公司包括百度、阿里、腾讯、微软、谷歌、美团、头条、小米、京东、地平线、猿辅导、FreeWheel、宜信、广联达,Mercari,共计15家公司,最终拿到offer11家。

总体情况:
- 技术面试36轮
- HR面试不详细统计了

以下按面试的基本过程汇总问题:

1. 预热部分
- 自我介绍

2. 项目和研究方向部分
- 介绍一下实习时做的工作(2次)
- 介绍一下在实验室做什么工作
- 介绍一个你熟悉的 / 印象最深的 / 你觉得有分量的项目,讲难点和解决的方法(2次)
- 介绍一个你曾经解决的最棘手的技术难题
- 介绍一下实习部门做什么的,主要用什么语言
- 讨论研究方向,和研究方向的应用场景

3. 理论基础部分
3.1 C++基础
- extern关键字的底层机制是怎么实现的?
- 静态绑定和动态绑定是怎么实现的?
- 虚函数表跟对象还是跟类绑定?
- 返回函数中的静态变量的地址会发生什么?
- 全局static变量和非static的有什么区别?
- 全局变量定义在头文件中有什么问题?
- memcpy函数常用吗?怎么实现?怎么提高效率?按你的提高效率的方***有什么问题?
- copy-on-write是什么?你用过吗?
- C++ 并发编程了解吗?一般怎么写?
- 讲C++对象模型,多态怎么实现,虚函数对象存储结构?(7次)
- delete怎么知道要删除多长的?
- unordered_map怎么实现的?画一下底层的数据结构
- sorted_set怎么实现?跳表?
- volatile关键字
- .h里面定义函数,会在什么阶段错误?为什么.h里面一般只放函数声明?为什么这么设计?
- C++模板做什么的?
- 静态链接、动态链接
- C++和Java区别

3.2 其他理论基础
3.2.1 网络相关
- 网络服务开发熟悉吗?
- TCP三次握手,四次挥手(2次)
- TCP握手为什么需要三次?
- TCP四次挥手最后client端的状态是什么知道吗?
- TIMEWAIT是什么作用?为什么要等这个时间?等多长时间? MSL是多长时间?
- 应用层的东西熟悉吗?http和https有什么区别?
- NAT转换怎么实现的?
- TCP和UDP区别(2次)
- http协议熟悉吗?讲下
- ip协议熟悉吗?讲下
- 网络带宽怎么定义的

3.2.2 数据库相关
- 数据库引擎熟悉吗?原理?(2次)
- 用过什么数据库?
- 数据库的索引能讲下吗?怎么设计的?(3次)
- ACID解释下?(2次)
- 数据库范式都有哪些?

3.2.3 操作系统相关
- Linux熟悉吗?
- Linux启动的过程能描述一下吗?
- BootLoader做了什么讲一下 ?
- Linux进程默认占用多少内存?
- 怎么用C++读取进程的内存占用情况?
- Linux进程通信都有哪些方式?都各有什么特点?挑两种展开讲一下?你熟悉哪种?(2次)
- IO多路复用,select,poll,epoll?(3次)
- 多线程编程常用吗?一个经典的生产者消费者模型怎么实现?怎么降低锁的竞争?
- 虚拟内存映射怎么做的?
- 内存拷贝的优化,hashmap的复制?怎么效率更高,能不能不用锁,怎么锁?
- 给一个计算图,怎么做内存优化?
- 内存碎片怎么整理?用什么数据结构?
- 为什么要有虚拟内存?4gb数据在2gb内存排序?有虚存能直接排吗
- 中断机制讲一下

3.2.4 其他
- 设计模式熟悉吗?都熟悉哪些?
- c语言编译,.c.h是怎么变成可执行程序的?(2次)

4. 算法编程部分
4.1 数据结构
- 二叉树,完全二叉树,平衡二叉树都有什么区别?
- 拓扑排序怎么实现?怎么让一个计算图按偏序关系执行?
- B+树和红黑树有什么区别
- 设计一个hash表都要考虑哪些东西,设计一下
- 为什么对比排序算法最快也需要nlgn

4.2 编程
- Coding:单例模式实现(2次)
- Coding:stoi函数
- Coding:二叉树对称判断(不用额外空间)
- Coding:返回数组中和最大的子串
- Coding:链表局部反转,每两个结点调换下位置(2次)
- Coding:输入一个数组,取一些数出来,使和最大,约束是不能取相邻的元素,有负数,有小数
- Coding:链表反转
- Coding:swap函数
- Coding:输入数组,将正数排到前面,负数在后面
- Coding:设计实现Hashmap
- Coding:求二叉树中节点的最远距离(3次)
- Coding:找数组中位数
- Coding:给一个点的集合和一个值K,把在以k为半径的区域内存在其他点的点列表输出
- Coding:给一个数组,随机等概率删除数组中的一个数,要求高效
- Coding:写个String类,把能想到的构造函数都写出来
- Coding:atoi函数
- Coding:给一个图,给两个结点,求两个结点之间的最短路径
- Coding:单链表,删除值为k的节点
- Coding:二叉树前序遍历
- Coding:给一个上线时间段记录数组,和开始,结束时间,输出所有这段时间内的上下线记录
- Coding:大小端,写个程序判断
- Coding:两个有序链表merge
- Coding:二分查找,有重复,findlast
- Coding:x的y次方
- Coding:链表倒数第k个节点
- Coding:分数转化成小数,循环部分用括号包起来
- Coding:输入一些时间段,输出最大重合数
- Coding:hash数据结构设计
- Coding:n个点的数组,按x轴排序
- Coding:n个点的数组,两个同行或列的点可以移除一个,使最后图中节点最少,返回移除点的索引序列
- Coding:链表尾结点插入头部,操作k次返回
- Coding:给一个数组,能不能分成两个数组,它们平均值相等,能的话返回两个数组

5. 场景与系统设计部分
- 设计一个处理高并发请求的系统(2次)
- 现在又1000亿条数据,每条数据包括url,ip,time三个字段,现在搜索某个时间段的某个URL访问的IP,你怎么设计?
- 3TB IP数据,怎么统计各IP出现次数?
- 访问量统计系统设计
- 设计一个电梯中控系统
- 定时触发系统怎么设计更高效
- 2TB数据,都是单词,输入一个单词,输出出现的次数
- 有很多餐厅坐标,和自己的坐标,怎么找到最近的餐厅
- 给一个搜索关键词,一个query对的list,给一个距离值,返回用户搜索下一个搜索词的预测
- 关于微信如何设计的讨论

6. 其他部分
- 平台类系统研发流程?
- 怎么做代码管理?

7. 面试官串场HR部分
- 你觉得你优势是什么?
- 介绍一下你自己的优缺点
- 平时有什么兴趣爱好?业余时间怎么学技术的?
- 你觉得进入公司哪些方面需要继续提升?
- 你有没有驱动一个id实现产品的经历?
- 你怎么看待自己的职业规划?
- 你英语怎么样?用英语介绍一个项目?
- 为什么学软件专业
- 项目中学到哪些东西
- 哪些人对你影响比较大
- 团队合作怎么看
- 最让你骄傲的代码
- 你觉得你的优秀是怎么体现的?
- 选择公司的标准

8. 反问部分
- 团队主要做什么工作
- 您一天的工作安排
- 公司对***都有哪些期望
- 您最喜欢公司哪一点
- 是否有机会在不同团队轮岗

9. HR面试部分
- 怎么看待我们公司的,来我们公司意向有多大
- 对于工作的诉求是怎么样的
- 现在有什么offer
- 怎么看待互联网行业发展
- 职业规划如何
- 讲几件你印象深刻或者说对你影响很大的事
#秋招##面经##C++工程师##百度##阿里巴巴##腾讯##微软#
全部评论
大佬是本科还是硕士啊?
点赞 回复
分享
发布于 2018-12-17 15:22
感谢大佬,,
点赞 回复
分享
发布于 2018-12-17 15:31
淘天集团
校招火热招聘中
官网直投
请问C++岗位多吗
点赞 回复
分享
发布于 2018-12-17 19:41
手写hashmap难度是不是有点高了。。
点赞 回复
分享
发布于 2018-12-20 01:13
太不容易了啊.. 感觉我实习都找不到了. 太难了..
点赞 回复
分享
发布于 2019-02-20 21:23
面试题
点赞 回复
分享
发布于 2019-02-21 08:56

相关推荐

17 213 评论
分享
牛客网
牛客企业服务