0
点赞
收藏
分享

微信扫一扫

手撕专有钉钉Android面试题完全指南,架构师花费近一年时间整理出来的安卓核心知识

艾米吖 2022-01-28 阅读 67
  • Java中HashMap和HashTable的区别?

  • HashMap 和 HashSet 的区别

  • 请说出 ArrayList和LinkedList的区别?

  • 请说出 ArrayList和LinkedList的区别?

  • Java 中 Set 与 List 有什么不同?

JVM

  • JVM的内存分配

  • Java的垃圾回收机制

  • JVM类加载的过程

多线程与并发

  • 多线程与并发基础

  • JMM与volatile关键字

  • synchronized的实现原理

  • CAS、Unsafe类以及Automic并发包

  • AQS的实现原理

  • ReentrantLock的实现原理

  • ThreadLoacal的实现原理

  • 线程池的实现原理

  • Java线程中断机制

  • Java等待与唤醒机制

Android


Android部分的内容涵盖比较广。主要包含了常问的基础问题、Android消息机制、事件分发机制、View的绘制流程、屏幕刷新机制、性能优化、Framework专题、Jetpack组件原理,以及第三方框架的实现原理等。技术深度基本可以应对国内一线大厂。

Android基础知识

  • Android基础知识汇总

  • SparseArray实现原理

  • ArrayMap的实现原理

  • SharedPreferences

Android消息机制

  • 简述Handler的实现原理

  • 一个线程有几个Handler?一个线程有几个Looper?如何保证?

  • Handler线程是如何切换的?

  • Handler内存泄漏的原因是什么?如何解决?

  • 子线程中使用Looper应该注意什么?有什么用?

  • MessageQueue是如何保证线程安全的?

  • 我们使用Message的时候如何创建它?

  • Looper死循环为什么不会导致应用卡死?

  • 能不能让一个Message被加急处理?

  • Handler的同步屏障是什么?

  • Handler的阻塞唤醒机制是什么?

  • ThreadLocal的实现原理

  • HandlerThread是什么?

  • IntentService是什么?

  • IdleHandler是什么?

View事件分发机制

  • 事件分发机制流程

  • ViewGroup中的mFirstTouchTarget是一个什么东西,它有什么作用?

  • 如果在ViewGroup中拦截了ACTION_DOWN事件会怎样?

  • 为什么设置了onTouchListener后onClickListener不会被调用?

  • 为什么一个View设置了setOnTouchListener会有提示没有引用performClick方法的警告?

View的绘制流程

  • 简述View的绘制流程

  • XML解析原理

  • MeasureSpec是什么?

  • requestLayout、invalidate与postInvalidate

Android屏幕刷新机制

  • 屏幕刷新机制概述

  • Choreographer详解

  • SurfaceFlinger

  • 丢帧一般是什么原因引起的?

  • 如果在屏幕快刷新的时候才去onDraw绘制会丢帧么

  • 如果快速调用10次requestLayout,会调用10次onDraw吗?

  • 简述UI渲染流程
    580%2525E8%2525BF%2525B0ui%2525E6%2525B8%2525B2%2525E6%25259F%252593%2525E6%2525B5%252581%2525E7%2525A8%25258B)

  • View 刷新机制

性能优化

  • 内存优化策略

  • UI界面及卡顿优化

  • App启动优化

  • ANR问题

  • 包体积优化

  • APK打包流程

  • 电池电量优化

  • Android屏幕适配

  • 线上性能监控1–线上监控切入点

  • 线上性能监控2–Matrix实现原理

Framework

  • Binder与AIDL

  • Binder实现原理

  • Android系统启动流程

  • InputManagerService

  • WindowManagerService

  • ActivityManagerService

  • SurfaceFlinger

  • APP启动流程

  • PMS安装与签名校验

  • Dalvik与ART

  • Fragment核心原理

Jetpack&系统View

举报

相关推荐

0 条评论