14.如何实现RecyclerView的局部更新,用过payload吗,notifyItemChange方法中的参数?
15.讲讲LinkedHashMap的数据结构
16.put post有什么区别
17.A Activity打开B Activity的生命周期变化,会有什么方法打断吗?
18.Fragment hide show生命周期变化
19.Fragment replace生命周期变化
B站二面
1.为什么考虑换工作
2.屏幕适配做过什么工作?
3.你们网络框架用的什么?为什么?
4.如果让你来开发B站的一个页面,哪一个页面可以很快入手
5.性能优化你做过什么工作?
6.h5与native通信你做过什么工作?
7.插件化的主要优点和缺点是什么?
8.你觉得B站目前的APP有什么问题?
9.如果产品要求你开发一个音频播放功能,你会怎么着手?预计会有什么坑?
10.ViewPager切换Fragment什么最耗时?
11.线程间同步的方法
12.锁之间的区别
B站三面
1.介绍一下你自已和项目
2.说说为什么考虑离职
3.说说对你们原来公司的印象
4.为什么想来B站?你在B站上常常在看什么?
5.期望薪资是多少?
6.你对搬到上海有什么想法?
腾讯
1.介绍一下你们项目的架构
2.Rxjava是怎么实现线程切换的
3.Rxjava自定义操作符
4.ARouter的原理
5.ARouter怎么实现接口调用
6.ARouter怎么实现页面拦截
7.MVP怎么处理内存泄漏
8.OkHttp怎么实现连接池
9.如果让你来实现一个网络框架,你会考虑什么
10.你做过什么性能优化的工作
11.热修复的原理,资源的热修复的原理,会不会有资源冲突的问题
12.ViewPager中嵌套ViewPager怎么处理滑动冲突
13.android源码中有哪些设计模式
14.说说binder机制的原理
腾讯二面
1.为什么考虑换一份工作?
2.在你们公司这几年感觉怎么样?
3.技术选型上,为什么这么考虑?从开发效率,产品性能,产品质量,产品体验等方面考虑
4.你们的产品为什么被砍掉,从哪方面考虑
5.在这几年里,你有做过什么觉得最有价值的工作
6.你还有什么要问我的吗?目前有几个offer,倾向性是怎样的?
网易云音乐
1.ViewPager2原理
2.LifeCycle的原理是怎样的?
3.ViewModel为什么在旋转屏幕后不会丢失状态
4.Drawable与View有什么区别,Drawable有哪些子类
5.属性动画更新时会回调onDraw吗?
6.OkHttp网络拦截器,应用拦截器?OKHttp有哪些拦截器,分别起什么作用
7.自定义实现一个九宫格如何实现
8.PathClassLoader与DexClassLoader有什么区别
9.这些年有做一些什么比较难的工作?
10.编译时注解与运行时注解,为什么retrofit要使用运行时注解?什么时候用运行时注解?
11.kotlin lazy使用,lazy viewmodel
12.有没有看一下Google官方的ViewModel demo
13.ViewModel在Activity初始化与在Fragment中初始化,有什么区别?
14.kotlin与Java互相调用有什么问题?
15.retrofit怎么做post请求
16.界面优化的一些方法,ConstraintLayout实现三等分,ConstraintLayout动画.
17.CoordinatorLayout自定义behavior,可以拦截什么?
网易云音乐二面
1.你们的项目中做过什么比较难的工作?
2.视频播放,一个player怎么实现预加载,避免loading
2.webView加载本地图片,如何从安全方面考虑
3.http1.0,http1.1,http1.2有什么区别
4.https与http有什么区别
5.有用过什么加密算法?AES,RAS什么原理?
6.android跨进程通信了解吗?共享内存用过吗?binder怎么验证pid?binder驱动了解吗?
7.SharedParence可以跨进程通信吗?如何改造成可以跨进程通信的.commit和apply的区别.
8.Seriazable与Parceable的区别
9.Bundle是什么数据结构?利用什么传递数据
10.Jvm的内存结构,Jvm的垃圾回收,方法区有什么东西?
11.h5与native交互,webView.loadUrl与webView.evaluateUrl区别
网易云音乐三面
1.有没有做过什么WebView秒开的一些优化
2.你们的项目中有什么难点?
3.native如何对h5进行鉴权,让某些页面可以调,某些页面不能调
4.有看过哪些框架的源码吗?
5.viewModel是怎么实现双向数据绑定的?
6.viewModel怎么实现自动处理生命周期?
7.图片加载优化有什么经验吗?
8.viewpager切换掉帧有什么处理经验?
9.一个wrap_content的ImageView,加载远程图片,传什么参数裁剪比较好?
10.两个getDrawable取得的对象,有什么区别?
11.补间动画与属性动画的区别,哪个效率更高?
12.jsBridge实现方式
13.平常是怎么了解一些新知识与业界动态的,最近有什么印象深刻的文章
14.平常抓包用什么工具?
15.Mvp与Mvvm有什么区别?
跟谁学
1.项目中的Webview与native通信
2.项目中对WebView的功能进行了怎样的增强
3.synchronized跟ReentranLock有什么区别?
4.synchronized与ReentranLock发生异常的场景.
5.算法,删除数组中的重复元素
6.手写双检查单例模式,各个步骤有什么区别
7.Activity生命周期
快手
1.string,equals,==有什么区别
2.AsyncTask内存泄露
3.dispatchTouchEvent,onInterceptEvent,onTouchEvent顺序,关系
4.onMeasure,onLayout,onDraw关系
5.算法题,反转数组
6.算法题,链表求和
7.说说你对协程的理解
8.协程怎么取消
9.说说MVP与MVVM的区别
快手二面
1.算法题,二叉树的最大深度
2.如果android端和IOS端调一个接口,一个通了一个没通,你会如何解决
3.如果android端和IOS端调一个接口,一个比较慢,一个比较快,有什么思路
4.ARouter的原理是什么?如果不用ARouter,你会怎么去解藕。接口?设计接口有什么需要注意的?
5.h5与native交互做过什么工作?
6.登陆功能,登陆成功然后跳转到一个新Activity,中间涉及什么?从事件传递,网络请求,AMS交互角度分析
7.AMS交互调用生命周期是顺序的吗?
8.binder进程间通信可以调用原进程方法吗?
9.mvp与mvvm有什么区别?
10.token放在本地如何保存?如何加密比较好?
快手三面
1.viewModel的原理,为什么可以在Activity销毁后保存数据
2.mvvm双向数据绑定的原理是怎样的?ViewModel
3.说说你们项目中的难点是怎样的?
4.伪代码实现一个长按事件
5.实现一个下载功能的接口
猿辅导
1.泛型有什么优点?
2.动态代理有什么作用?
3.拉圾回收的GCRoot是什么?
4.Handler机制了解吗?一个线程有几个Looper?为什么?
5.你了解协程吗?协程有什么作用?可以完全取代rxjava吗?
6.你们用的什么消息通信机制
7.你的项目有什么难点?介绍一下?
8.算法题,二叉树最长结点集合
猿辅导2面
1.你们项目中的难点是什么?
2.编译期注解处理的是字节码还是java文件
3.你在项目中有用到什么设计模式吗?
4.ARouter的原理是怎样的?
5.插件化的原理是怎样的?
6.算法题,K个一组反转链表
7.广播与RxBus的区别,全局广播与局部广播区别
猿辅导3面
1.你们项目中有什么难点?
2.@JavaScriptInterface为什么不通过多个方法来实现?
3.为什么不利用同步方法来做jsBridge交互?同步可以做异步,异步不能做同步
4.网络封装怎么实现?
5.算法题,不同面值的几个硬币,怎么求满足条件的最小值
斗鱼
1.说说HashMap的原理
2.说说Java的内存分区
3.讲讲你对垃圾回收机制的了解,老年代有什么算法?
4.说说你对volatile字段有什么用途?
5.说说事件分发机制,怎么写一个不能滑动的ViewPager
6.说说你对类加载机制的了解?DexClassLoader与PathClassLoader的区别
7.说说插件化的原理,资源的插件化id重复如何解决?
8.mvp与mvvm模式的区别是什么?
9.JetPack组件用过哪些?lifeCycle的原理是什么?如果在onStart里面订阅,会回调onCreate吗?
10.单例模式有什么缺点?
11.说说App的启动过程,在ActivityThread的main方法里面做了什么事,什么时候启动第一个Activity?
12.说说你对Handler机制的了解,同步消息,异步消息等
13.说说你对屏幕刷新机制的了解,双重缓冲,三重缓冲,黄油模型
14.onCreate,onResume,onStart里面,什么地方可以获得宽高
15.为什么view.post可以获得宽高,有看过view.post的源码吗?
16.attachToWindow什么时候调用?
17.DataBinding的原理了解吗?
滴滴一面
1.JVM类加载机制了解吗,类什么时候会被加载?类加载的过程具体生命周期是怎样的?
2.Handler内存泄漏的GCRoot是什么?
3.动画里面用到了什么设计模式?
4.OkHttp里面用到了什么设计模式?
5.OkHttp连接池是怎么实现的?里面怎么处理SSL?
6.泛型为什么要擦除?kotlin的泛型了解吗?泛型的pecs原则
7.同步屏障
8.性能优化做过什么工作?
9.RecyclerView的缓存结构是怎样的?缓存的是什么?cachedView会执行onBindView吗?
10.RecyclerView嵌套RecyclerView,NestScrollView嵌套ScrollView滑动冲突
11.ViewGroup在Action_Move时onIntercept返回true,事件怎么传递
12.Launcher启动图标,有几个进程?
13.JMM可见性,原子性,有序性,synchronized可以保证什么?
14.源码中有哪里用到了AtomicInt
15.AQS了解吗?
16.Activity内LinearLayout红色wrap_content,包含View绿色wrap_content,求界面颜色
17.ViewModel的使用中有什么坑?
18.有用DSL,anko写过布局吗?
19.HashMap查找的时间复杂度是多少?
20.阿里编程规范不建议使用线程池,为什么?
21.四种线程池原理?
22.了解哪些算法?
23.IdleHandler用过吗?
滴滴二面
1.如何封装一个字符串转数字的工具类
2.如何求当前Activity View的深度
3.多进程怎么实现?如果启动一个多进程APP,会有几个进程运行?
4.反射可以反射final修饰的字段吗?
5.Activity与AppCompactActivity区别,Activity会打包到包里面去吗?
6.如何让两个线程循环交替打印
7.怎么中止一个线程,Thread.Interupt一定有效吗?
8.动画连续调用的原理是什么?
9.做过一些SDK的操作吗?
10.协程可以在Java项目中使用吗?
11.SharedPreference原理?读取xml是在哪个线程?
12.了解APK打包的过程吗?
13.class文件的组成?常量池里面有什么内容?
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/fc603cf3611cb10f545bb4b636cd9c0e.jpeg)
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!