缘起

对于Android的学习,很多⼈可能学了之后,不知道⾃⼰处于哪个阶段,也不到究竟要学到哪个程度,验证⾃⼰学得如何最好的⾯试,就是尝试去⾯试,⽽⾯试⽆⾮就是问你⼀些⾯试题。

而我之前也有整理过一些面试题,但不是很完整。

所小编重新整理了这些 Android ⾯试题,从 Java 基础,并发,虚拟机到Android Framework,开源框架,性能优化,并且附带了详细的答案,⽆论是想⾯试还是想看看⾃⼰学得如何,那么这份⾯试题,都值得你去学习。

希望能帮助到你面试前的复习并且找到一个好的工作,也节省你在网上搜索资料的时间来学习

整理不易,点赞+收藏+关注是对博主最大的支持

Java核心基础面试题

面试官:Java中提供了抽象类还有接口,开发中如何去选择呢?

面试官:重载和重写是什么意思,区别是什么?

面试官:静态内部类是什么?和非静态内部类的区别是什么?

面试官:Java中在传参数时是将值进行传递,还是传递引用?

面试官:使用equals和==进行比较的区别

面试官:String s = new String(“xxx”);创建了几个String对象?

面试官:finally中的代码一定会执行吗?try里有return,finally还执行么

面试官:Java异常机制中,异常Exception与错误Error区别

面试官:序列Parcelable,Serializable的区别?

面试官:为什么Intent传递对象为什么需要序列化?

Java深入泛型与注解面试题

面试题:泛型是什么,泛型擦除呢?

面试题:List能否转为List

面试题:Java的泛型中super 和 extends 有什么区别?

面试题:注解是什么?有哪些使用场景?

Java并发编程面试题

面试题:假如只有一个cpu,单核,多线程还有用吗

面试题:sychronied修饰普通方法和静态方法的区别?什么是可见性?

面试题:Synchronized在JDK1.6之后做了哪些优化

面试题:CAS无锁编程的原理

面试题:AQS原理

面试题:ReentrantLock的实现原理

面试题:Synchronized的原理以及与ReentrantLock的区别。

面试题:volatile关键字干了什么?(什么叫指令重排)

面试题:volatile 能否保证线程安全?在DCL上的作用是什么?

面试题:volatile和synchronize有什么区别?

Java虚拟机原理面试题

面试题:描述JVM类加载过程

面试题:请描述new一个对象的流程

面试题:Java对象会不会分配到栈中?

面试题:GC的流程是怎么样的?介绍下GC回收机制与分代回收策略

面试题:Java中对象如何晋升到老年代?

面试题:判断对象是否被回收,有哪些GC算法,虚拟机使用最多的是什么算法?

面试题:Class会不会回收?用不到的Class怎么回收?

面试题:Java中有几种引用关系,它们的区别是什么?

面试题:描述JVM内存模型

面试题:StackOverFlow与OOM的区别?分别发生在什么时候,JVM栈中存储的是什么,堆存储的是什么?

Java反射类加载与动态代理面试题

面试题:PathClassLoader与DexClassLoader的区别是什么?

面试题:什么是双亲委托机制,为什么需要双亲委托机制?

面试题:Android中加载类的方法有哪些?有什么区别?

面试题:ClassNotFound的有可能的原因是什么?

面试题:odex了解吗?解释型和编译型有什么区别?

面试题:说说反射的应用场景,哪些框架?

面试题:反射为什么慢?

面试题:动态代理是什么?如何实现?

面试题:动态代理的方法怎么初始化的?

面试题:CGLIB动态代理

网络编程面试题

面试题:请你描述TCP三次握手与四次挥手的过程与意义

面试题:谈谈你对TCP与UDP的区别是什么的理解

面试题:谈谈你对TCP 流量控制与拥塞控制的理解

面试题:谈谈你对Http与Https的关系理解

面试题:SSL握手的过程都经历过什么

面试题:谈谈你对Http的post与get请求区别的理解

面试题:输入一串URL到浏览器都经历过什么?

面试题:断点续传原理

面试题:如何保证下载文件的完整性

Kotlin面试题

面试题:Kotlin内置标准函数let的原理是什么?

面试题:Kotlin语言的run高阶函数的原理是什么?

面试题:Kotlin语言泛型的形变是什么?

面试题:Kotlin协程在工作中有用过吗?

Android 高级UI面试题

面试题:View的绘制原理

面试题:View绘制流程与自定义View注意点

面试题:自定义view与viewgroup的区别

面试题:View的绘制流程是从Activity的哪个生命周期方法开始执行的

面试题:Activity,Window,View三者的联系和区别

面试题:在onResume中是否可以测量宽高

面试题:如何更新UI,为什么子线程不能更新UI?

面试题:DecorView, ViewRootImpl,View之间的关系

面试题:自定义View执行invalidate()方法,为什么有时候不会回调onDraw()

面试题:invalidate() 和 postInvalicate() 区别

Android Framework面试题

面试题:Android中多进程通信的方式有哪些?

面试题:描述下Binder机制原理?

面试题:为什么 Android 要采用 Binder 作为 IPC 机制?

面试题:Binder线程池的工作过程是什么样?

面试题:AIDL 的全称是什么?如何工作?能处理哪些类型的数据?

面试题:Android中Pid&Uid的区别和联系

面试题:Handler怎么进行线程通信,原理是什么?

面试题:ThreadLocal的原理,以及在Looper是如何应用的?

面试题:Handler如果没有消息处理是阻塞的还是非阻塞的?

面试题:handler.post(Runnable) runnable是如何执行的?

Android组件内核面试题

面试题:Acitvity的生命周期,如何摧毁一个Activity?

面试题:Activity的4大启动模式,与开发中需要注意的问题,如onNewIntent() 的调用

面试题:Intent显示跳转与隐式跳转,如何使用?

面试题:Activity A跳转B,B跳转C,A不能直接跳转到C,A如何传递消息给C?

面试题:Activity如何保存状态的?

面试题:请描诉Activity的启动流程,从点击图标开始。

面试题:Service的生命周期是什么样的?

面试题:你会在什么情况下使用Service?

面试题:Service和Thread的区别?

面试题:IntentService与Service的区别?

Android性能优化面试题

面试题:一张图片100x100在内存中的大小?

面试题:内存优化,内存抖动和内存泄漏。

面试题:什么时候会发生内存泄漏?举几个例子

面试题:Bitmap压缩,质量100%与90%的区别?

面试题:TraceView的使用,查找CPU占用

面试题:内存泄漏查找

面试题:Android四大组件(以及Application)的onCreate/onReceiver方法中Thread.sleep(),会产生几个ANR?

面试题:当前项目中是如何进行性能优化分析的

面试题:冷启动、热启动的概念

面试题:优化View层次过深问题,选择哪个布局比较好?

开源框架面试题

Android开源框架面试题:组件化在项目中的意义

Android开源框架面试题:组件化中的ARouter原理

Android开源框架面试题:谈一下你对APT技术的理解

Android开源框架面试题:谈谈Glide框架的缓存机制设计

Android项目中使用Glide框架出现内存溢出,应该是什么原因?

Android开源框架面试题:Android如何发起网络请求,你有用过相关框架码?OkHttp框架解决了你什么问题?

Android开源框架面试题:RxJava框架线程切换的原理,RxJava1与RxJava2有哪些区别?

Android开源框架面试题:谈谈LiveData的生命周期是怎么监听的?

最后

这些Android面试题答案解析都整理打包好了PDF文档了,有需要的下面扫码领取。

所有的面试题目都不是一成不变的,面试题目只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。

图片

请添加图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐