百度C++ 面试经历(2014年9月)

匿名网友 匿名网友 发布于: 2016-02-25 00:00:00
阅读 166 收藏 0 点赞 0 评论 0

一、百度笔试的特点:没有选择题。一般分为:简答题、编程题、系统设计题。都比较常见和基础,有认真准备过的同学基本都没问题。

二、百度一面(技术面试)

一面的问题都是很基础的:

1.class和struct的区别。

2.写个max的宏。

3.计算两个链表的交集、并集。

4.链表的排序——用什么排序算法?

5.如何找到一个链表的中点,写代码

6.如何求一个整数的二进制1的个数——编程之美的题目。

后面还有一点,记不是很清了。

三、百度二面的问题偏算法,但是不会很难。

一上来,面试官拿了个pad叫我先把上面三道题做一做。我扫描了一遍,都是比较基础的编程题。

当我做完第一题的时候,面试官就叫我开始面试了(当时真不是我写得太慢~)。

我只记得前两题:

1、字符串以单词为单位进行逆转。

2、合并两个已排序的链表。

然后就是聊了一下项目。问我觉得笔试怎么样?然后和我讨论最后一题(tinyurl),这道题讨论了很久。

又问了我两个题目:

1、用1*2的瓷砖铺3*N的地板有几种方法。

2、求二叉树两个节点的最低公共祖先。

四、百度三面(综合面试)

百度三面不像腾讯是hr面,而是一次综合的面试——技术和非技术问题穿插进行。

百度三面,我真的很紧张。因为,我是到了最后才知道三面也是有技术问题的……面试官是个看起来很高级的人,应该很牛逼。

技术和非技术问题穿插得很乱,我下面只能回忆一部分,不一定是按顺序的:

主要的技术问题。

1.read和write、fread和fwrite的区别。什么情况下,哪个效率高?

2.写个vector,实现构造函数、push_back、pop_back,operator=。

3.STL中的容器。

4.一个概率题:足球比赛的时候,裁判会扔硬币,决定双方队伍的球门。有一次,裁判掏出一个硬币,结果发现硬币变弯了(即出现正反面的概率不一样了)。请你设计一种方案,让这个硬币可以继续使用。

主要的非技术问题:

1.对工作地点的选择。为什么?

2.有没有人对你有什么影响?具体?(根据这个问题展开了不少其他问题,都是和具体的回答相关的,不多说)。

3.除了技术,你平时做什么?

4.做技术,你不觉得无聊吗?

满意的地方:

笔试不难,面试很正常,而且基本都是同一天完成。

不满意的地方:

题目量大,问题量也大。

评论列表
文章目录