百度面经

笔试:

笔试题分为选择题和编程题,选择题涉及的范围比较广: 操作系统(任务调度,磁盘调度等),计算机网络(TCP),数据结构(递归函数的时间复杂度计算,最小堆,快排,二叉树,哈夫曼编码,AOV网等等),程序设计(类,命名空间std以及对象等),数据库的查询语句等等。 编程题需要自己写输入输出,具体考的是什么有点忘了,当时笔试完之后只回忆了选择题的知识点。。。

面试

第一轮面试面试官人很好,会引导你。

自我介绍
项目
手撕代码(文件有100M,每一行有一个int,问如何将它大致平均的分为50份(这个没有写出来),将两个有序数组合并成一个有序数组)
http协议,三次握手
linux的一些命令,比如find 假如有十个线程,如何确保这是个线程都运行结束,继续下一个任务;假如有一台服务器需要对一个内存地址多次读取数以及对数进行操作,是用线程还是进程,为什么?
链表结构体的实现(手撕代码),链表遍历的时间复杂度
用户存在6-12位的数hash到10位的数,会出现什么情况

第二次面试:

自我介绍
排序算法(当时说了冒泡排序和快排),冒泡排序和快排的原理,时间复杂度分别是多少,手撕冒泡排序
队列和栈的区别
手撕队列的实现(当时没有写出来)

经验和教训

这是我找实习的第一次面试,总的说起来,问的东西比较基础,但是对于数据结构的实现还不是特别熟(比如排序算法实现和队列实现),因此知识还是要更加的巩固才好,另外我有点抢话,这个下一次面试一定要改。
最大的一个教训是要想清楚了之后再回答,面试的时候由于有点紧张,所以思路会有点不清晰,但是还是要想清楚。 好了第一次面试就到此结束了,希望下次能好好的回答。做好充足的准备。

全部评论

相关推荐

点赞 评论 收藏
转发
1 1 评论
分享
牛客网
牛客企业服务