百度电话面试


百度商务搜索部门Java开发工程师电话面试


    离毕业还有半年,还未进入找工作高峰期,自己也未进入复习状态,整天处于混日子的状态,前几天一个老师给内推了一下,收到电面通知,结果依然疯玩,最后几乎果着参加了面试。持续了大概一个小时,发现自己各种不会各种不懂,连当初找实习时候的水平都远远达不到。这里大概记录一下,也给自己敲响警钟吧。

1. 自我介绍

2. java基础知识

(1) final,finally,finalize区别  ok

(2)List有哪些,ArrayList和LinkedList的区别  ok

(3)接口和抽象类区别,在接口里可以定义变量么  ok

(4)HashMap的实现原理  ?

(5)线程里sleep和wait的区别

3. 数据库知识

(1)join  left与right之间区别

(2)用过事物吗,事物的概念是什么

(3)要加快查询速度需要用什么?索引如何建立

(4)什么情况下用外键?外键如何建立?举例说明

(5)sql语句 学生表:id, name, 课程,分数, 求每科及格的学生人数

                    课程表:课程id,学生id, 求选课人数大于10人的课程

        考察where和group by顺序问题

4. 数据结构和算法

(1)二叉树的存储结构,如何实现深度遍历和广度遍历,用栈如何实现?

(2)前缀、后缀表达式??

(3)给出一个式子如:1- 2 X 4 + 5,如何用程序实现算法运算符的优先级。提示用栈

(4)给出两个数组:字母数组:arr1:A B ....

                             数字数组:arr2: 1  2 ....

       问题:随机输出字母,如何保证字母A的输出概率为33%,字母B的输出概率为66%

(5)给出一个数组,求子数组之和最大的子数组

(6)知道哪些排序算法,实现思路,代码如何写

(7)给出一个5*6的方格盘,求有多少个矩形

5. Linux

(1)常用命令,跑程序的命令

6. 介绍下最有价值的项目,其中用到的有价值的技术或算法

7. 总结:

(1)java基础知识尚可。

(2)数据结构和算法弱爆了,特别是数据结构,学过的东西几乎都交代回去了,所以需要集中复习。

(3)另外数据库方面也有不足,掌握的知识面太过狭窄,且不够深入。

(4)Linux依然没好好学。

猜你喜欢

转载自maidoudao.iteye.com/blog/1577258