C++后台研发工程师2018年BAT华为网易等面经总结

先介绍下个人情况,国内top5本硕科班,英特尔和腾讯两段实习经历,几个项目和还没中的论文QVQ。
目前提前批和内推已经基本结束,有意向的offer也有了几个,现整理下C++后台的面经(包括春季实习招聘)合集回馈各位牛友。
有些问题可能时间久远记得不太清楚了,主要给大家看下面试官都问了哪些问题的类型吧,话不多说黑喂狗!

1.阿里-蚂蚁金服

一面:
扣简历项目细节
linux下一个write()函数的具体过程
介绍下page ***和buffer *** ,它们有什么区别
fysnc调用哪个内核模块,你熟悉哪个内核模块
free 指令怎么用
select、epoll,以及边缘触发、水平触发
TCP三次握手、四次挥手,time wait解释一下
线程和进程的区别
浏览器输入一个网址,得到页面的具体过程。
JAVA会吗(不会你别问)
数据库用过哪些(没用过你别问),数据库的索引介绍一下(。。。)
单链表翻转,如果只用指针的话怎么翻转
找100亿个数中最小的1000个数

二面:
扣简历项目细节
JAVA会吗(真的不会)
那问点C++吧:多态如何实现、auto如何实现、编译器对extern修饰的变量会如何处理、一个空对象的大小是多少、函数重载时编译器是如何工作的、内存对齐的原则
分布式系统中CAP原则,给出具体的场景
用过哪些分布式的系统,解决了什么问题
B+树和红黑树的特点,为什么红黑树能保持较好的平衡性
介绍下哈希表的原理。
如果一个进程有异常如何监控(答了用htop查看cup和内存的适应状况)
两个文件各有100亿个URL,如何找到两个文件中相同的URL

三面:
扣简历项目细节
我们这边JAVA用的多(我会好好学的!)
说下为什么会出现死锁,如何避免
介绍下读写锁,读写锁适用于什么场景
udp和tcp的区别,如何用udp实现tcp
五种I/O模型介绍一下

四面:
扣简历项目细节
你简历上说参加过数模,介绍下当时的情况
你论文里面解决的问题用了哪些算法
马尔科夫链介绍一下
你平常会学习什么算法(老哥别问了,我知道你肯定是做算法的了。。)

2.腾讯-IEG游戏部门

一面:
扣简历项目细节
自己做过游戏吗?难点在哪里?
论文里面的问题来源,如何解决
判断两个链表相交,并找出交点
linux的dd指令操作介绍一下
进程通信的几种方式

二面:
扣简历项目细节、写了多少代码,是几个人做的
C++ List STL底层数据结构
Make file原理,流程,如何写?
gdb原理,为什么能让程序停下来?coredump调过吗?
手写个双向链表,带插入删除等功能
bitmap用过吗,介绍一下可以使用在什么场景

实习答辩面:
介绍实习做的东西
进程通信-共享内存怎么用
实现无锁循环队列的基础是什么
DDR4 2400MHZ的内存读写带宽多大?说说你方案性能比内存读写带宽差这么多的原因(被无情diss)
unreal engine如何是进行内存管理的,介绍一下它处理一张贴图的流程?
我看你用的是苹果手机,你用过它的延时摄影(现在叫慢动作)的功能吗,它为什么在几年前就可以处理4k 60fps画面产生的巨大数据流(我没用过谢谢)

3.百度-AI芯片算法

一面:
扣简历项目细节
FPGA和ASIC的区别
LRU实现,以及几种优化
TLB是什么,有什么用
栈的逆序操作,不能使用额外的数据结构。
网站server与client间的通信安全,攻击者伪造身份怎么办,中间人攻击怎么防御
大数定律、贝叶斯公式
CFS调度器介绍下,如果离线处理海量日志文件,如何设计CPU调度策略以提升性能
排序,所有数字大小都在a到b之间,要求线性时间
八个球,七个一样,一个重,最少几次找出那个重的

二面:
扣简历项目细节
Linux的内存管理、slab机制介绍一下
DMA操作介绍一下
网卡的工作流程
设计一个网站,实现多人同时抢票功能,保证先点击的人先进入页面,人满了或者没票了需拒绝
如何实现多人抢红包的功能,保证高并发和数据的一致性
实现一个聊天工具,在底层如何设计存储的数据信息,以支持类似微信聊天一样,支持删除信息(信息自己看不到,别人看得到)、撤回信息(信息自己看不到,别人看不到)和转发信息
设计类似百度百科的功能,允许多个人同时阅读,保证只有一个人修改

三面:
(终于不用再介绍一次简历了)
缺页中断什么时候会发生
fork时的cow技术介绍一下
说下你知道的内核中所有用到内存zero copy的地方
写一个波浪子序列的题
shell脚本怎么写
linux中VFS是什么,和其他具体的文件系统如何配合工作的
介绍下epoll和iocp

4.华为-***软件

一面:
给面试官介绍我简历上做的东西。。
Nagle算法和tcp的拥塞控制
项目用过哪些数据库吗(没用过,别问)

二面:
过一下简历项目
如何理解软件的健壮性和高可靠性
了解哪些linux内核的模块

5.网易互娱-游戏部门

实习面:
简历项目(听完一个问题也没问。。)
虚函数和多态如何实现的
static函数能定义成虚函数吗
shared_pointer了解吗,weak_pointer有什么作用
std::move有什么用,介绍下左值和右值
Const的用法
常量指针和指针常量
STL vector和map的底层结构
链表排序,如何直接在链表上实现快排,如果元素类型任意呢?
整数的二分查找,如果元素类型任意
B+树如何保持树平衡的
LINUX找特定的文本段
LINUX如何杀掉特定名称的进程
一个二维图,如何优化一个大圆包含尽量多的小圆
深度优先+存子状态与动态规划的区别
socket编程介绍一下

6.拼多多-业务平台

一面:
扣简历项目细节
socket里面send和recv流程具体介绍一下
说一下你对系统***的理解
spark streaming介绍一下
Linux一次系统调用的过程
系统进程内存分配,虚拟地址,内核高位物理地址
自旋锁、MCS锁
软/硬连接下inode是如何工作的

二面:
过了一下简历项目
JAVA会吗?(不会,别问)
epoll介绍一下
离线的用户行为日志分析系统可以怎么做,随便说一下
如果线上运行的服务端崩溃了,如何排查原因并解决 (我说的是查log)
最关键的log可能在服务端时崩溃时丢失,并没有真正写入磁盘,重启后无法查看该如何解决(承接上一个问题,我说的是log肯定还在内存里,可以实现一个常驻内存的日志系统来保存log)
如果整个物理机器宕机了,内存里面的log也没了,如何解决(不知道。。实在没办法就只能强制每次产生日志就刷进磁盘。。)
用过哪些数据库吗(没用过,别问)那redis的一致性哈希怎么实现的(。。。)数据库的四种隔离级别(。。。)
设计模式里面装饰器介绍一下
如何统计一个数的二进制有多少个1,logN的方法能想到吗?
写个最长公共子序列的题


#面经##腾讯##百度##华为##网易##阿里巴巴#
全部评论
自顶一下吧,希望大家看了觉得有用留个言呗!
点赞 回复
分享
发布于 2018-09-05 19:49
Linux 内存管理楼主主要从哪方面回答
点赞 回复
分享
发布于 2018-09-06 17:05
联想
校招火热招聘中
官网直投
腾讯已经发意向书了?
点赞 回复
分享
发布于 2018-09-05 19:54
太强了。。。
点赞 回复
分享
发布于 2018-09-05 20:16
太牛逼了。。学习学习
点赞 回复
分享
发布于 2018-09-05 20:35
👍
点赞 回复
分享
发布于 2018-09-05 20:35
c++问的 这么难啊。这么偏底层吗?
点赞 回复
分享
发布于 2018-09-05 20:46
C++ 这么可怕啊。。。楼主厉害~
点赞 回复
分享
发布于 2018-09-05 20:53
确认过眼神,这是真大神
点赞 回复
分享
发布于 2018-09-06 01:49
万分感谢
点赞 回复
分享
发布于 2018-09-06 01:54
膜拜
点赞 回复
分享
发布于 2018-09-06 08:41
蚂蚁前景那么好,腾讯游戏那么赚钱,百度AI技术那么吊
点赞 回复
分享
发布于 2018-09-06 09:02
大赞,真的很详细了!
点赞 回复
分享
发布于 2018-09-06 10:53
大佬,请问ieg今年hc是不是真的缩的很严重哇?
点赞 回复
分享
发布于 2018-09-06 16:51
楼主好棒!
点赞 回复
分享
发布于 2018-09-07 13:28
太强了
点赞 回复
分享
发布于 2018-10-06 13:59
top5,看来是我浙校友了哈哈哈
点赞 回复
分享
发布于 2018-10-06 18:15
大佬啊,感谢分享
点赞 回复
分享
发布于 2019-07-27 21:42

相关推荐

16 257 评论
分享
牛客网
牛客企业服务