字节飞书 Android客户端 一面凉经

#面经# 发面经攒人品#牛客AI配图神器#
1. 自我介绍
2. 为什么在你的项目里要使用Mvvm框架?
答:xxx
问:他相比于MVC框架有什么优势
答:xxx
问:用过MVP吗,为什么不用MVP?
答:没用过,但是了解过一些
3. viewmodel有什么特点
答:提到livedata,
问:不理解viewmodel和livedata的强依赖关系,能解释一下吗?
答:xxxx
问:那我把livedata放在一个普通的类里面不行吗?
答:懵逼 答了一部分
问:livedata需要依赖viewmodel来取消订阅吗?
答:放在普通类里面没有生命周期感知
问:一个viewmodel在fragment销毁时执行哪些方法?
4. 解释一下livedata?
答:xxxx生命感知
问:他是怎么感知到生命周期的
答:不太懂啊
5. 为什么要用recyclerview?
答:吟唱
6. 除了这些jetpack套件还用过哪些?
常用的就这些。
7. 你熟悉kotlin吗?
答:不熟
8. 你们的项目的里面有网络请求还有数据库缓存这些能力吗?
答:okhttp3, retrofit 以及room
问:room不就是jetpack套件吗?刚才问什么不说
答:师兄写的,处理业务逻辑没用过
问:那你自己了解room 和sqlite的区别吗
答:不懂
问:shared_perference有什么性能问题
答:xxxxx但是性能问题不懂。
问:那你知道shared_perference现在有什么上位替代吗
答:不清楚,写安卓好久之前了
9. 那你们网络请求有用okhhtp的拦截器吗?
答:有的,用来处理通用的网络错误。
问:怎么用你知道吗?
答:xxxxxxx
问:那这个拦截器是一个什么设计模式
答:策略模式吗?根据不同的code弹出不同的错误?
问:不不不,我问的是拦截器的模式
答:okhttp3 的client应该是个建造者模式吧
问:拦截器是怎么实现的,如果我有多个拦截器的话,这个怎么协调他们的工作。
答:不太懂
问:那你们用的retrofit的网络请求库,我要去增加一个API调用我要怎么做
答:注解式编程吧,xxxxx,但是这个是如何获取到这个注解的就不是很了解、
10. volatile关键字了解吗?
答:开始吟唱
11. cookie 和session有什么区别
答:吟唱了一部分,
问:还有吗?
答:不太了解,这部分安卓项目中用到的比较少
12. Java里面有哪些引用类型,你知道吗?
答:吟唱
问:虚引用你在什么场景下用过吗?
答:没做过内存泄漏的排查
13. java里面有锁这种方式,你知道吗?
答:悲观锁 synchronized lock  乐观锁:CAS 
问:synchronized lock 有什么区别?
答:synchronized 锁升级机制,Lock 基于AQS,高并发 lock 低并发synchronized 
问:如果一个方法加上synchronized的修饰,一个静态方法加synchronized 有什么区别?
答:不会
14. Android里面触摸事件的传递机制你了解吗
答:传递顺序讲了一下
问:一个完整的事件,它有按下,然后有移动,然后再有抬起。如果view没有消费touchdown,那么后续的事件还能消费到吗?
答:懵逼,如果被拦截掉的话消费不到,那应该能消费到吧,具体不太清楚。
15. 写题:多种方式实现单例
synchronized 2min写完,讲清楚原理
内部静态类的 3min 写完 讲不明白为什么线程安全的
16. 反问:更看重代码能力还是基础
答:都看
问:有什么要求?
答:去官网看职位要求
全部评论
觉得表现还可以,可能字节确实不是我这种菜鸡能进的
点赞 回复 分享
发布于 03-19 21:29 香港
脑海中联想你“吟唱”时候的样子
点赞 回复 分享
发布于 今天 10:28 山东

相关推荐

评论
2
6
分享

创作者周榜

更多
牛客网
牛客企业服务