头条三面面筋+HR(已上岸,感谢各位牛友的帮助)
一面(面试官很nice,问的问题基本上宽而浅):
1、自我介绍
2、屏幕适配(dp、px怎么转换,屏幕真实DPI...)
3、reclerView的复用机制
4、进程间通信
5、四种引用
6、retrofit源码
7、get\post请求的区别
8、二叉树的前序遍历,循环实现
9、反问环节
二面(二面面试官的话稍微严肃一些但是还好):
1、四种引用用法
2、手写单例模式
3、10000个数取最大的100个(这个算法没写完,面试官见时间不够了就让我别写先了)
4、Handler机制(延时消息机制、handler泄漏原理)
5、WebView机制
6、线程和进程以及Android中的对应关系
7、反问环节
三面(面试官也很nice,见我前面Android知识答得不错,就转个方向,但是我,菜鸡本菜):
1、谈谈HashMap(为什么不适用基础数据类型、添加的时候需要注意什么、添加的key有什么特殊性)
2、重写equals方法(写不出,面试官一直引导我,最后面试官区去开会去了,让我自己出去查一查,菜)
3、数据库范式(有印象、但答不清除,太菜了)
4、扑克牌三带二(算一算出现的概率,太菜了)
5、扑克牌五张同色的概率(降低难度,花了一会时间才算出,太菜了)
6、扑克牌乱序发牌(一开始想着交换乱序,后来想了一段时间,构造乱序数组)
7、宽泛的聊了一下之前在学校做的小项目
8、反问环节
HR(HR是一个小姐姐人很好,问的都是一些基础问题,聊得很轻松)
1、自我介绍
2、在学校做过的项目
3、项目中的难点
4、开发过程中时怎么抗压的
5、怎么平衡自己的学习时间
6、为什么选择客户端方向
7、对客户端目前的状况有什么看法
8、描述一下自己是一个怎样的人
9、反问环节
总结:字节效率真的是非常高,一般内推推送一到两天就会有面试安排,面试通过的话面试官会直接跟你说通过了,然后等个二十分钟左右,下一面面试官就会向你发起面试,效率非常高