近期在腾讯招聘网上查阅个人简历准备投秋招时,发现春招时填的简历居然没有把项目经验之类的填全,遂填充提交了下。第二天立马接到了腾讯广告SDK研发(Base北京)的电话,紧接着又进了一轮面试流程。

暑期过半居然能接到腾讯补招的电话,还是十分意外的。这应该算是腾讯小部门的自主招聘,和春招、秋招的流程无关。

一面

  1. 写一个单例模式
    过程中面试官不断引导:
    (1)是否应该封闭构造方法;
    (2)是否应该注意线程安全;
    (3)注意访问控制符、作用域等;
    (4)采用synchronized时,如果并发访问如何优化性能(这里其实是想让我用饿汉式单例模式,但当时没反应过来)。


    单例模式(懒汉)
  2. 简述进程和线程

  3. Activity的SingleTask启动模式
    Android四大组件(见Activity部分)

  4. Activity的生命周期
    (1)onStop方法什么情况下不触发
    (2)Back时,Activity的生命周期如何回调
    Activity生命周期详细解读(含部分源码)

  5. Handler消息机制
    (1)runOnUIThread方法的原理
    (2)Handler的实例如何创建
    Android消息机制

  6. 举几个Android内存泄漏的例子
    Android内存泄漏

  7. 简述Android进程间通信(IPC)
    答案可见本人Blog,
    面试官又提了多进程加载同一个Class如何保证唯一性的问题,问了一个ClassLoader的概念,没答上来。。
    Android进程间通信(IPC)

  8. Java的GC垃圾回收机制
    (1)如何判断对象是否需要被回收
    (2)两个互相引用的对象如何回收

  9. HashMap的相关概念
    (1)查找时间复杂度
    (2)应用场景

  10. equals和hashCode方法

  11. 计算机网络相关概念
    这是个人知识盲区,待出一篇Blog扫下盲。

总结

这一轮面试还是同样的挂掉了,但是这次面完后和面试官聊了挺久,他觉得我现在跟他刚毕业那会儿很像(过于关注应用层,基础还是很薄弱)。
面试官建议可以多了解一下HashMap、网络协议等基础概念,表示有Android开发经验是一件锦上添花的事,但是基础还是需要牢固。