在七月底的时候投过一次百度的面试,以为没戏了.没想到前天下班突然收到了百度贴吧面试的邀请.好吧.直觉告诉我可能要被虐了...因为在上一家公司被裁员的时候,就参加了百度的面试,毫无意外的被虐了,记忆犹新啊.所以这次多多少少心里还是有点儿打鼓
正文开始,首先还是老样子,简单的自我介绍...然后就是技术点了.有几个问题因为没看过源码,中间有几个完全没答上来.
- String、StringBuilder、StringBuffer的区别
- ClassLoader类加载机制
- 在热修复功能中,补丁包是通过什么方式比对得出的?(这个问题没答上来,之前在做热修复的时候只是简单的看过大概流程)
- 出现死锁的几种情况?解决方式有哪些?
- 单例模式用过吗?哪些场景会用到?单例模式下什么场景会发生内存泄漏?
- 怎么解决单例模式导致的内存泄漏?
- LeakCanary是怎么监测内存泄漏的?
- 还有什么情况会导致内存泄漏?
- val和final的区别?(说了个七七八八,也没说全)
- 什么情况下用const?
- 全量编译和增量编译的区别?增量编译的原理?(前面的问题还好歹说了一下,后半个问题完全没有回答上了.直接懵圈)
- 模块化拆分之后,模块间通信是怎么做的?
- 对金字塔结构了解过吗?详细说一下(这个问题也卒了.从来没了解过.可能我太菜了)
- 在哪种情况下适合用flutter开发?(这里说了一下自己理解的flutter的趋势以及在项目中具体的应用,还有native的交互)
- 序列化和反序列化说一下?哪些情况下会用到?(这里回答的不好,原理什么的都没说清楚)
- APP卡顿的原因?
- ViewPager和ViewPager2的区别
- Bitmap优化
- 怎么获取Bitmap占了多大内存?(这个也没答上来,卒.....)
- 属性动画简单说一下?
- ValueAnimator和ObjectAnimator的区别?(回答的不好,太久没用这个东西了)
- 除了用插值器,还有什么方式可以实现类似的动画效果吗?(也没回答好)
- listview和recyclerview的区别?(这里大概说了一下,有些细节地方没说到)
- Recyclerview中的预加载和预布局的机制是出于什么考虑的?
- View和ViewGroup的绘制流程以及区别
- 在onCreate中可以获取到视图宽高吗?为什么?(这部分回答的一般,只说了一下view的loader原理)
- SurfaceView简单说一下,SurfaceView和普通View的区别(好久没用了,只说了用法以及特点)
到这儿基本上就完了,总体下来很emo,感觉自己不经常的用的东西都被问到了.有些源码性的东西之前虽然看过,但也忘记差不多了.再接再厉吧,又一次被百度干趴了...哈哈