易车一面面试题

易车一面面试题

易车一面:
1、Arouter原理
2、目前的组件化项目架构应用分层
3、业务模块直接的通信怎么做的,是在common里封装接口吗
4、组件化过程中遇到的困难,怎么解决的
5、不想在common里封装接口,想达到通信的目的,怎么做(自己设计路由框架怎么做)
6、集成启动的时候,各个业务模块的初始化启动怎么做(反射获取)
7、MVVM优点在哪
8、业务层怎么做管理,四个业务层都各自迭代,怎么协同管理(maven,aar)
9、apk包体积优化怎么做的
10、自己做热修复的系统怎么设计、插件什么格式下载下来
11、布局优化,内存优化怎么做的
12、约束布局
13、jvm内存划分,内存泄漏怎么发生的,垃圾回收,GcRoot都有哪些

百度二面面试题

百度二面面试题

  1. 正向代理,反向代理
    正向代理 client proxy -> service client -> proxy service
  2. 数据库 后10条数据 sql语句怎么写
    Select * from user order by id desc limit 10
  3. 非关系型数据库库和关系型数据库区别
    关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。
    非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、
    键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。
  4. 多个数据库版本升级 如何设计减少后期开发人员工作量
  5. 计算2进制数据有多少个1
  6. java文件编译过程
    通过javac 将 java文件编译成.class字节码文件
  7. dex文件如何加载
    DexClassLoader PathClassLoader 。DexClassLoader 加载外部文件。PathClassLoader加载内部应用。继承自BaseDexClassLoader,内部包含DexElement 数组。
  8. 列表卡顿优化
  9. 内存紧张是否会导致卡顿
  10. synchronized作用, 如何 让多个实例的同一个方法只有一个线程访问
  11. 计算二叉树深度
  12. 打印斐波那契数列
    0,1,1,2,3,5,8,13,21,34,55,89,144
  13. 微信朋友圈 图片点击放大效果和手指拖动效果如何实现
  14. anr问题怎么分析
  15. dalvik 虚拟机和ART虚拟机主要区别
  16. socket是什么
  17. tcp协议的上层协议有哪些
    http websocket mqtt
热修复技术原理总结

热修复技术原理总结

#1.什么是热修复

传统更新流程:版本上线->用户安装->发现bug->紧急修复->重新发版->用户安装

弊端
:重新发版本代价高

:用户下载安装成本高

:bug修复不及时,体验差

解决方案
Hybrid方案:业务逻辑以H5方式加载
插件化方案:Atlas或者DroidPlugin方案
热修复方案:采用热修复技术,将更新补丁上传到云端,APP从云端下拉补丁直接应用生效
热修复更新流程:版本上线->用户安装->发现bug->紧急修复->打出补丁,推送给用户->自动拉取补丁修复
优势
1.无需重新发版,实时高效热修复
2.用户无感知修复,无需下载新应用,代价小
3.修复成功率高,把损失降到最低


:D 一言句子获取中...