公司动态

【金三银四】2022Android面经新鲜出炉啦

📅 2026/8/27 12:21:57
【金三银四】2022Android面经新鲜出炉啦
前言春水初盛垂钓者络绎不绝鱼儿按捺不住拍打着尾鳍纷纷跃出水面沽个好价。本篇真实的记录了我从 准备-复习-面试 的全过程分享一些我的真实经验希望能帮到大家。准备工作开始准备工作之前首先思考几个问题如何准备需要复习哪些东西该怎么复习怎么复习最高效职业规划如何准备从哪里开始着手首先是想好自己是否真的需要换工作确定好需要换之后就开始写简历将个人技能点、业务经验、业务成绩等写上去。需要复习哪些东西我个人认为首先是复习Java基础和Android基础然后再根据简历上写的技能点和业务经历复习相关的知识点。有时候你做过的某个东西可能叙述出来不是特别清晰或者根本就想不起来具体是怎么做的了这个时候就需要复习代码回顾一下。下面是一些我需要复习的点项目经历业务难点Java基础,JVM集合原理Android基础,View体系View绘制流程事件分发屏幕刷新动画原理常见三方库原理JetpackAndroid Framework算法Kotlin该怎么复习将以前学习该部分时写过的博客或者笔记拿出来复习结合源码。如果是以前没有写过相关笔记的就找一下相关的技术文章汇总看一波。怎么复习最高效一个技术点或者做过的业务最好是先复习一下然后用自己的话把它描述出来最好是写成文字记录到云笔记上方便随时复习。当然这只是一个点的复习方式。而简历上有很多很多个这样的点我们需要设置一个dead line设置一个复习总时长到哪个日期截止必须在那个日期结束前复习完成。然后将需要复习的点详细安排到每一天每天需要复习哪些东西必须当天完成禁止自己拖到第二天最好是明天的任务内容今天就把它完成了然后明天就去复习后天的任务内容。给自己留有余地即使某天没时间复习也不至于落后于计划。最好是开始复习计划之前就把每一个知识点需要看的东西全部给列出来比如需要复习哪篇笔记、哪篇文章、哪部分代码等到时在复习的时候就无需关心该复习哪里直接照着之前安排好的计划开整就行了。下面是一些我在复习时的部分计划完成时打个勾职业规划开始找工作之前最好是先想好自己下一份工作想做什么去怎么样的公司将来想怎么发展。复习资料这块大家尽量按照自己简历的内容来进行专项复习下面是一些我复习时用到的资料。因为这些都是自己的技能点所以复习要稍微加快一下速度控制好复习总时长。Java部分操作系统相关JDKJVMJRE面向过程面向对象八大基本数据类型引用类型数组Java异常NIO/BIO/AIO集合(容器)线程泛型反射注解Socket编程设计模式JVM相关Android部分Activity典型情况下的Activity生命周期异常情况下的Activity的生命周期 数据如何保存和恢复从Activity A跳转到Activity B之后然后再点击back建之后它们的生命周期调用流程是什么如何统计Activity的工作时间给我说说Activity的启动模式 使用场景。如何在任意位置关掉应用所有Activity 如何在任意位置关掉指定的ActivityActivity任务栈是什么在项目中有用到它吗Activity之间如何通信 Activity和Fragment之间通信 Activity和Service之间通信Activity与Fragment的生命周期比较了解哪些Activity常用的标记位Flags…BroadcastReceiver广播是什么(校招实习)广播的注册方式有哪些广播的分类 特性 使用场景说说系统广播和本地广播的原理 区别 使用场景。有两个应用注册了一样的广播一个是静态一个是动态连优先级也一样那么当广播从系统发出来后哪个应用先接收到广播ContentProvider什么是内容提供者(校招实习)说说如何创建自己应用的内容提供者 使用场景。(校招实习)说说ContentProvider的原理。ContentProvider,ContentResolver,ContentObserver之间的关系说说ContentProvider的权限管理。Service什么是Service?(校招实习)说说Service的生命周期。(校招实习)Service和Thread的区别(校招实习)Android 5.0以上的隐式启动问题及其解决方案。给我说说Service保活方案IntentService是什么 原理 使用场景 和Service的区别。创建一个独立进程的Service应该怎样做Service和Activity之间如何通信说说你了解的系统Service。谈谈你对ActivityManagerService的理解。在Activtiy中创建一个Thread和在一个Service中创建一个Thread的区别Handler子线程一定不能更新UI吗(校招实习)给我说说Handler的原理(校招实习)Handler导致的内存泄露你是如何解决的如何使用Handler让子线程和子线程通信你能给我说说Handler的设计原理HandlerThread是什么 原理 使用场景IdleHandler是什么一个线程能否创建多个Handler,Handler和Looper之间的对应关系为什么Android系统不建议子线程访问UILooper死循环为什么不会导致应用卡死可以在子线程直接new一个Handler出来吗…AsyncTaskAsyncTask是什么能解决什么问题(校招实习)给我谈谈AsyncTask的三个泛型参数作用 它的一些方法作用。给我说说AsyncTask的原理。你觉得AsyncTask有不足之处吗FragmentAndroid中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事务的认识。千奇百怪的SQL语句考察。(校招实习)ListView RecyclerViewListView是什么如何使用RecyclerView是什么如何使用如何返回不一样的Item。ListView和RecycyclerView的区别是什么分别讲讲你对ListView RecyclerView的优化经验。说说RecyclerView的回收复用机制说说你是如何给ListView RecyclerView加上拉刷新 下拉加载更多机制。谈谈你是如何对ListView RecycleView进行局部刷新的谈谈如何进行分页加载ScrollView下嵌套一个ListView通常会出现什么问题一个ListView或者一个RecyclerView在显示新闻数据的时候出现图片错位可能的原因有哪些 如何解决图片编程你对Bitmap了解吗它在内存中如何存在有关Bitmap导致OOM的原因知道吗如何优化给我谈谈图片压缩。LruCache DiskLruCache原理。说说你平常会使用的一些第三方图片加载库,最好给我谈谈它的原理。…WebViewWebView会导致内存泄露吗原因是什么解决方式有哪些你知道Hybrid开发吗说说你的相关经验。说说WebSettings WebViewClient WebChromeClient这三个类的作用 用法。说说你了解的Hybrid框架。如何提高原生的WebView加载速度谈谈你对webView工作机制的认识,你在项目中优化过它吗说说是从哪些方面着手的ViewPager什么是ViewPager?说说它的那些适配器。(校招实习)你了解ViewPager2吗和ViewPager 1有哪些区别ViewPager Fragment结合使用存在的内存泄漏的原因是什么如何解决View事件分发机制什么是事件分发机制主要用来解决什么问题给我说说事件分发的流程 你项目解决事件冲突的一些案例。分别讲讲有关事件分发的三个方法的作用及关系。如果我在一个设置了点击事件的TextView中dispatchTouchEvent方法强制返回ture或者false会发生什么谈谈你对MotionEvent的认识Cancel事件是什么情况下触发的能给我谈谈Android中坐标体系吗View绘制机制说说View绘制流程。(校招实习)说说Activity View树结构。自定义View的方式有哪些?给我说说你之前项目中的案例。invalidate和postvalidate的区别说说你在自定义View时常常重写的一些方法说说自定义View中如何自定义属性requestLayout(),onLayout(),onDraw(),drawChild()区别和联系如何计算出一个View的嵌套层级自定义View如何考虑机型适配布局说说Android中有哪些布局 特点。你知道布局文件到控件对象的过程吗有这么一个布局需求一个文本控件放在屏幕一半的一半的中间位置你如何进行布局LinearLayout,FrameLayout,RelativeLayout性能对比为什么Binder什么是Binder用来干什么给我具体讲讲Binder机制。数据结构与算法常用开源库部分计算机网络篇幅有限详细内容就不作完全展示了若需要此面试题合集直接点击文末CSDN官方认证微信卡片免费领取【保证100%免费】~面试真题只记录了部分公司和部分题目有时候面试完忘记记录了后面就想不起来了。公司1包体积优化handler原理如何退出appsynchronized和lock鸿蒙了解过吗flutter了解过吗compose呢跨进程通信线程通信组件化是怎么做的做过的项目主要负责什么担任的角色最难的是什么怎么解决的开发流程是怎么样的有做设计文档吗职业规划为什么做安卓鸿蒙有了解吗平时怎么学习的最近学了什么给工作带来了哪些好处看过哪些技术书籍平时有什么爱好对你想要去的公司团队有什么要求或者说你想去什么氛围的项目组公司2sleep和wait区别mvp组件化livedataviewmodel原理内存优化启动优化leakcanary原理换肤原理怎么hook ams公司3volatile、synchronized、原子类的原理数据库优化是怎么做的性能优化kotlin伴生对象和init斐波拉契序列反转链表公司4fragment生命周期屏幕刷新机制binder理解bindService校验: 权限包名https的原理热修复:class和资源invalidate 和 postInvalidate区别handler原理sendMessageDelayed是怎么实现的为什么不卡主线程底层是如何通知进程这边恢复阻塞的java掌握到什么程度了kotlin呢android呢响应式编程看过哪些书推荐一本你觉得不错的书为什么不错android最近这2年值得关注的框架敏捷开发模式你给你自己的水平打分计划怎么完善和精进自己的技术栈公司5app启动过程activity启动过程activity启动过程中的launchmode的原理handlerjava 方法重载问题泛型相关卡顿优化冷启动优化线上监控方式慢函数线上监控公司63个线程如何依次执行设计一个图片加载库lrucache原理linkedhashmap实现lifecycle,viewmodel原理view事件分发公司7gc rootsJVM垃圾回收算法Android虚拟机垃圾回收算法分代回收思想Java类加载机制线程池有几种分别是什么特征自定义线程池需要注意什么核心线程数是多少hashmap原理红黑树会退成链表吗什么情况下ConcurrentHashMap原理Hashtable原理StringBuilder和StringBuffer原理反射原理及其优缺点泛型拿来做什么的synchronized用法及原理1.6做了哪些优化Mark word常用的三方库原理随便挑一个说换肤原理动画有哪几种属性动画原理,vsyncView绘制流程短时间内多次调用requestLayout哪些View会重绘冷启动优化包体积优化插件化原理startActivitymvc,mvp,mvvmrequestLayout流程算法1反转单词算法2环形链表求环入口节点不准用快慢指针O(1)空间复杂度O(n)时间复杂度可修改链表节点的指针和数据。不能在链表节点中新增属性公司8说一下项目的架构哪一块是你主要负责的说一下是怎么设计的livedata原理handler原理组件化传递大数据单例里面的数据线程安全内存优化卡顿优化冷启动优化怎么检测已发生了内存泄露的对象不知道那个对象是谁协程和RxJava原理区别公司9view绘制流程事件分发流程外部拦截法内部拦截法Kotlin协程协程原理怎么开协程怎么切线程viewpager内部view高度不一致怎么解决startActivity流程启动优化包体积优化livedata原理gradle 马甲包换肤原理协程状态机let和also区别mvvmHR面试真题一般HR面就比较轻松了不会涉及什么高难度的问题。一般就问问你为什么离职、住哪里、有对象吗、结婚了吗、有小孩吗、小孩多大了、买房了吗、哪里人然后HR还会介绍公司的情况、产品、公司规划、福利之类的。下面这些是我在网络上搜集的一些比较重要的问题需要详细向HR了解清楚。每个问题都很重要必问工资是*12 有年终吗五险一金是全额多少比例加班有钱晋升制度涨薪制度年假绩效考评是怎么样的午休时间上下班时间双休试用期多久转正标准工作强度其他注意事项技术复盘在每轮技术面试完成后肯定是有些问题回答得不好的或者是没有答上来的回去之后需要及时整理并复习最好是能用自己的话复述一下这个问题。提前了解好要去面试的公司的产品、方向提前了解好当前公司办理离职需要多久社保和公积金不能断尽量远程面试避免耽搁现在的工作欢迎大家一键三连支持若需要文中资料直接点击文末CSDN官方认证微信卡片免费领取【保证100%免费】↓↓↓