2015(2016届)校园招聘季——百度 篇

百度笔试(赛码网)(130min)

=========================================
百度一面(技术面)
2015.9.15 下午3:00 50分钟

自我介绍
腾讯实习情况 做了些啥?学到了什么?
笔试怎么没成绩?我说可能系统挂了

自己设计一个增量升级系统?
解决:
1.下载差分包过程中 断网或者关机,怎么解决?
2.差分包下载成功,合并中断网或者关机,怎么解决?(旧版备份,数据恢复)
3.怎么设计全量升级、文件升级、模块升级?
4.文件头,文件体,升级?

自己设计一个日志管理系统?
1.记录哪些日志信息?(级别、时间、位置、信息体、异常类型)
2.为什么不用android自带的log?
因为要滚动文件,文件max控制,删除旧文件
3.写SD卡,io频繁挂掉,怎么办?(走内存缓存,怎么实现)
4.日志用来干嘛?(查看定位异常、整理、调试、多人开发、监视跟踪)

我说我会简历上的,面试官说我偏偏不问!!!!(囧)

java final static
android同步 同步体、栅栏、condition(不会,面试官自己都说问的难了)
讲了下java的同步

java JVM 对象锁的底层实现

手写代码编写程序实现 10分钟
时间复杂度O(n),空间复杂度O(1)
输入 a bv vfd gh
输出 gh vfd bv a

我有什么问题?
我说我今天被虐惨了?百度面试最看重学生什么?
(现场思维能力,反应能力)

感觉面的很屌啊,被虐惨了!!!
没想到后面还过了。

===========================================
百度二面(技术面)
2015.9.16 上午9:00 50分钟

自我介绍

一个场景题,有一个内存池,设计一个算法,进行分配内存?

我讲了下C++ 链表 空闲内存的分配;

面试官让我自己设计!!!!!

说了栈分配,连续内存,堆分配,链表不连续内存

最终确定要 用链表方式设计算法。

1.每次分配记录首地址和分配大小,回收的时候直接插入。
2.每次扫描满足请求分配的最大的空闲地址进行分配。

产生的碎片怎么处理,尽可能的利用碎片。

垃圾回收,他说可以,但是不好,会回收到正在引用的内存空间。

然后我参考JVM的标记整理思考,分配的时候 挪动碎片 进而使碎片连续,
但是面试官说不好,挪动会改变原来的内存地址。回收不好回收。

面试官提醒当前可能是碎片,但是下一刻可能就和中间回收的内存连成一片了。

我突然灵机一动,说维护一个哈希表,k-v key存储当前碎片首地址,value存储碎片大小

后台监听器,扫描动态更新哈希表中的数据。

每次请求分配的时候先扫描哈希表,找到最大的空闲地址的首地址,然后再去内存中分配。

有个问题,怎么扫描哈希表,我说先找最大的空闲碎片进行分配。

面试官说不好,比如最大的是8m,我目前只需要1m,不是浪费么?

然后想了想,说,空闲地址从大到小排序,然后从头遍历,
比如说我要申请8m,找到第一个小于8的地址,从前一个地址进行分配。

时间复杂度O(n)+O(1)

over完美。

最终面试官给出了答案
1.就是我上面说的,只不过,不是遍历排序,而是二叉排序树机制O(n)->O(logn)
2.维护一个队列,内存分块进行分配。比如说4m一块,7m一块,用队列代替哈希表。

问我有什么问题?
1.二面完了,还有技术面么?(没有,下面综合面就是hr面)
2.面试官 是我将来工作的直接上司么?(不是,百度后面才分配,不像腾讯)
3.百度有哪些移动业务开发?
4.评价我?(说我出的题,平时肯定你们用不到,反应还可以)

就一个场景题,其他的都没问,面试官一直引导,最终完美解决,面试官超级nice啊。

===========================================
百度三面(综合面)
2015.9.16 下午4:00 50分钟

说好的没技术面,上来直接写代码!!!

1.自我介绍

2.完了直接写代码 O(n)复杂度找数组中第k大的数。(快排patition秒杀)
有递归栈,让我证明时间复杂度为O(n),S=1/2+1/4+1/8+1/16+……值不大于1;

3.TCP/IP协议在一层,IP在那一层 ,TCP/IP到IP数据包的变化

4.volley源码实现

5.redis技术的原理

6.专利都是第一作者么(不是啊)

7.csdn博客怎么学习的?

8.linux简单知识

9.linux的fork和windows的CreateProcess区别?

10.项目中的一些难题,怎么解决的。

11.Dalvik和art区别,android为什么不用dalvik?(空间换取速度)

12.部门不是做应用层,做应用框架层api的,问我感兴趣不?(只能说感兴趣啊)

===============================================
三面结束后,面试官直接带去见老大

电梯里问我面了哪些公司(腾讯、网易、华为、中兴)

和他们老大聊了20多分钟

问我腾讯实习的情况(竟然认识腾讯部门的总监)
写过哪些开源项目
经常看国外的资料么,国内的都不太好
平时宿舍写代码,多么
我的梦想?
实习留下后为什么不去腾讯,去百度?
职业规划
对百度的了解
csdn怎么学习的,为什么写这个?

对着简历,说,不要太在意这种获奖荣誉,要脚踏实地。

所谓的综合面,tm全是技术啊。

===============================================
HR面
2015.9.17 晚上 11:00 电话

hr说我报的岗位满了,要我进去做pc端,不然得从一面开始重新面。
我说不愿意啊!

他说那我帮你调整吧,调不过来就没办法。

不欢而散。。。

然而最后还有 offer ,哈哈。。。

=========================================

总结

可惜最后由于地域的限制没去成狼厂,觉得百度面试不看重你简历和学校里的事情,关注你现场思维能力和反应能力。面试官都diaodiao的。

面试过程中,不会千万别放弃,面试官愿意给你提醒最好,一旦放弃就失败了。

百度面试,感觉bat里最难的!!!明显今年缩招,面试现场人都不多。

坑爹的互联网寒冬啊!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值