Android面试指南

针对互联网公司,应届生Android岗位。其他岗位可以作为参考。

算法: 工程研发岗位的算法要求基本类似。

leetcode的题目刷完easy和medium难度的内容。
程序员面试金典这本书的内容全部刷一遍。
这两件事做完就能应付大部分的算法题。

计算机网络:主要问HTTP,会问到一些TCP
HTTP会问得比较详细,可能会问到很多琐碎的细节,这部分靠平时的积累。作为补充可以了解一下HTTPS。
TCP了解三次握手四次挥手。

Java:主要语言,要很熟悉,建议熟读Thinking in Java,读一遍深入理解Java虚拟机,Java并发编程实战

列一些知识点:

  1. Java集合库。集合的内部实现原理和主要操作的实现方式。建议把ArrayList, LinkedList, HashMap的源码看一遍。集合对null的支持。
  2. Java多线程。 sleep, yield, interupt, join, wait, notify的作用
  3. Java concurrent库,几种实现并发库的原理。
  4. Java GC, 新生代,老生代。
  5. Java的类加载机制
  6. Java的Exception。 Error和Exception的区别, try-catch
  7. Java的注解,作用。
  8. Java的堆,栈
  9. Java的Class的初始化顺序,static,继承
  10. 泛型和类型擦除
  11. ThreadLocal
  12. Lock类和synchronized的区别

Android: 各种知识点:

  1. Davlik和JVM之间的区别,ART和Davlik的区别
  2. Handler,Looper, MessageQueue
  3. Activity的生命周期和启动模式
  4. Activity的启动过程,ActivityManager,跨进程通信。
  5. Activity的崩溃统计
  6. setContentView()的工作过程
  7. View的事件分发
  8. 开源代码库,熟读一到两个。Volley, Picasso,Okhttp。。。
  9. Animation
  10. Service的生命周期
  11. 性能优化的方法
  12. measure-layout-draw
  13. AsyncTask
  14. 自定义控件
  15. 三级缓存
  16. AIDL, Binder

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 157,816评论 24 688
  • 月土相位导致的性格特质:抑郁、制约、退缩、不易表达情感、害羞、缺乏想象力。节俭、小心。 月亮代表:1、心理层面。人...
    卓玛央金阅读 12,238评论 0 0
  • 2017-4-18 晴 每个人一路走来,总有一段路是要自己一个人走的。 我是个路痴,迷糊到何种程度呢?就是一个地方...
    小蛋仔儿阅读 59评论 0 0
  • 根据党委读书月活动,某只猪毛遂自荐争取到了一次拆书的机会。 所选书:《老子之道》 参与者:单位部分党员 地点:科室...
    猪猪家的小狗狗妹阅读 64评论 0 0