《Android开发面试真题合集》轻松斩获大厂offer!!!

前言

每个程序员都拥有大厂梦,我也不例外。2017年,我从本科毕业,在面试大厂不断碰壁后最终选择进入了一家小型的互联网公司工作,一待就是三年。在小厂呆久了,整个人都会变得懈怠,互联网行业日新月异,稍微跟不上步伐就会被淘汰。于是我决定再拼一把!

我开始努力加强技术,提升自我,最终成功接到阿里、京东、腾讯、拼多多等十多家大厂的面试邀约,并且都比较顺利的通过了前期面试,拿到了腾讯和京东的offer。以下,我将把我的个人面试经历以及近年来大厂常见整体整理出来分享给需要的伙伴们!!

(文末有详细的免费领取方式,有需要的朋友可以到文末查看领取方式)

下面进入正文:

框架梳理

  • Activity
  • Broadcast Receiver
  • Service
  • ContentProvider
  • Intent
  • Listview
  • Fragment
  • Java基础
  • 性能优化
  • 屏幕适配+AIDL
  • AIDL
  • 动画
  • 事件处理
  • 经验

——————————————————————————

Activity

1、什么是 Activity?

2、请描述一下 Activity 生命周期

3、请描述一下Activity的四个状态

4、两个 Activity 之间传递数据,除了 intent,广播接收者,content provider 还有啥?

5、Android 中的 Context, Activity,Appliction 有什么区别?

6、Context 是什么?

7、如何保存 Activity 的状态?

8、横竖屏切换时 Activity 的生命周期

9、两个 Activity 之间跳转时必然会执行的是哪几个方法?

10、如何将一个 Activity 设置成窗口的样式

11、Activity 的四种启动模式,singletop 和 singletask 区别是什么?

12、Activity 的四种启动模式,一般书签的使用模式是 singletop,那为什么不使用 singletask?

13、如何退出 Activity ?如何安全退出已调用多个 Activity 的Application?

14、Activity-Window-View三者的关系

Broadcast Receiver

1.如何注册 BroadcastReceiver

2.Android 引入广播机制的用意

3.两种注册各有什么优缺点

4.广播的类型

5.BrocastReceiver 里能否进行耗时操作

6.描述一下广播 BroadcastReceiver 的理解

7.BrocastReceiver 的生命周期和注意事项

Service

1.Activity 怎么和 Service 绑定,怎么在 Activity 中启动自己对应的Service?

2.描述一下 Service 的生命周期

3.Activity、Intent、Service 是什么关系

4.Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?

5.Service 和 Activity 在同一个线程吗

6.Service 里面可以弹吐司么?

7.在 service 的生命周期方法 onstartConmand()可不可以执行网络操作?

8.什么是 Service 以及描述下它的生命周期。Service 有哪些启动方法,有什么区别,怎样停用 Service?

9.什么是 IntentService?有何优点?

ContentProvider

1.请介绍下 Android 的数据存储方式

2.如何使用ContentProvider进行批量操作?

3.说说 ContentProvider、ContentResolver、ContentObserver 之间的关系

4.介绍下 ContentProvider 是如何实现数据共享的

5.为什么要用 ContentProvider?它和 sql 的实现上有什么差别?

Intent

1.请描述一下 Intent 和 IntentFilter

2.Intent 传递数据时,可以传递哪些类型数据?

3.Serializable 和 Parcelable 的区别

4.隐式、显式Intent的区别

Listview

1.当 ListView 数据集改变后,如何更新 ListView

2.ListView 如何实现分页加载

3.如何刷新 ListView 中单个 item 的数据,不刷新整个 ListView 的数据?

4.上拉加载和下拉刷新怎么实现?

5.ListView 中如何优化图片?

6.Listview里有Button点不动?

7.ListView 如何提高其效率?

8.ListView 可以显示多种类型的条目吗?

9.ListView 如何定位到指定位置?

10.如何在 ScrollView 中如何嵌入 ListView?

11.ListView 中图片错位的问题是如何产生的?

12.你知道ListView的setEmptyView方法吗?

Fragment

1.如何切换 fragement(不重新实例化)

2.Fragment 的的优点

3.Fragment 如何实现类似 Activity 栈的压栈和出栈效果

4.Fragment 的 replace 和 add 方法的区别

5.Fragment与Activity之间是如何传值的

6.Fragment生命周期

7.ViewPager对Fragment生命周期的影响

Java基础

1.什么是重载,什么是重写,有什么区别?

2.String、StringBuffer 和 StringBuilder 的区别

3.知道的设计模式有哪些

4.TCP/IP 协议簇分哪几层?TCP、IP、XMPP、HTTP、分别属于哪一层?

5.知道的设计模式有哪些

6.继承和实现的区别

7.final,finally,finalize的区别

8.int和Integer的区别

9.Java中==,equal和hashCode的区别

性能优化

1.如何对 Android 应用进行性能分析

2.什么情况下会导致内存泄露

3.内存溢出的几点原因

4.针对 static 的解决方案

5.线程导致内存溢出及解决

6.举例几种OOM 异常情况

7.如何处理图片过大导致 OOM

8.Android 中如何捕获未捕获的异常

9.ANR 是什么?怎样避免和解决 ANR(重要)

10.多线程间通信和多进程之间通信有什么不同,分别怎么实现?

11.Devik 进程,linux 进程,线程的区别

12.Android 线程间通信有哪几种方式

13.如何合理使用内存?

屏幕适配+AIDL

1.基础概念 2.适配方式

AIDL

1.什么是 AIDL 以及如何使用 2.如何工作?能处理哪些类型的数据?

动画

1、Android 中的动画有哪几类 2、动画能组合在一起使用么? 3、插值器的种类有哪些? 4.如何自定义插值器 5.如何修改 Activity 进入和退出动画

事件处理

1、Handler 机制 2、onTouch 和 onTouchEvent 有什么区别 3、子线程中能不能 new handler?为什么? 4、子线程发消息到主线程进行更新 UI,除了 handler 和 AsyncTask,还有什么? 5、为什么系统不建议在子线程访问UI?

其他

1.开发中都使用过哪些框架、平台

2.三级缓存的原理:

3.清除缓存是怎么做的?

4.推送的好处:

5.为什么数据要以 json 形式传输?

6.项目流程

7.自定义view关键词

8.自定义view的实现思路

9.retrofit使用

10.组件化的优势

11.插件化的优势

12.打包原理

13.安装流程

14.如何防止反编译(提高反编译难度)

15.v1,v2签名结果

16.Android与服务器交互的方式中的对称加密和非对称加密是什么?

17.进程保活方案

18.Binder机制的优势

19.URI和URL的区别

20.TLS/SSL握手

...

要注意:死背题目绝对不是有效的复习方式,一定要结合知识体系架构系统的复习,扩充和整理出一套自己的题库!!!

基础知识点掌握到85%左右时开始搜索近年的大厂面试真题,结合各个大厂对Android开发要求的偏向性有针对的进行复习。下面是我整理的大厂常见的一些问题,帮助大家查漏补缺:

面试真题

  • 自定义View的流程,requestLayout和invalidate的区别
  • Handler原理,Handler/Looper/MessageQueue关系
  • 子线程可以运行looper吗?多次looper. prepare会不会有问题?怎么进入循环的?looper.loop的关键点?消息延迟怎么实现?延时的依据是什么?为什么?
  • 事件分发机制
  • 绘制为什么要二级缓冲?一级二级三级演变的原因?
  • Aspectj是运行时织入还是编译时织入?
  • jvm编译优化是什么意思?
  • 启动优化?异步了为什么还要优化?
  • 插件化原理,换肤原理,热修复原理,插件化怎么实现把apk渲染成界面的?
  • mmkv一般不是做缓存的吗?为什么和启动优化有关系?
  • 说下udp、tcp和socket?
  • 说下http,以及http是基于tcp还是udp?为什么?
  • tcp的可靠性怎么保证的?
  • 数组和链表的区别?
  • app点击到启动第一个activity的流程?
  • 项目是MVVM还是MVP,怎么实现的?有没有引入LiveData?
  • 有没有做过Socket和串口通信?
  • 有没有用过kotlin?协程有了解吗?
  • 有没有用过Flutter?
  • 分层架构怎么理解?
  • 反射的原理和应用?
  • 屏幕适配使用哪个方案?有了解过AutoSize吗?
  • onCreate和onPostCreate的区别(onResume和onPostResume的区别)?
  • 深拷贝和浅拷贝的区别,序列化是深拷贝还是浅拷贝?
  • 贝塞尔曲线怎么实现?
  • Activity、Window、View的联系?
  • View的绘制流程,测量模式?
  • Android的两个特别重要的服务是什么时候启动的?
  • start和run的区别?sleep和wait的区别?
  • Thread的join方法?
  • private static 方法,子类能重写吗?
  • Looper.loop为什么不会导致ANR?
  • dialog和activity调用getWindow获取到的对象有什么不同?
  • Int可以作为线程安全的单位吗?AtomicInteger实现原理?
  • Intent的使用中有遇到什么问题吗?如何解决大图传输问题?
  • 双向认证的流程?
  • 启动模式的应用场景?
  • 熟悉的设计模式?
  • 异常设计?
  • 如何排查内存泄露?
  • 红黑树的实现原理?怎么染色的?
  • 说下常见的排序算法?
  • 说下常见的集合类?
  • 说下JVM的特性?
  • 浏览器输入一个url点击发送后发生了什么?
  • 如何显示一张大图?
  • 一些多线程和JVM的问题
  • 线程池的实现原理?里面的队列有了解过吗?

————————————————————————————————

现如今市场上初级程序员泛滥,像我们这种Android3-5年的人员,已经处于技术瓶颈的中年人来说,寻求突破更是重中之重。现在都说互联网寒冬,但其实只要你上对车,自身技术能力也足够强,走到哪都是香饽饽!!

最后,希望大家都能够进入心仪的公司,一起升职加薪!!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容