写点什么

15 分钟的字节跳动视频面试,34 岁 Android 程序员裸辞

用户头像
极客开源
关注
发布于: 刚刚


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 文件的组成?常量池里面有什么内容?


14.自动装箱发生在什么时候?编译期还是运行期


15.bugly 日志收集的原理是什么?


16.启动优化做过什么工作?如果首页就要用到的初始化?


17.DataBinding 原理

滴滴三面

1.插件化的原理是什么?有没有什么非运行时插件化的解决方案?


2.ARouter 的原理是怎样的?注解处理器是处理 java 还是字节码


3.java 和字节码有什么区别?


4.kotlin 空安全的原理是什么?


5.性能优化做过什么工作?有用过什么工具?有没有精确测量的工具?


6.kotlinc 与 javac 编译字节码有什么区别?


7.你在团队中是怎样一个角色?


8.你有没有做什么推进项目的工作


9.说说热修复的原理?

最后

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!


最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究


对于很多初中级 Android 工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对 Android 开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。


为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品 Android 架构师教程,保证你学了以后保证薪资上升一个台阶。


以下是今天给大家分享的一些独家干货:



本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

用户头像

极客开源

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
15分钟的字节跳动视频面试,34岁Android程序员裸辞