Android面试指南

2017-03-06  本文已影响96人  刘怜苏

针对互联网公司,应届生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
上一篇下一篇

猜你喜欢

热点阅读