六月份参加字节移动中台一二三面,一腔热血,终上岸,java 面试设计模式的使用
[](
)一面(1h4min)
date:(6/15)
自我介绍
介绍 MVP,和 MVC 区别,优势在哪,view 层和 model 层能直接交互吗。
介绍 MVVM,和 MVP 的区别。
Activity 的生命周期,从 Activity A 启动 Activity B 生命周期的变化。
Handler,使用时有哪些需要注意的。
Handler 防止内存泄漏的方法。
WeakReference 的回收时机。
几种单例模式,细说懒汉式。
volatile。
了解哪些线程安全的集合。
ConcurrentHashMap。
什么是乐观锁。
锁升级。
消费者生产者模型。 (操作系统还没学??)
内部类。
匿名内部类和静态内部类。
内部类为什么可以访问外部的变量。
内部类在字节码里的类名是不是自己定义的那个类名。
扰动函数。
equals 方法和 hashcode 方法的作用与联系。
项目中的滑动冲突如何解决的。
滑动冲突有哪些处理方法,外部拦截需要重写哪个方法。 (这里答得不好,扯到内部拦截法上去了??)
算法题:高位对齐版的两数相加。
反问。
问题有点多,暂时只记得这些了
[](
)二面(33min)
date:6/17
介绍下项目。
SP 类是怎么封装的。(这里我说了下自己是怎么对 SP 工具类优化的,还被怼了,我是 fw 呜呜呜)
SP 是线程安全的吗,进程安全呢?
SP 线程安全实现原理,如果让你自己实现进程安全,你会怎么做?
项目中滑动冲突的解决方法和原理,我说看过事件分发机制的源码,然后面试官就说那你肯定看过 recyclerview 的源码吧 (这里我???)就把 recyclerview 的缓存机制说了一下。
recyclerview 的优点。
能实习多久。
算法题:螺旋矩阵 II。
反问。
[](
)三面(50min)
date:6/21
自我介绍
事件分发机制具体用过吗。
给了一个场景题,一个 listview 里每个 item 有一个 button,如果一直按住这个 button,屏幕会怎么滑动,事件会怎么分发。(这里问的很详细,面试官引导着答了很多方面)
同样是这个 listview,如果有两个 button 位置重叠,会分发给哪一个,如果是你你会怎么设计。
View 绘制流程,在调用 onResume 方法时屏幕可不可见。(这里我回答判断 ViewRootImpl 是否初始化)
除了判断 ViewRootImpl 是否被初始化以外还可以怎么判断。
算法题:打印一个 xml 布局。
了解过哪些集合。(这里我回答 ArrayList,HashMap)
ArrayList 和 LinkedList 内部实现,区别,使用场景。
怎么去遍历一个集合,这里面试官想让我回答 Iterator。
问项目。
反问。
来个 hr 面求求了??(内心独白)
结果 6/23 更新:已收到 offer。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20
210705104825963.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU5NjE0NjY1,size_16,color_FFFFFF,t_70#pic_center)
[](
)为应对字节面试,我做了哪些准备?
(一)调整自己的心态,正确面对得失
面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中自己思路不清晰,语言不流畅,说话毫无逻辑,会不断否定自己,归根结底都是面试心态问题,所以调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。
(二)提升技术,扩宽知识
评论