近期在腾讯招聘网上查阅个人简历准备投秋招时,发现春招时填的简历居然没有把项目经验之类的填全,遂填充提交了下。第二天立马接到了腾讯广告SDK研发(Base北京)的电话,紧接着又进了一轮面试流程。
暑期过半居然能接到腾讯补招的电话,还是十分意外的。这应该算是腾讯小部门的自主招聘,和春招、秋招的流程无关。
一面
-
写一个单例模式
过程中面试官不断引导:
(1)是否应该封闭构造方法;
(2)是否应该注意线程安全;
(3)注意访问控制符、作用域等;
(4)采用synchronized时,如果并发访问如何优化性能(这里其实是想让我用饿汉式单例模式,但当时没反应过来)。
简述进程和线程
Activity的SingleTask启动模式
Android四大组件(见Activity部分)Activity的生命周期
(1)onStop方法什么情况下不触发
(2)Back时,Activity的生命周期如何回调
Activity生命周期详细解读(含部分源码)Handler消息机制
(1)runOnUIThread方法的原理
(2)Handler的实例如何创建
Android消息机制举几个Android内存泄漏的例子
Android内存泄漏简述Android进程间通信(IPC)
答案可见本人Blog,
面试官又提了多进程加载同一个Class如何保证唯一性的问题,问了一个ClassLoader的概念,没答上来。。
Android进程间通信(IPC)Java的GC垃圾回收机制
(1)如何判断对象是否需要被回收
(2)两个互相引用的对象如何回收HashMap的相关概念
(1)查找时间复杂度
(2)应用场景equals和hashCode方法
计算机网络相关概念
这是个人知识盲区,待出一篇Blog扫下盲。
总结
这一轮面试还是同样的挂掉了,但是这次面完后和面试官聊了挺久,他觉得我现在跟他刚毕业那会儿很像(过于关注应用层,基础还是很薄弱)。
面试官建议可以多了解一下HashMap、网络协议等基础概念,表示有Android开发经验是一件锦上添花的事,但是基础还是需要牢固。