一天来百度两个部门的面试,确实有点吃不消。
百度云
一面:自我介绍
.ArrayList和LinkedList区别
.mysql索引? 聚簇索引和非聚簇索引,联合索引
.mysql引擎?MyIsam和innoDB,比较区别
.数据库代码,一个学生选课表和课程表,写sql语句得出每门课的选课人数?没写出来
.排序算法的种类以及其时间和空间复杂度
.快排在什么时候时间复杂度是log(n),什么时候是n的平方
.堆排序的元素在数组中index有什么关系? 2 n是左子节点,2 n + 1是右子节点
.算法题目:求二叉树的深度。
.redis的持久化方式
.假如要对一个数组进行排序,但是数组过大,不能同时加载到内存中来,怎么做?答的是桶排序,每次对一个桶进行排序,这样达到排序目的。面试官说也可以,可能有更好的解法哈。
二面:自我介绍
.主要是介绍项目,泛舟平台,问了netty的原理,netty的粘包和拆包出现的原因和解决机制。聊了半个小时,nginx什么时候用的。
.算法: 有序链表的合并
.spring IOC和AOP,动态代理。
.java内存是怎样的,本地方法栈中的本地方法可以自己实现吗(不知道怎么实现)?
.mysql缓存优化
平台商务部:
一面(问的很细):
.java的特性
.java的基本数据类型,int的范围,a += 1 和 a = a + 1的区别
.String 、StringBuilder、StringBuffer区别
.联合索引,给了几个查询问那个查询到了索引,其中a = ? and b >= ? and c = ?没有答出来
.java内存是怎样的,其中内存溢出什么时候出现(没有答出来),出现的原因是什么。
.JAVA堆内存垃圾回收,怎么判断一个对象可以回收?答:可达性分析和引用计数法,然后问默认是什么?可达性分析。
.算法:链表反转和,二叉树的层次遍历
.写一个单例(静态内部类实现)
.用到了哪些集合类,Map和set的区别是什么?set不能存空值
.用的JDK版本?比较机智的回了1.7
.ArrayList和LinkedList的区别
.多线程实现方式
.mysql事务的四种隔离机制,然后在不可重复读的时候出了个小题目
.Spring IOC 和AOP的概念?事务机制也是在AOP中实现的吗?(不知道,回来查)
.AOP的实现方式,动态代理(普通动态代理和cglib)
.static关键字
.内部类的作用(没答出来)
.java作用域(protected public private 默认,默认的没有答出来)
.线程和进程的区别
.线程的状态,状态之间的转换,notify后会到什么状态
二面HR:
聊人生。。。