面试知识
一、java相关
java基础
1、java 中==和 equals 和 hashCode 的区别undefined 2、int、char、long 各占多少字节数undefined 3、int 与 integer 的区别undefined 4、谈谈对 java 多态的理解undefined 5、String、StringBuffer、StringBuilder 区别undefined 6、什么是内部类?内部类的作用undefined 7、抽象类和接口区别
java高级
1、哪些情况下的对象会被垃圾回收机制处理掉?undefined 2、讲一下常见编码方式?undefined 3、utf-8 编码中的中文占几个字节;int 型几个字节?undefined 4、静态代理和动态代理的区别,什么场景使用?undefined 5、Java 的异常体系undefined 6、谈谈你对解析与分派的认识。undefined 7、修改对象 A 的 equals 方法的签名,那么使用 HashMap 存放这个对象 实例的时候,会调用哪个 equals 方法?
二、图片相关
1、图片库对比undefined 2、LRUCache 原理undefined 3、图片加载原理undefined 4、自己去实现图片库,怎么做?undefined 5、Glide 源码解析undefined 6、Glide 使用什么缓存?undefined 7、Glide 内存缓存如何控制大小?undefined 8.Fresco 源码分析
三、网络和安全机制
1.网络框架对比和源码分析undefined 2.自己去设计网络请求框架,怎么做?undefined 3.网络请求缓存处理,okhttp 如何处理网络缓存的undefined 4.从网络加载一个 10M 的图片,说下注意事项undefined 5.TCP 的 3 次握手和四次挥手undefined 6.TCP 与 UDP 的区别undefined 7.TCP 与 UDP 的应用undefined 8.HTTP 协议
四、数据库相关
1.Sqlite 升级,增加字段的语句undefined 2.数据库框架对比和源码分析undefined 3.数据库优化undefined 4.数据库数据迁移问题undefined 5.Sqlite 常见异常
五、插件化、模块化、组 件化、热修复、增量更新、Gradle
1.对热修复和插件化的理解undefined 2.插件化原理分析undefined 3.模块化实现(好处,原因)undefined 4.热修复、插件化undefined 5.项目组件化的理解undefined 6.描述清楚点击 Android Studio 的 build 按钮后发 生了什么
六、架构设计与设计模式
1.谈谈你对 Android 设计模式的理解undefined 2.MVC MVP MVVM 原理和区别undefined 3.你所知道的设计模式有哪些?undefined 4.项目中常用的设计模式undefined 5.手写生产者/消费者模式undefined 6.写出观察者模式的代码undefined 7.适配器模式,装饰者模式,外观模式的异同?undefined 8.谈谈对 RxJava 的理解
七、性能优化专题
1.启动 app 黑白屏优化undefined 2.稳定——内存优化undefined 3.流畅——卡顿优化undefined 4.节省——耗电优化undefined 5.安装包——APK 瘦身undefined 6.冷启动与热启动undefined 7.内存泄漏的场景和解决办法
- Bitmap 优化undefined9.webview 优化
八、Android Framework 相关
1、Android 系统架构undefined 2、View 的事件分发机制?滑动冲突怎么解决?undefined 3、View 的绘制流程?undefined 4、跨进程通信。undefined 5、Android 系统启动流程是什么?undefined 6、说下四大组件的启动过程,四大组件的启动与销 毁的方式。undefined 7、理解 Window 和 WindowManager。undefined 8、大体说清一个应用程序安装到手机上时发生了什 么?
九、Android 优秀三方库源码
1.网络底层框架:OkHttp 实现原理undefined 2.网络封装框架:Retrofifit 实现原理undefined 3.响应式编程框架:RxJava 实现原理undefined 4.图片加载框架:Glide 实现原理undefined 5.事件总线框架:EventBus 实现原理undefined 6.内存泄漏检测框架:LeakCanary 实现原理undefined 7.依赖注入框架:ButterKnife 实现原理undefined 8.依赖全局管理框架:Dagger2 实现原理undefined 9.数据库框架:GreenDao 实现原理
十、算法合集
1.编程技巧undefined 2.线性表undefined 3.字符串undefined 4.栈和队列undefined 5.树undefined 6.排序undefined 7.查找undefined 8.暴力枚举法undefined 9.广度、深度优先搜索undefined 10.分治算法undefined 11.贪心算法undefined 12.动态规划
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击