阿里面试题
- 抽象类与接口的区别?
- 分别讲讲 final,static,synchronized 关键字可以修饰什么,以及修饰后的作用?
- 请简述一下String、StringBuffer和StringBuilder的区别?
- “equals”与“==”、“hashCode”的区别和使用场景?
- Java 中深拷贝与浅拷贝的区别?
- 谈谈Error和Exception的区别?
- 什么是反射机制?反射机制的应用场景有哪些?
- 谈一谈ArrayList的扩容机制?
- HashMap 的实现原理?
- 请简述 LinkedHashMap 的工作原理和使用方式
- 自定义 Handler 时如何有效地避免内存泄漏问题?
- 哪些情况下会导致oom问题?
- ANR 出现的场景以及解决方案?
- 谈谈Android中内存优化的方式?
- 说说HttpClient与HttpUrlConnection的区别?并谈谈为何前者会被替代?
- 什么是Lifecycle?请分析其内部原理和使用场景?
- 谈一谈Android的签名机制?
腾讯面试题
- java类加载双亲委派机制,android中加载类的方法有哪些,什么区别
- classLoder 流程
- 说下JVM的了解,内存模型,垃圾回收算法,可达性分析,引用计数法,四种引用
- C分代回收介绍?Eden和survivor为什么是8:1?老年代存活下来的会进入永久代么?
- java锁机制 volatile syncronized reentrantLock问原理问的很细
- 锁(死锁的场景和解决方案)
- 线程池
- volatile作用,怎样做到可见性和有序性
- tcp三次握手、四次挥手,HTTP与HTTPS区别,HTTP1.0与2.0区别,get与post区别
- Https如何保证安全的,如何防止中间人攻击,可以伪造证书吗
- .get和post的区别,浏览器中输入一个地址然后展示出页面这个过程中做了哪些操作
- 动态代理原理
- 大文件在传输过程中要考虑哪些问题,如何保证大文件的一致性
- view事件分发onTouchEvent onTouch onClick调用顺序
- CoordinatorLayout滑动机制?两个CoordinatorLayout嵌套如何通过事件分发传递处理滑动?
- handler设计模式、阻塞机制、同步屏障机制、线程切换、Looper、ThreadLocal
- 如果灭屏前调用SystemClock.uptimeMillis然后灭屏,等10秒亮屏,在打印SystemClock.uptimeMillis这两个的时间差是10s吗,为什么
- Handler内存泄漏与Looper
- epoll机制是怎么样子的
- AMS启动流程 Activity A中调用Activity B,生命周期方法的调用顺序
- Fragment生命周期
- LeakCanary原理
- 内存优化的方式
- 如何评价一个app优化的好不好
- 设计app欢迎页(广告页)
- http优化
- apk瘦身做了哪些,缩减了多少M
字节跳动面试题
- CoordinatorLayout滑动机制?两个CoordinatorLayout嵌套如何通过事件分发传递处理滑动?
- 父View中嵌套子View,快速滑动fling状态,如何处理在父View到顶部停止滑动,子View继续滑动?
- Viewstub实现原理,自己设计一个类似的
- recyclerview和listview对比
- 如何设计一个类似于微信朋友圈的首页的功能,UI 数据等方面
- 一张图片加载到内存,如何计算图片占用内存的大小,ARGB8888与ARGB565有什么区别
- 图片资源放在不同的文件夹中,加载出来的内存占用分别是多少,为什么会这样?
- 如何实现旋转动画?(帧动画、属性动画、gif、Lottie动画框架)
- 如何做到单个信号源,多个页面响应
- looper什么时候进入循环的
- handlethread
- 跨进程文件写入,以及如何保证安全
- Binder底层原理,有看过Binder.cc文件吗
- 内存泄漏可能原因,如何避免
- 绘制优化、APP启动优化,activity跳转启动速度优化?(网络请求可不可以放在setContentView之前?)
- app的启动流程,activity是在哪里创建的,application是在哪里创建的?与AMS是如何交互的
- ANR怎么产生的,怎么分析anr
- 说说你是怎样做稳定性的
- 怎样让程序不要崩溃
- 热修复框架底层的原理
- 热更新 多种实现
- 热修复资源id冲突怎么解决
- 有没有做过插件化,做到什么程度,讲讲原理
- mvp mvvm区别 mvvm中的databinding如何刷新view的
网易面试题
- 请谈谈你对 MVC 和 MVP 的理解?
- 分别介绍下你所知道Android的几种存储方式?
- 简述下热修复的原理?
- 谈谈如何适配更多机型的?
- 请谈谈你是如何进行多渠道打包的?
- MVP中你是如何处理Presenter层以防止内存泄漏的?
- 如何计算一张图片所占的内存空间大小?
- 有没有遇到64k问题,应该如何解决?
- 如何优化 Gradle 的构建速度?
- 如何获取Android设备唯一ID?
- 谈一谈Android P禁用http对我们开发有什么影响?
- 什么是AOP?在Android中它有哪些应用场景?
- 什么是MVVM?你是如何将其应用于具体项目中的? – 请谈谈你是如何实现数据埋点的?
- 假如让你实现断点上传功能,你认为应该怎样去做?
- webp和svg格式的图片各自有什么特点?应该如何在Android中使用?
- 说说你是如何进行单元测试的?以及如何应用在MVP和MVVM中?
- 对于GIF 图片加载有什么思路和建议?
- 为什么要将项目迁移到AndroidX?如何进行迁移?
- 谈谈 Handler 机制和原理?
- 为什么在子线程中创建 Handler 会抛异常?
- 试从源码角度分析 Handler 的 post 和 sendMessage 方法的区别和应用场景?
- Handler 中有 Loop 死循环,为什么没有阻塞主线程,原理是什么?
我把最近一两年面试过的一些Androida面试题还有一些朋友分享过的大厂Android面试题资料,整理成了PDF文档,一起分享给大家。
详细VX关注微信公众号:Android老皮