2021.3.29 16:00-~ 参加了百度的面试,一下子三次面试,有些累。不过面试官都很nice,会提示你,而且问的话,把会的答出来就好了,像是约定好了,每次结束的时候会跟你说一句“辛苦了”。
一面
由于没有复习数据结构,所以一面表现不好。
- 进程和线程
- HashMap
- 说一下树的遍历(前中后)
- 把你所知道排序算法说一下(其中我还把 选择排序 说成了 快排)
- 写一下冒泡排序(不会写)
- Handler
- 设计模式
二面
- static
static可以用在哪里?
static是什么时候初始化的?
说一下下面的类涉及到几次对i的赋值
public class Test{
public static int i = 3;
public Test(){
}
}
然后
public Test test1 = new Test();
public Test test2 = new Test();
我的回答是 1 次。但是后来想了想应该是2次,在准备阶段赋初值、在初始化阶段再次赋值。
- ArrayList底部是用什么实现的
- 括号匹配问题 https://blog.csdn.net/aaqian1/article/details/110261198
- 进程间通信(面试官说Binder的底层很有意思~)
- 三次握手、四次放手
- SP了解过吗?底层是怎么实现的?
- 线程池
- 单例模式的缺点
- 堆、栈
- Cookie、Session
- git rebase用过吗
- 在 view 触发点击事件的时候,当点击触发时,手起来时,执行的是哪个函数?
- String、StringBuilder、StringBuffer
- final
三面
问一下职业规划。而我却对未来比较迷茫。
对了,面试官告诉我Framework层的源码是可以跑起来的。