最近一个多月面试过一下公司(均为实习):
腾讯:内推一面卒。正式校招拿到offer
阿里:内推二面卒。
蘑菇街:面完三面技术面,等待HR面
网易:拿到offer。
可以看到,大部分问题不难,但是能回答对和回答的好不好又是两个两个不同的情况了。任何问题都尽量回答的越详细,越清晰,越全面,面试官就会越认为你掌握的越好。
比如问一下内存泄露,那么试着多列举一些情况:
首先解释内存泄露是什么。
最常见的handler引用Activity,static+WeakReference解决
耗时线程
bitmap调用recycle,3.0前和后,3.0后偷换native内存
想持久化Drawable,定义成static,老版本他持有view,view持有activity,可能间接造成activity泄露,4.0已修复。
广播记得取消注册
除此之外,如能提到jdk1.6中String的substring方法,那效果更好。
等
再比如问到性能优化:
从布局优化ViewStub,merge,include
overdraw,GPU选项观察overdraw情况
view的ondraw,尽量别new对象,不能耗时,60fps,16ms,GPU加速
必要情况下使用SurfaceView
避免内存泄露(又回到上一个问题了