字节跳动一面
- 自我介绍
- handler机制,sendMessage和post(Runnable)的区别。
- ThreadLocal原理,底层实现
- HashMap底层,扩容,LinkedHashMap
- Service的onBind和onStart差别
- Activity启动生命周期,A跳转B
- Android持久化方案,SharedPreference是否可以跨进程通讯。ContentProvider
- ClassLoader机制,双亲委派。如果我要写一个Activity类,那怎么保证加载的是我自己写的Activity
- 算法题,约瑟夫环
- 反问
字节跳动二面
- 自我介绍
- 项目技术点详解
- 写过什么自定义View
- OkHttp代码看过吗,用了什么设计模式
- MVC、MVP区别,项目中的实现。
- LiveData和EventBus的相关讨论,真的是讨论,畅所欲言
- 看过哪些源码
- SharedPreference相关
- Android动画了解吗,用过什么
- TCP、UDP区别,面试时的语音用的是什么,为什么要这么用。
- 代码题,5个线程对一个int进行累加到1000.
- 反问
字节跳动三面
让我们来一起看看字节跳动第三面,面试官都问了什么呢?你又能答上来多少?
-
ArrayList的使用,然后问他ArrayList使用过程中有没有遇到过坑;
-
还问了HashMap,问了差不多20分钟。还有aba问题,GC算法,泛型的边际这些东西;
-
接着问了Handler中loop方法为什么不会导致线程卡死,还有就是动画的原理,问他有没有实战过补间动画;bugly上面收集到的最难的bug是怎样的,如何解决的?
-
还有MeasureSpec的意义,问了一般怎样计算MeasureSpec;自定义View和自定义ViewGroup的区别;onmeasure,onLayout,onDraw的调度流程;自定义View的measure时机;有没有写过自定义View;
-
问了Glide使用过程中的坑,EventBus使用过程中的坑;
-
多线程开发中你都在哪些地方使用过sleep,wait,分别怎么使用的;
-
还有网络协议okhttp中的缓存机制,dex加载流程,组件化的原理;
-
还有就是Fragment的生命周期管理过程中遇到的坑和解决办法;
-
还有排序算法,还有观察者模式和单例模式,还问了抽象类和接口的关系;
-
还有就是应用启动流程,activity 启动流程,为什么要每个应用有一个自己的虚拟机,这个虚拟机和JVM的关系。
-
databinding原理,binder原理;
-
多进程通信问题;binder优势;aidl生成的java类细节;多进程遇到过哪些问题?
-
子线程中维护的looper,消息队列无消息时候的处理节省性能的处理方案;
-
你遇到的最难的技术问题和解决方案;
朋友跟我吐槽:“我靠,现在面试高级工程师都这么难的吗?”
是的,安卓高级工程师要求就是这么高,待遇也高啊!
大厂面试真题必问
要想成为高级工程师,Binder和Handler是必须掌握的!从字节跳动面试官提的这些问题,也可以看出,现在面试问的很多都是原理。
一线企业的app都是多线程和多进程的,而Android的进程间通信机制就是Binder,原生的线程间通信则是Handler,Binder和Handler是了解安卓运行机制必须要掌握的一个知识点,更是一线企业面试必问的知识点!
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
Android 基础知识点
Java 基础知识点
Android 源码相关分析
常见的一些原理性问题
希望大家在今年一切顺利,进到自己想进的公司,共勉!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!