三年Android开发快手、美团、支付宝连挂,怒刷1549页面试题字节上岸

发布时间:2026/8/27 12:00:44
三年Android开发快手、美团、支付宝连挂,怒刷1549页面试题字节上岸 刚开始面试的时候我真的是处处碰壁面一家挂一家面完之后怀疑自我是不是自己真的太菜了找不到工作。工作本身就是双向选择一家不行再换一家总有合适的千万不要因为别人的一句话就全盘否定自己一定要自信。下面是面试经历分享出来是为了给大家一个借鉴知道这些一线互联网企业注重那些技术自己去面试也好有个准备千万别像我挂了三家公司才知道去准备面试。快手一面viewBinding的原理Recycleview滑动怎么优化缓存设计一级缓存和二级缓存的区别LayoutManager原理绘制onMeasure描述一下onDraw描述一下invalidate一定会调用onDraw么事件分发事件是由谁分发的fragment销毁与恢复与Activity的通信ActivityActivity的生命周期销毁与恢复国际化插件hashmap2^n的原因有多个原因扩容22反转链表二面协程原理rxjava原理leakcanary如何分析引用链线程池给你一堆数据如何画曲线事件分发责任链模式汽车加油问题三面有序无序时删除链表的重复节点都删除保留一个如何实现快手和抖音的整屏滑动效果如何让运营能看懂社区文章项目中的难点问得很细比如有没有遇到什呢难点呀美团一面线程池原理几个参数线程池里面的阻塞队列是什么类型设计模式状态模式和策略模式的区别sleep和wait的区别android序列化Parcelable与SerializableHandlerHashmap深拷贝与浅拷贝如何实现深拷贝sync和Reenterlock遇到异常的区别可重入锁和不可重入锁funA,funB,funC,funDpostInvalidate和Invalidate的区别requestLayout两个有序链表合并anr 分类及原理二面基本都是问的项目支付宝一面项目viewmodel原理用了哪些jetpack的东西livedata为何具有生命周期感知能力二面shareperference如何保证线程安全为什么不是进程安全的如何实现进程安全的viewmodel是如何解决内存泄漏问题的能解决么mmkv共享内存和binder的区别magic ocr项目有做过多线程开发么room如何实现orm的kotlin和java产物一样么有各种图片格式的区别如何保证内存与文件的同步开一个线程commitcommit不用加锁么bitmap怎么确定bitmap被复用了一张图片占用的内存大小说来也挺惋惜的前三家公司都是到了二面甚至是三面才挂掉如果是一面就挂掉我也不用花那么多时间去煎熬、等待结果只怪自己自视过高在一家公司做久了对自己的能力没有一个正确的认知。之后我开始猛刷大厂的面试题在朋友的内推下收到了字节的面试题通知又把字节近几年的面试题都翻出来刷了个遍终于在四轮技术面一轮HR面后收到了offer。下面是字节面经一面MVC,MMVM,MVPMMVM如何解决MVP中存在的问题内存泄漏内存泄漏的几种情况LeakCancary分析内存泄漏的原理手写单例模式并分析算法找到两个数组中的两个元素的和等于某个值二面activityonSaveInstanceserviceStartService和BindService的生命周期求浮点数的平方根Binder的原理设计模式工厂模式抽象工厂模式和普通工厂模式建造者模式启动模式有几种共享内存原理java能实现共享内存么kotlin协程的四个dispatcher及区别三面windowdecorviewViewRootImpl的关系面试官 想让你回答如何window和windowManager如何联系的。viewRootImpl是联系window和decorview的纽带进程间的通信方式AIDL的用法用法和原理事件分发onIntercept在哪用事件分发底层的产生RecycleView的用法里面的各种Manager作用wake lock使屏幕常亮Activity是如何被限制到状态栏和导航栏之下的canvascanvas的save和restore的作用canvas的density有什么作用vsyncvsync是如何生成的android中异步一般怎么实现android中内存泄漏发生的情况如何去获取view的宽高悬浮窗如何实现一个悬浮窗一个悬浮窗悬浮在顶层覆盖了底层的app的启动图标如果让事件启动图标接收到click事件Android M之前与之后的权限变化ContentProvider使用如何找到该contentProvider的RxJava中map和flatmap的区别view的绘制viewgroup是如何刷新的onMeasure,onlayout,onDraw分别起什么作用onLayout的时候可以layout自己么AndroidManifest和的区别一个是系统的权限一个是自定义的权限四面两道算法洗牌问题接雨水两道设计面向对象原则用代码描述你觉得最有设计感的项目后面就是HR面了我就省略了相信这些大厂HR面试都不会有太大的差别。我个人觉得面试也像是一场全新的征程失败和胜利都是平常之事。所以劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜等待你的将是更美好的未来继续加油面试官通常会问一些开放性的问题对你的思维拓展能力、多方位的思考能力也是一种考验永远不要打无准备之仗早做准备多做准备下面分享一下我之前刷过的面试题以及算法资料希望能帮助到有心在技术这条道路上一路走到黑的朋友Java部分操作系统相关JDKJVMJRE面向过程 面向对象八大基本数据类型引用类型数组Java异常集合(容器)线程泛型反射注解Socket编程设计模式JVM相关Android部分Activity典型情况下的Activity生命周期异常情况下的Activity的生命周期 数据如何保存和恢复从Activity A跳转到Activity B之后然后再点击back建之后它们的生命周期调用流程是什么如何统计Activity的工作时间Activity的启动模式 使用场景如何在任意位置关掉应用所有Activity 如何在任意位置关掉指定的ActivityActivity的启动流程(从源码角度解析)Activity任务栈是什么在项目中有用到它吗说给我听听BroadcastReceiver广播是什么广播的注册方式有哪些广播的分类 特性 使用场景ContentProvider什么是内容提供者说说如何创建自己应用的内容提供者 使用场景说说ContentProvider的原理ContentProvider,ContentResolver,ContentObserver之间的关系说说ContentProvider的权限管理Service什么是Service?说说Service的生命周期Service和Thread的区别Android 5.0以上的隐式启动问题及其解决方案。Service保活方案IntentService是什么 原理 使用场景 和Service的区别。创建一个独立进程的Service应该怎样做Handler子线程一定不能更新UI吗给我说说Handler的原理Handler导致的内存泄露你是如何解决的如何使用Handler让子线程和子线程通信HandlerThread是什么 原理 使用场景一个线程能否创建多个Handler,Handler和Looper之间的对应关系为什么Android系统不建议子线程访问UIAsyncTaskAsyncTask是什么能解决什么问题给我谈谈AsyncTask的三个泛型参数作用 它的一些方法作用。给我说说AsyncTask的原理你觉得AsyncTask有不足之处吗FragmentAndroid中v4包下Fragment和app包下Fragment的区别是什么Fragment的生命周期 请结合Activity的生命周期再一起说说。说说Fragment如何进行懒加载。ViewPager Fragment结合使用会出现内存泄漏吗 如何解决Fragment如何和Activity进行通信 Fragment之间如何进行通信给我谈谈Fragment3种切换的方式以及区别 使用场景。文件存储说说Android中数据持久化的方式 使用场景接触过MMKV吗说说SharedPreference和它的区别第三方数据库框架用过哪些有没有自己封装过一个SQLite的库SQLite是线程安全的吗 SharedPreference是线程安全的吗请简单的给我说说什么是三级缓存SharedPreference的apply和commit的区别谈谈你对SQLite事务的认识ListView RecyclerViewListView是什么如何使用RecyclerView是什么如何使用如何返回不一样的Item。ListView和RecycyclerView的区别是什么分别讲讲你对ListView RecyclerView的优化经验。给我说说RecyclerView的回收复用机制说说你是如何给ListView RecyclerView加上拉刷新 下拉加载更多机制谈谈你是如何对ListView RecycleView进行局部刷新的图片编程你对Bitmap了解吗它在内存中如何存在有关Bitmap导致OOM的原因知道吗如何优化给我谈谈图片压缩。LruCache DiskLruCache原理。说说你平常会使用的一些第三方图片加载库,最好给我谈谈它的原理。如果让你设计一个图片加载库你会如何设计你知道Android中处理图片的一些库吗(OpenCv GPUImage …)WebViewWebView会导致内存泄露吗原因是什么解决方式有哪些你知道Hybrid开发吗说说你的相关经验说说WebSettings WebViewClient WebChromeClient这三个类的作用 用法。说说你了解的Hybrid框架。如何提高原生的WebView加载速度谈谈你对webView工作机制的认识,你在项目中优化过它吗说说是从哪些方面着手的ViewPager什么是ViewPager?说说它的那些适配器。(校招实习)你了解ViewPager2吗和ViewPager 1有哪些区别ViewPager Fragment结合使用存在的内存泄漏的原因是什么如何解决View事件分发机制什么是事件分发机制主要用来解决什么问题(校招实习)给我说说事件分发的流程 你项目解决事件冲突的一些案例。分别讲讲有关事件分发的三个方法的作用及关系。如果我在一个设置了点击事件的TextView中dispatchTouchEvent方法强制返回ture或者false会发生什么谈谈你对MotionEvent的认识Cancel事件是什么情况下触发的requestLayout(),onLayout(),onDraw(),drawChild()区别和联系除此之外还有一份全套的BAT、TMD面试真题资料含解析需要的朋友也可以无偿获取。朋友们如果需要这份完整版的资料VX扫描下方CSDN官方二维码【免费获取】。