Android面试题目持续更新中

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou906767220/article/details/82346372

Java部分

基础

  1. String buffer 与string builder 的区别?
  2. hashmap数据结构?
  3. arraylist 与 linkedlist 异同?
  4. object类的equal 和hashcode 方法重写,为什么?
  5. hashmap如何put数据(从hashmap源码角度讲解)?

线程问题

  1. 线程死锁的4个条件?
  2. Integer类是不是线程安全的,为什么
  3. 不使用同步锁如何实现线程安全
  4. 如何保证线程安全?
  5. 如何保证多线程读写文件的安全?
  6. 线程和进程的区别?
  7. 为什么要有线程,而不是仅仅用进程?
  8. 如何实现线程同步?

内存问题

  1. Java四种引用
  2. 强引用置为null,会不会被回收?

网络问题

  1. http 的session&cookie的区别
  2. 简述tcp四次挥手?

原理

  1. 差值器&估值器
  2. 处理有序数组为什么比无序数组更快
  3. volatile的原理
  4. synchronize的原理
  5. lock原理
  6. threadlocal原理

Android 基础

  1. 事件分发流程
  2. View的渲染机制
  3. 动画的原理,底层如何给上层信号
  4. 编译打包的过程
  5. Android有多个资源文件夹,应用在不同分辨率下是如何查找对应文件夹下的资源的,描述整个过程
  6. ANR的原理(回答主线程5秒阻塞是不行的,要读源码)
    ANR 如何产生?
    Jni 用过么?
    多进程场景遇见过么?
    关于handler,在任何地方new handler 都是什么线程下
    bitmap recycler 相关
    简述IPC?
    fragment之间传递数据的方式?
    简述消息机制相关
    进程间通信方式?
    Binder相关?
    触摸事件的分发?
    广播的分类?
    点击事件被拦截,但是相传到下面的view,如何操作?
    自定义view重写哪几个方法?
    简述工作线程更新UI的方法
    滑动卡顿如何解决(不同原因及对应处理方式)
    自定义view实战

Actvity相关问题

Activity生命周期简述
Actvity启动模式简述
简述Activity启动全部过程?

内存问题

  1. 内存泄漏的可能原因?
  2. 用IDE如何分析内存泄漏?
  3. OOM的可能原因?
  4. 内存泄漏的常见场景
    怎么发现&分析内存泄漏
    常见内存泄漏情景及避免内存泄漏的措施
    应用最多占多少内存
    内存泄露如何产生?
    Bitmap 使用时候注意什么?
    Oom 是否可以try catch ?

数据库问题

Sqlite 怎么增加一个字段
XX项目中是怎么创建数据库的
Sqlite 怎么删除一个字段
sqlite升级,增加字段的语句

设计模式

  1. 适配器模式,装饰者模式,外观模式的异同?
  2. 简绘观察者设计模式UML图

第三方库

glide 使用什么缓存?
Glide 内存缓存如何控制大小?
Glide源码?
okhttp源码?
RxJava简介及其源码解读?
为什么用Retrofit(一个开源库)
Retrofit与之前的网络库有什么优势

算法

算法判断单链表成环与否?
翻转一个单项链表 1->2->3->4->5->null =====> 5->4->3->2->1->null
string to integer
合并多个单有序链表(假设都是递增的)
算法,求公共子序列(或者是子串,记不清了)

性能优化

性能优化如何分析systrace?

新技术

热修复与插件化相关

猜你喜欢

转载自blog.csdn.net/zhou906767220/article/details/82346372