现在的位置: 首页 > 综合 > 正文

百度一面(移动)

2018年02月11日 ⁄ 综合 ⁄ 共 2677字 ⁄ 字号 评论关闭

背景(面试问题在后面,可以直接跳过):

在霸笔的5天后,晚上11点多,百度hr打电话过来,通知我第二天去威尼国际酒店面试,感觉有点奇怪,担心是传销,就在校招的Q群招了一个伴过去。去到酒店后hr叫我去某个房间面试,当时看到名单有四个人,应该是霸笔一面的,安排的比较晚。接着去找房间,找了三遍才找到,商务区跟客房是分开两个电梯,折腾了30分钟到达面试官的房间。

面试点:

1.单例模式

2..线程

3.TCP UDP , 七层协议

4.C++一些机制

5.二叉树

5.智力题

面试过程:

面试官,20多岁,感觉是大学刚毕业,用的都是apple设备,估计是搞ios开发的。

面试开始, 面试官在mac上面找我笔试成绩,没找着。接下来以对话形式开展,面试官简称G。

G:"怎么没找到你笔试的成绩,你没有参加笔试吗?"

我:"有啊,不过是霸笔。" 当时笔试的题目除了最后一题系统设计题没把握,还有第一题的linux进程通信方法没有写全,其他都比较满意。

G:"那你知道你笔试成绩吗?"

我:"不知道",其实我也想知道

G:“那好” 接着在看我简历,大概翻了一番,然后在电脑上面敲。

G:"你来个自我介绍"

我:”bilabila。。。“,应该是G用来缓冲时间的,我之前也没准备,然后就随便说,说的过程中,他一直在看我简历,估计我说什么他都没有听到。

G:"你了解设计模式?" 我上面有写了解设计模式。

我:”单例模式、策略模式、工厂模式、组合模式。。。“,大约说了5,6个,其他不太常用的就没去回忆了,然后我说:”我看过那个 Head Frist 的设计模式那本书“

G:"嗯,那你写一下单例模式",接着在找笔和纸,当时没有找到纸,估计面试人也不多,也没有过多的准备。

我:”我有带”,然后用我的纸上面写。

大约3分钟后,写完,检查一下,然后交给G。

G:“有没有觉得什么问题?”,其实看到面经的有说技术官会这样问你,但是我想,会写的应该都会写对的答案上去,然后我想了一下,随便说了static上可能有不足。

G:"嗯...",我想当时是没有答到点的。接着G看我简历

G:”了解原子操作的概念吗?“

我:”不太了解..."后面是乱说,应该是往底层一个基本的数据操作。。。

G:"那你觉得这个new是原子操作吗”,指着我写的单例模式,我说如果我理解原子操作是正确的话,涉及到底层的应该是算。

G:"说一下进程跟线程的区别"

我:”进程里面有多个线程,通过主线程管理,线程之间公用栈,会竞争资源...“

G:”嗯...然后多线程会发生什么问题?“

我:”会引发死锁,同步,并发等问题...",之前看过操作系统,有相关概念

G:”怎样解决这些问题“

我:”通过锁,线程的执行顺序..."

G:"那你觉得你刚才所写的单例模式会引发什么问题?"

我:”会引起不同步问题,在if ... new 这里“

G:"怎么发生"

我:”多个资源申请的话, 建设,当两个线程同时调用这个方法的时候,第二个getInstance的时,第一个还没new 完,也会继续new ,然后就出现的new 问题”

G:"嗯..."

接着就,继续看简历。

G:“说一下TCP和UDP的区别”

我"都是位于传输层,TCP报文里面包含的信息较多,是稳定可靠传输,UDP信息较少,空间换时间,快速不可靠..." 之前较为系统地复习了计算机网络,还是比较有把握

G:“说了有哪七层网络协议”

我:”从上面往下说....",这个也是很快地回答出来了

看简历

G:"熟悉C++吗?“

我简历上面有些C++相关的知识技能

我:”能看懂..."

G:"那说一下C++多态的实现”

我:”通过继承和重载函数,我从java的角度来理解,C++的虚函数对应着java 的接口,实现虚函数,多重继承...",这个是往java那里套的

G:"说一下C++的多态机制"

我:”在一个基类的基础上,继承和修改或增加它的方法,实现虚函数...“ 这个还真不太了解,没把握

G可能看我不熟,好像没继续问了。

G:"熟悉二叉树吗"?

我:”还好”

G:"那如何计算二叉树的深度?"

我:”是平衡二叉树吗?“

G”嗯“

我:"logN+1" 应该是问完全二叉树,为下面埋了一个坑。

G:"怎么实现的“

我:”通过递归..."

G:"写一下"

接下来,我是按照完全二叉树的方向想得,用了个非递归,一直向左边挖,就是它的深度了。

在这个过程中,问我github(简历上有),然后在看,在过程中偷偷笑了一下。

4min后,交给他了。

G:"会有什么问题吗?"

我:”...”,没有方向,沉默了几分钟,“不知道”。回到来发现,的确是用递归实现的,取左右二叉树的深度,理解错了,把完全二叉树理解成平衡二叉树了,后来发现剑指offer上有这样的题。信心就降下来了。

G:"嗯..." 当时应该叫他给点提示的。

然后G问我概率题,随手拿了一个类似将军令之类东西6位数的密码,问我把它翻转过来时,看上去依然是正常得概率有多大。

我:”先从电子管那些编码找到对称的..."然后忽悠一下,在纸上写写,对称的数字有,0,1,2,5,6,8,9,之后就算,然后报答案,这个不太熟。

G:“翻转过来依然是正确的得概率”

然后我又在那里那里写,在完全对称的数字,0,1,8,再来一个镜面对称的话,除以2。当时没有限定时间,不过有点紧张,又没什么思路,然后就草草了结了。应该自己在纸上旋转验证结果的。然后发现还有情况没有想到。报G答案。

G:"说一下怎样得来的?"

然后就说对称的数字有0,1,8,再来一个镜面对称除以二。很少玩智力题。

G:"那我没有问题要问的了,你有没什么题要问“

----------------------------面试基本结束------------------------------------------------------

我:”我看你基本用的是苹果设备,没有做android的吗?”

G:"我是做IOS,开发的“

我:”之前听说,baidu做移动的既要懂android、又要懂ios,真的吗?”

G:"不是的,只要你基础好,可以都不懂“

我:”你们今年招多少人?”

G:"这个不一定,只要你优秀,我们都要”

然后我也没有什么问题了,面试结束

—————————————————————————————————

总结:

面了有半个小时,我多希望是一个小时,整个面试过程下来,感觉希望不大,二叉树那里的受挫了。可能是面试官是搞ios,android 的知识一个都没有问我。

其他的就是,简历有什么,他就问什么,中间肯定会有算法跟数据结构,itmian4这个网站对校招求职者的面试很大,之前一直在看july的《编程艺术》,原来剑指offer也是很有帮助。

【上篇】
【下篇】

抱歉!评论已关闭.