TCL深圳的Android,用的tcl自研的面试系统,58min。问题中规中矩,也有帮我复习到一些盲区,红色字体两个问题是没答上的,明天要狠背。
面试官人很nice,就是我自己遇到非技术问题总是组织不好语言,最后扯一些尬的,自己不忍回忆,感谢面试官耐心听完。
热场:
- 自我介绍
- 介绍下你的项目(balabala一些功能)
- 项目中遇到哪些问题和难点?怎么解决的?
- 项目中怎么进行性能优化的?
- 用了哪些第三方框架?
- 为什么用Glide而不用其他的xxx?(说的Glide的优点,但是因为没有用过其他图片加载框架,所以也没有说的很好)
- 用户体验优化,用户正在看的时候服务器突然刷新动态怎么办?
(面试官人很好,提示了可以显示"有更新",让用户自己点击再刷新)
Android相关:
- Handler机制有哪些角色参与?
- Handler流程
- Handle使用不当会引发内存泄漏,为什么?(这个我总结过但是面试死活想不起来了)
- Activity生命周期
- 从ActivityA跳到另一个ActivityB,两个activity的生命周期?
- activity四种启动模式?
- 自定义View怎么实现?(答重写measure、layout、draw)
- 问measure、layout、draw都是做什么的
- View绘制流程是怎样的?
- 事件分发的流程? 涉及到哪些方法?
Java相关:
- 上学时主修的编程语言是哪个?(咱有预感要炮轰Java了)
- final关键字有什么作用?
- String是基本数据类型吗?
- 那String是什么?(String是引用类型,final修饰,不可变)
- 那 StringBuffer 和 StringBuilder可变吗?他俩什么区别?(一个线程安全,一个线程不安全)
- StringBuffer线程安全怎么保证的?(其实在我说上一题的时候就感觉要问,然鹅盲区)
- ArrayList底层什么数据结构?
- ArrayList插入超出长度会怎么样?(扩容)
- ArrayList具体怎么扩容?(长度为原来1.5倍,原来数组内容copy到新数组)
- Java浅拷贝和深拷贝有什么区别?
闲聊阶段:
- 有没有参与过团队合作项目?
- 合作中有什么意见不统一的时候吗?怎么解决?
- 平时做项目会有总结吗?
- 会了解一些新的技术吗?
- 通过什么渠道了解前沿技术?
- 未来三五年有什么职业规划吗?
有需要Android面试题或者Android学习资料可以点击这里免费获取