2024金三银四Android面试心得,已拿到多个offer

  • 从Activity A跳转到Activity B之后,然后再点击back键之后,它们的生命周期调用流程是什么?

  • 如何统计Activity的工作时间?

  • 给我说说Activity的启动模式 & 使用场景。

  • 如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity?

  • Activity的启动流程(从源码角度解析)?

  • 启动一个其它应用的Activity的生命周期分析。

  • BroadcastReceiver

  • 广播是什么?

  • 广播的注册方式有哪些?

  • 广播的分类 & 特性 & 使用场景?

  • 说说系统广播和本地广播的原理 & 区别 & 使用场景。

  • 有两个应用注册了一样的广播,一个是静态,一个是动态,连优先级也一样,那么当广播从系统发出来后,哪个应用先接收到广播?

  • Fragment

  • Android中v4包下Fragment和app包下Fragment的区别是什么?

  • Fragment的生命周期 & 请结合Activity的生命周期再一起说说。

  • 说说Fragment如何进行懒加载。

  • ViewPager + Fragment结合使用会出现内存泄漏吗 & 如何解决?

  • Fragment如何和Activity进行通信 & Fragment之间如何进行通信?

  • 给我谈谈Fragment3种切换的方式以及区别 & 使用场景。

  • getFragmentManager,getSupportFragmentManager,getChildFragmentManager之间的区别?

  • FragmentPagerAdapter和FragmentStatePagerAdapter区别?

  • Fragment如何实现类似Activity栈的压栈和出栈效果的?

  • 序列化

  • 什么是序列化 & 能用来干什么?

  • Android中序列化方式有几种?说说它们的区别。

  • 如果想要序列化的类中某些字段不序列化,那么应该怎么做?

  • ** IPC**

  • 说说你对Android多进程开发的认识?

  • Android中进程间通信的方式有哪些?

  • 什么是AIDL?如何创建一个AIDL。

  • 文件存储

  • 说说Android中数据持久化的方式 & 使用场景。

  • 接触过MMKV吗?说说SharedPreference和它的区别。

  • 第三方数据库框架用过哪些?有没有自己封装过一个SQLite的库?

  • SQLite是线程安全的吗 & SharedPreference是线程安全的吗?

  • 请简单的给我说说什么是三级缓存?

  • SharedPreference的apply和commit的区别。

  • 谈谈你对SQLite事务的认识。

  • ListView & RecyclerView

  • ListView是什么?如何使用?

  • RecyclerView是什么?如何使用?如何返回不一样的Item。

  • ListView和RecycyclerView的区别是什么?

  • 分别讲讲你对ListView & RecyclerView的优化经验。

  • 给我说说RecyclerView的回收复用机制

  • 说说你是如何给ListView & RecyclerView加上拉刷新 & 下拉加载更多机制。

  • 谈谈你是如何对ListView & RecycleView进行局部刷新的?

  • 谈谈如何进行分页加载?

  • ScrollView下嵌套一个ListView通常会出现什么问题?

  • 一个ListView或者一个RecyclerView在显示新闻数据的时候,出现图片错位,可能的原因有哪些 & 如何解决?

  • View事件分发机制

  • View绘制机制

  • 布局

  • Binder

  • 动画机制

  • JNI

  • Window & Appliction & Context

  • 通知

  • 对话框(Dialog & DialogFragment & PopWindow)

  • 蓝牙

  • Android中进程与线程调度之nice

  • Android动态链接库so的加载原理

  • Toast 原理剖析

  • Android I/O

  • Android项目构建流程

  • HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程

  • TCP协议与UDP协议的区别

  • 网页中输入url,到渲染整个界面的整个过程,以及中间用了什么协议?

  • 具体介绍下TCP/IP

  • TCP的三次握手和四次挥手,为什么不是两次握手?为什么挥手多一次呢?

  • HTTP的几种请求方法具体介绍

  • HTTP请求和响应报文的格式,以及常用状态码。

  • Service的两种启动方式?区别在哪?

  • 如何保证Service不被杀死 ?

  • 能否在Service开启耗时操作 ? 怎么做 ?

  • 用过哪些系统Service ?

  • 了解ActivityManagerService吗?发挥什么作用

  • 描述一下Android数据持久存储方式?

  • SharedPreferences的应用场景?注意事项?

  • SharedPrefrences的apply和commit有什么区别?

  • 了解SQLite中的事务操作吗?是如何做的

  • 使用SQLite做批量操作有什么好的方法吗?

  • 如何删除SQLite中表的个别字段

  • 使用SQLite时会有哪些优化操作?

  • 广播有几种形式 ? 都有什么特点 ?

  • 广播的两种注册方式 ?

  • 广播发送和接收的原理了解吗 ?(Binder机制、AMS)

  • 谈谈消息机制Handler作用 ?有哪些要素 ?流程是怎样的 ?

  • 一个线程能否创建多个Handler,Handler跟Looper之间的对应关系 ?

  • 软引用跟弱引用的区别

  • Handler 引起的内存泄露原因以及最佳解决方案

  • 为什么系统不建议在子线程访问UI?

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

  • 使用Handler的postDealy后消息队列会有什么变化?

  • 可以在子线程直接new一个Handler吗?怎么做?

  • Message可以如何创建?哪种效果更好,为什么?

  • 线程池的好处? 四种线程池的使用场景,线程池的几个参数的理解?

  • Android中还了解哪些方便线程切换的类?

  • 讲讲AsyncTask的原理

  • IntentService有什么用 ?

  • Bitmap使用需要注意哪些问题 ?

  • Bitmap.recycle()会立即回收么?什么时候会回收?如果没有地方使用这个Bitmap,为什么垃圾回收不会直接回收?

  • 一张Bitmap所占内存以及内存占用的计算

  • Android中缓存更新策略 ?

  • LRU的原理 ?

  • 内存泄露和内存溢出的区别 ?AS有什么工具可以检测内存泄露

  • 性能优化,怎么保证应用启动不卡顿? 黑白屏怎么处理?

  • 强引用置为null,会不会被回收?

  • ListView跟RecyclerView的区别

  • ListView的adapter是什么adapter

  • LinearLayout、FrameLayout、RelativeLayout性能对比,为什么?

  • 谈谈MVC、MVP和MVVM,好在哪里,不好在哪里 ?

  • 封装p层之后.如果p层数据过大,如何解决?

  • 是否能从Android中举几个例子说说用到了什么设计模式 ?

  • 装饰模式和代理模式有哪些区别 ?

  • 如何进行单元测试,如何保证App稳定 ?

  • Android中如何查看一个对象的回收情况 ?

  • Apk的大小如何压缩 ?

  • 如何通过Gradle配置多渠道包?

  • 插件化原理分析

  • 组件化原理

  • 跨组件通信

  • 组件化中路由、埋点的实现

  • Hook以及插桩技术

  • Android的签名机制?

  • 会用Kotlin、Fultter吗? 谈谈你的理解

  • Kotlin和Java的区别

  • 说一下Kotlin的伴生对象

  • 请简单介绍下Flutter框架,以及它的优缺点?

  • 介绍下Flutter的理念架构

  • 介绍下Flutter的FrameWork层和Engine层,以及它们的作用

  • 介绍下Widget、State、Context 概念

  • StatefulWidget 的生命周期

  • 简述Widgets、RenderObjects 和 Elements的关系

  • 简述Flutter的绘制流程

  • 简述Flutter的线程管理模型

  • 设计思想与代码质量优化

  • 程序性能优化

  • 内存优化

  • 耗电优化

  • 网络传输与数据存储优化

  • 开发效率优化

  • 热修复设计

  • 插件化框架设计

  • 组件化框架设计.

  • 图片加载框架

  • 网络访问框架设计

  • RXJava响应式编程框架设计

  • IOC架构设计

  • Android架构组件Jetpack

  • LeakCanary核心原理源码浅析

  • LruCache 使用及原理

  • ARouter原理

  • 注解框架实现原理

  • Android 如何编写基于编译时注解的项目

  • RxJava2+Retrofit2+OkHttp3的基础、封装和项目中的使用

  • Rxjava2.0+Retrofit+Okhttp(封装使用)+MVP框架搭建

  • Android 插件化和热修复知识梳理

  • Android开发中比较常见的内存泄漏问题及解决办法

  • 如何检测和定位Android内存泄漏

  • 图片占据的内存算法

  • 为什么图片需要用软引用,MVP模式中的view接口用弱引用

  • 基于DataBinding与LiveData的MVVM实践

  • App稳定性优化

  • App启动速度优化

  • App内存优化

  • App绘制优化

  • App瘦身

  • 网络优化

  • App电量优化

  • 安卓的安全优化

  • 为什么WebView加载会慢呢?

  • 如何优化自定义View

(1). Acitvity的生命周期是什么样的?

a. Acitvity的生命周期,如何摧毁一个Activity?

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

a. Activity的启动模式,区别

b. singleInstance如果不指定栈名,是怎么分配的?

(3). Intent显示跳转与隐式跳转,如何使用?

(4). Activity A跳转B,B跳转C,A不能直接跳转到C,A如何传递消息给C?

(5). Activity如何保存状态的?

(6). 请描诉Activity的启动流程,从点击图标开始。

a. APP是怎么启动的?

b. 启动一个Activity的流程分析

(7). Service的生命周期是什么样的?

a. Service两种生命周期以及区别

(8). 你会在什么情况下使用Service?

(9). startServer和bindServier的区别?

(10). Service和Thread的区别?

(11). IntentService与Service的区别?

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img
-Sy94W7l9-1712762362622)]
[外链图片转存中…(img-3KhDIScJ-1712762362623)]
[外链图片转存中…(img-VZw7Jihw-1712762362623)]
[外链图片转存中…(img-X39T2Egs-1712762362623)]
[外链图片转存中…(img-08eSOaPk-1712762362624)]
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-CrUC9YPV-1712762362624)]

自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

[外链图片转存中…(img-92nP4Fjh-1712762362624)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-sFBlOeT7-1712762362624)]

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值