一.洋钱罐
1. 单链表之o(1)删除指定节点
2. 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有 多少种方法(递归和非递归解法)
3. LruCache算法的底层原理
4. Glide缓存机制原理
5. 属性动画和补间动画
6. Android打包流程以及多渠道打包技术
7. Android常见的性能优化(UI绘制,启动速度,内存优化,耗电量等)
二.探探科技
1. Activity A 跳转 Activity B 生命周期的变化过程
2. Activity的启动模式的区别,taskAffinity的含义
3. Android事件分发机制
4. View的绘制流程
5. Android属性动画(实现小球水平抛物线)
6. 观察者设计模式的含义以及使用实例
7. https中的对称加密和非对称加密
8. Android屏幕分辨率适配方案
9. Android组件化方案
10. 对im框架的理解,使用过没有
三.快看漫画
1. AndroidStudio点击build大致发生了什么
2. class,dex,odex,vdex的区别
3. art和Dalvik的区别
4. apk安装在手机上,过程大致发生了什么
5. View的绘制在哪个生命周期哪个方法完成
6. Android补间动画和属性动画的区别?插值器,估值器的区别和作用?(实现y=sinx动画)
7. Android渲染机制,以及如何解决卡顿
8. LeakCanary底层原理机制
8. 二叉树的层遍历(手写)
9. 算法的性能瓶颈(以遍历手机文件为例子分析,问到多线程(同步方式))
10. MVP的理解
11. Android的权限管理机制
12. Android应用的沙盒机制
13. Android性能优化方案
14. Android IPC方式有哪些,各有什么区别,如何选择
四. 同城艺龙
1. Android混淆原理,加固与脱壳
2. 组件化方案(多moudle怎么协调版本依赖,maven库代码权限等,细节问题)
3 Android热更新框架简比较,底层大致实现原理
4. 线程池的种类,区别和使用场景
5. handler机制原理
6. Android WebView 缓存机制和模式
7. 手写单例模式
8. 手写View树的遍历算法(递归-- 区分View和ViewGroup 获取getText()的值)
五 . 爱奇艺
1. 单链表的头结点插入和节点删除(手写)
2. Activity的启动模式 A(标准) -->B(singleTask)-->C(标准)-->D(标准) D启动B 生命周期变化过程
3. Android冷启动过程
4. binder的机制和原理
5. LinearLayout 和 RelativeLayout层级深度,哪个性能高
6. Fragment的生命周期(手写)
7. Fragment使用的过程中遇到的坑有哪些
8. 常见的设计模式 工厂模式,简单工程
9. 对称加密和非对称加密,CBC,CBC区别
10. Android性能优化方法
六 .腾讯视频
1. 自己能否自定一个 java.lang.String类?会有什么问题
2. java文件的编译过程
3. Hashmap的原理,手写put方法
4. ConcurrentHashMap的原理
5. 接口和抽象类的区别
6. findViewById()底层原理
7. 树的遍历(先序遍历,中序遍历,后序遍历)手写二叉树的层遍历
8. 属性动画和补间动画的本质区别?
9. Java类加载器ClassLoader理解
10. https中SSL/TLS协议的简单介绍,三次握手过程,是否了解其他协议
11. 点击桌面Launcher中的一个app图标发生了什么
12. okhttp源码分析,优缺点是什么
13. LruCache原理分析
14. 是否看过Glide源码,优缺点是什么
15. 将两个已排序数组合并成一个排序数组(手写:注意时间复杂度)
16. 设计一个模块解决网络错误以后,错误码散落在不同区间 1---100 100--1000 1000-10000若干个分组。后对用的错误处理方式(面向对象的思想,封装一个对象)
网友评论