百度C++开发实习面经(已offer call)

3.29号晚上笔试的,当天下午有网易雷火的4h笔试,但是因为头天晚上熬夜,所以就翘了网易雷火的,参加了晚上的百度笔试。题目都忘了是啥,做的一般般吧(笔试的编程题是我的弱项)。

百度这次是统一组织面试,安排在周末,不是部门直面,可能会根据简历、面试表现、个人技能,三面后再分配部门。

按照我的往常经验,面完一轮后会再约时间第二轮,而百度招聘又说实习生面试在四月的三个周末,所以我以为第一个周末一面,第二个周末二面,第三个周末三面,没想到一天搞完三面。我约的是4.1 11:00-12:00,三面完的时间是14:20,中间吃饭花费了15min。早知道如果是这样紧凑的流程,我就预约下午的好了。。

突然发现自己已经大橘已定了,新鲜出炉的面经,回馈牛客

百度一面

4.11 C++开发 50min

项目,问了下华为比赛流程

华为比赛是偏算法的,为啥不找算法岗

为啥本科没实习

Q:常用STL容器

A:vector,支持下标,内存连续,resize,capacity,摊还分析push_back

Q:vector与list元素个数相同,遍历一遍,哪个快

A:vector更快,list需要指针,vector是连续内存,因为有L1L2L3缓存,可以更快

Q:为什么更快

A:缓存层级,金字塔,经常使用的话放在更上一层缓存,读取就更快

Q:CPU高速缓存的逻辑

A:经常使用的数据放在更高的缓存,如果在缓冲中没找到,就用LRU这种缓存置换算法

Q:unordered_map与map

A:红黑树,特殊的BST,有序

Q:(打断)红黑树是啥结构

A:巴拉巴拉

Q:与AVL树的区别

A:AVL是严格平衡,旋转可能更多,红黑树的优势在于稳定性,插入和删除都是O(logn)

Q:说说哈希表

A:哈希冲突,开链法,开放地址法,退化成链表,装载因子,质数,rehash巴拉巴拉

Q:如果哈希函数很烂,很多元素挂在一个槽的链表里面,有什么优化措施吗

A:不用链表用红黑树

Q:开放寻址法怎么删除元素

A:不能直接删,得做个删除标记

Q:如果删除了很多元素怎么办

A:重新哈希一遍(重新再插一遍)

Q:还知道其他的数据结构,插入与删除效率比较高

A:跳表巴拉巴拉(根据极客时间的知识点说的)

手撕代码:实现String(推荐陈硕大神写的面试中常见的string的写法

信号量与条件变量的区别

Atomic内存序(不太记得了)

你还知道什么了解的比较深的(拥塞控制算法bbr巴拉巴拉

在一个函数调用前后打印时间戳计算时间,一个函数调用内第一行和最后一行打印时间戳计算时间,如果两种时间相差很大,有什么原因(以为是函数栈帧方面的底层,但其实是拷贝传参,析构局部变量可能很耗时)

总结:不算很难,很多问题我都可以展开讲很多。最后一个问题挺有意思的,面试的时候没想到,面试官还提示说你肯定知道,但是忘记了。最后评价我还是挺优秀的,除了一些细节,等一下就去二面吧。

百度二面

4.11 50min

个人介绍

条件断点和打日志是怎么操作的,举个例子(官方给了一个通过线上调度器打印的日志,里面是每一秒全地图的道路信息,我用自己复现的调度器,与它diff,发现在第1000行,在road_id=2000的道路,第15号槽,两个日志不一样,于是就可以在IDE中做条件断点巴拉巴拉)

网络分层模型(OSI七层,也有四层的说法,但一般说五层)

TCP与UDP是哪层,有什么区别(巴拉巴拉

如果传输文件用TCP还是UDP(想可靠就TCP,想快速就UDP

如果UDP怎么做简单的可靠传输(我说校验和,他说行

HTTP在哪层,HTTPS多了什么(TLS握手,交换非对称密钥,巴拉巴拉

加密算法了解多少(对称、非对称、签名巴拉巴拉

指针与引用的区别

内存中,堆和栈的区别,底层是什么数据结构,栈的最大值是多少

new和malloc的区别

delete和free的区别(与new和malloc差不多,C中malloc和free是一对,C++中new和delete是一对,delete先析构对象再回收内存,里面会调用free)

手撕代码:

1)面向对象,写三个class,动物、狗、猫,你自己发挥(访问控制权限符、virtual、多态、虚析构巴拉巴拉,然后解释了一下)

重写和重载的区别,在刚才的class里随便实现一下重载

2)写个二分查找的函数,用main函数调用,一次性work了

总结:也不算特别难,挺基础的问题,这时候已经一点多了,让我先去吃个饭,然后三面

百度三面

4.11 35min

自我介绍

static关键字与public与private的区别(这完全是两个范畴吧。。一个是修饰静态,一个是访问控制修饰符,全部解释了一遍)

public与private的区别(公开、私有巴拉巴拉)

new,先执行父类构造还是先执行子类构造(先父类再子类)

父类与子类的函数名可以相同吗(虚函数用同名函数可以实现多态,非虚会重定义)

重载与重写的区别(二面刚问过。。)

手撕代码:给你一个每行包含url的文件,统计出现最多的10个url

我不太记得文件操作的API了,string的分割也忘了,最后允许我化简成了关于url的数组,我先是用map记录了每个url与其出现的次数,然后构造一个最大堆(后来才发现我构造的是最小堆,cmp那总是记反-_-),堆元素是一个pair,记录着url与其出现次数,自定义了比较函数,比较出现次数(也就是pair的第二项)

说说冒泡排序、快速排序、堆排序在这种联机情况下的区别(也就是一边输入,一边得到当前的topk)

比赛中你的角色是什么,人员有流失吗

对数据库熟悉吗

对Linux熟悉吗

比赛是偏向于创新性、演示性还是工程应用?

总结:第一次三次面试连在一起,中间只用了十五分钟吃了个午饭。虽然每轮都有手撕代码,但都不难,也有可能时间限制,没法出太难的算法题,问的问题也偏向于基础,还是挺轻松的。

能不能集齐BAT召唤神龙呢

4.22更新 收到短信,自称百度工程师要加我微信,说我被分到他的组里,在微信上断断续续说了几句话(估计很忙没时间),要我等hr通知

4.30更新 百度工程师在微信上突然跟我说北京解封了,问我什么时候过去,我说可能会选择其他公司。他问你就放弃百度offer了吗,我说从未收到何谈放弃,过了一会hr就打电话来了,没说部门岗位,例行公事般的说了薪资,最后问我去不去,我当时就婉拒了,hr好像知道我的答案也没说什么

这里跟牛油说下为什么我不去:北京,百度,被动分组,我也没问那边是什么组,他也没告诉我是什么组,看上去很忙的样子,对比腾讯阿里面试官的热情,我对百度的这个offer不是很感兴趣。

好了,bat三杀了,祝牛油们好运
#百度实习##百度##实习##C++工程师##面经#
全部评论
一次性面完吗,我慌了
点赞 回复
分享
发布于 2020-04-11 15:58
百度现在走微软的路线了吗。。。一次性面完
点赞 回复
分享
发布于 2020-04-11 17:04
联易融
校招火热招聘中
官网直投
我也一次性三面结束的 有结果吗
点赞 回复
分享
发布于 2020-04-11 17:05
你好,问一下,百度面试是不是都是一次性三面面完吗
点赞 回复
分享
发布于 2020-04-11 18:00
大神
点赞 回复
分享
发布于 2020-04-11 18:11
太强了
点赞 回复
分享
发布于 2020-04-11 18:11
我只是收到面试短信,好几天了还没有约时间0.0
点赞 回复
分享
发布于 2020-04-11 20:45
同三面,但是感觉楼主好厉害,三面面试官一深挖我就有点扛不住了
点赞 回复
分享
发布于 2020-04-12 00:55
tql
点赞 回复
分享
发布于 2020-04-12 09:07
问下楼主 需要同意实习证明 才能入职么 😂
点赞 回复
分享
发布于 2020-04-12 10:32
你好,请问大佬面试完三面之后的状态显示的是什么
点赞 回复
分享
发布于 2020-04-12 17:26
大佬,BAT快凑齐了
点赞 回复
分享
发布于 2020-04-12 19:19
楼主好强
点赞 回复
分享
发布于 2020-04-13 13:03
求问楼主现在百度官网上的招聘状态
点赞 回复
分享
发布于 2020-04-14 19:15
大佬,你如果接到百度通知了,说一下哦,感谢感谢
点赞 回复
分享
发布于 2020-04-15 18:41
父类与子类的函数名可以相同吗(虚函数用同名函数可以实现多态,非虚会重定义) 楼主,这个答错了吧,这不是隐藏吗 不会报重定义吧
点赞 回复
分享
发布于 2020-04-16 16:13
感谢分享
点赞 回复
分享
发布于 2020-04-18 10:38
我上午一下子面完了2面,显示今天面试已结束,但是一面的时候,面试官说如果你通过2,3伦面试。。。看来我凉了,没第三轮了哎
点赞 回复
分享
发布于 2020-04-18 12:44
三面完多久可以收到结果啊。。
点赞 回复
分享
发布于 2020-04-18 16:40
楼主现在收到了消息嘛
点赞 回复
分享
发布于 2020-04-20 16:31

相关推荐

14 124 评论
分享
牛客网
牛客企业服务