一面
1.介绍项目
2.考研意向,是否确定要工作不考研
3.写代码:在二叉树结点结构中加一个指针域,使其指向层次遍历的下一个结点,特别地,每一层的最后一个结点为空
4.写代码:实现一个简单的单例模式,在多线程环境下呢?
5.常见排序算法分析
开放性问题:
6.平常的开发环境,对linux的熟悉程度
7.对大数据的熟悉程度,分析mapreduce的底层实现、适用范围
8.详细问项目细节
9.怎么对一个算法做测试和调试
二面
先自我介绍
1,给我一个数组[1,2,5,10,20,50,100],可以从里面取若干个数,要求得出和为100的不同取法有多少?
提示:用递归的思想:sum(n)=sum(n-1)+sum(n-2)+sum(n-5)+sum(n-10)+sum(n-20)+sum(n-50)+sum(n-100);
特别地,当n<0时,sum(n)=0; 当n=0时,sum(n)=1;
2,在平面内有坐标已知的若干个点P0...Pn,再给出一个点P,找到离P点最近的点
提示:KNN算法
3,自己的代码量
4,平时有什么兴趣爱好
提示:最好和所选职位相关的爱好
5,问项目中的问题
6,有哪些常见的分类器,简单介绍下原理
提示:朴素贝叶斯、逻辑回归、决策树、SVM、神经网络
7,对stl的了解程度,map的内部实现原理,为什么选择红黑树,红黑树的由来,与平衡二叉树的区别
提示:map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。
8,内存泄露出现原因
提示:动态分配堆内存后没有释放、调用某些库函数没有调用对应的释放函数、创建内核对象后没有关闭对象句柄...
9,多线程编程中的通信与同步,如果不用锁机制如何实现共享数据访问
10,有木有参加过大型比赛,是否获奖
最后问了面试官一个问题:百度怎么看待本科生?
答:在能力相当的情况下,更看重本科生的动手能力,对学历要求并不是那么高,关键是动手和思考。
三面
1.自我介绍
2.项目经验介绍
3.后面还有一些问题,由于这里字数限制,请到我的博客查看http://www.cnblogs.com/webary/p/4827737.html...查看更多
包含1个问题,1个回答
Q:一个人要过一座80米的桥,每走一米需要吃一颗豆子,他最多可以装60颗豆子,问最少需要吃多少颗豆子才能走完桥?证明一下为什么我的答案是最少的?桥长81米呢?当桥长n米,最多装m颗的时候结果用公式怎么表示?