面试

自动打包

浏览器缓存、分段、

拉前端代码?+正常的环境的切换+通知

没网?数据?

h5请求,app拦截,自动更新

h5调用插件

多渠道打包

Cordova、

安全

支付:

架构 MVP

代码层面 hashMap 16大小、本地化存储 mmkv 门面模式

性能优化 线上oom、bugly、图片过大

Viewmodel 数据持久

不同客户不同包

网络框架 重试、日志

权限管理

离线缓存?

日历视图 七八层嵌套-> 1层

通知、插件、路由

插入视图

物联网

安卓自启动问题

本地化/国际化-

框架-getX

webView-flutter 白屏

扫码

设计模式?策略模式?单例?通知?几个原则。

  • 谈谈对项目做过的优化(历史存在什么问题,你的解决方式。)?
  • 谈谈你做过的框架(侧重非UI部分)
  • 谈谈埋点?

搜索逻辑?冒泡排序?

封装

看过什么书,什么三方库?

  • [x] 图片缓存?

  • [x] 性能优化(webView 优化)?

    • 内存优化、泄漏,检测?
    • 启动优化
    • 安装包大小优化
  • 应用在后台长时间执行(service 保活)
  • 怎么区分不同平台的安装包?
  • 同一应用多端,项目上怎么开发(司机端、乘客端)。
  • [ ] 路由设计 scheme://path?argument

  • [ ]

app中核心的非数据组件()

图片处理、网络库、路由

线程同步

掌握 RxJava + Retrofit + OkHttp 的⽹络底层框架,并结合 MVP、MVC、MVVM 三种架构模式编写出⽹络底 层框架,已应⽤于项⽬中,底层稳定性强

了解LiveData,Viewmodel,DataBinding等新框架,且结合RxJava 使⽤MVVM架构应⽤在项⽬中

理解内存泄露的原理,编写代码过程中能避免常⻅内存泄露。使⽤Memory Profiler 和 Memory Analyzer等 ⼯具检测内存泄露问题

了解App启动速度优化,内存,以及APK 瘦身等优化

理解 Android 适配原理,能够做到适配各类常⽤机型

理解Android触摸事件传递机制,⾃定义View和动画机制 理解 Handle 消息处理机制

理解多个设计模式的使⽤。如单例设计模式,观察者模式,建造者模式,装饰者设计模式等 独⽴编写多个lib库,如图库,列表适配库,⼴告库,分享库(QQ,微信,微博,Facebook等第三⽅),均采⽤ 组件化开发⽅式,可快速移植其他项⽬中

Flutter

状态管理 setState\Provider

网络拦截器、

图片缓存

请求