先说下楼主的情况吧,非重本大三党,于2.28号投递字节(这里感谢内推我的学长,还很耐心的辅导我写简历),3.01号收到了hr的电话约面试时间,因为课程的原因定在了3.14号,是楼主人生中第一次面试,话不多说直接上面经。
1.抽象类和接口的区别
2.说下抽象类的继承和接口继承的各自侧重点
3.hashmap的原理 能说说hashmap的扩容操作吗?扩容是new一个新的map还是在原来的基础上增加内存?
4.说说classload(启动类加载器、扩展类加载器、应用类加载器) 能说说双亲委派模型吗?
5.启动一个活动A,接着在A中启动活动B,各自的生命周期变化?如果B活动是透明的呢?如果此时再启动第三个活动C,三个活动的生命周期变化?
6.Handler原理。
7.IdleHandler了解吗?
8.view.post说一下。为什么是插入到消息队列的尾部?
9.view.post和handler.post的区别?
10.消息的插入时间是怎么计算的?(开机时间再加上希望消息延迟的时间)
11.怎么把主线程的消息传递到子线程?
12.主线程的looper和handler是一起的吗? 子线程是否可以直接使用handler?
13.事件分发机制说一下。
14.场景题--- 一个scrollview嵌套两个recyclerview(recyclerview1,recyclerview2),这两个recyclerview的大小都是整个屏幕的大小,如何实现在recyclerview1中滑动完数据后,接着滑动recyclerview2中的数据?
15.算法题--- 有一个ViewGroup,该ViewGroup中又有子view或者子ViewGroup,按层级遍历输出每一层的view和viewgroup元素。(这里楼主大脑一片空白,面试官哥哥耐心的引导我去使用二叉树的层次遍历解决,面试官真好)
做完算法题之后就是反问了,之后面试官哥哥叫我不要离开房间,接着二面。
3.14日 15.00-16.00 二面(二面被暴打,尽量按着记忆写)
1.泛型讲一下。 什么是语法糖? 泛型的协变与逆变说一下。
2.手写一个简单的泛型方法。
3.volatile说一下。volatile的八大原子操作说一下。CAS操作说一下。手写生产者消费者。(这里得理解生产者消费者的设计原理,楼主在这也没答好)
4.TCP的三次握手流程。 为什么是三次握手?
5.HTTPS讲一下。CA证书讲一下,CA证书是怎么保证服务器的公钥是没被篡改的呢?
6.hashmap讲一下。hashmap是有序的吗?
7.如果要实现线程安全的map,应该用什么数据结构? currenthashmap讲一下。
8.说一下你熟悉的设计模式。
9.工厂设计模式的原理是什么?
10.代理设计模式该怎么设计?
11.网络抓包怎么做?怎么用最小的代价判断该请求是失败的?
12.五种状态码说一下。201是什么?302是什么?
全部评论
(18) 回帖