#面试套路汇总#

数据结构类

  • HashMap底层实现

  • hashmap和hashTable 的区别

  • ConcurrentHashMap

线程安全的hashmap 然后和hashTable不同的是使用了分段锁机制

  • ArrayList

    允许为空,允许重复,有序,非线程安全
    ArrayList的优点如下:

    1. ArrayList底层以数组实现,是一种随机访问模式,再加上它实现了RandomAccess接口,因此查找也就是get的时候非常快
    2. ArrayList在顺序添加一个元素的时候非常方便,只是往数组里面添加了一个元素而已
      不过ArrayList的缺点也十分明显:
    3. 删除元素的时候,涉及到一次元素复制,如果要复制的元素很多,那么就会比较耗费性能
    4. 插入元素的时候,涉及到一次元素复制,如果要复制的元素很多,那么就会比较耗费性能
      因此,ArrayList比较适合顺序添加、随机访问的场景。
  • Vector

    基本和ArrayList一样
    不同点为:1. Vector为线程安全 2. Vector可以指定扩容的因子

  • linkedList

    双向链表

JAVA类

  • Java 多线程实现方法
  • 线程池
  • Java虚拟机内存模型
  • 线程安全类的原理和实现
  • Sleep,wait,join 的区别
  • 怎么打破Sleep状态
  • 垃圾回收机制
  • 进程间通讯
  • 线程停止方法
  • java的引用类型有哪些
  • 重载和覆盖的区别

算法 手写

  • 选择排序
  • 快速排序
  • 冒泡排序
  • 折半算法

设计模式类

  • 设计模式的闭合原则
  • 单例模式 线程安全 饿汉和懒汉
  • 装饰模式和代理模式的区别

Android类

  • Activity相关
  • fragment相关
  • Serivce相关
  • BroadcastReceiver的使用 注册
  • Window
  • 是所有view的顶级容器是一个抽象类
  • 而phonewindow是window的一个实现类
  • phonewhdow 使用decorview来进行管理view
  • view的事件分发
  • 自定义view的实现
  • Retrofit底层原理
  • binder机制
  • AIDL远程调用
  • JNI守护进程 保活
  • handler
  • 进程间通讯
  • recycleView

网络类

  • 简述一下http请求整个过程

项目类

  • 项目中遇到什么难点?怎么解决?

你可能感兴趣的:(#面试套路汇总#)