非常荣幸能参加这次面试,我叫隋睿,来自宁夏,是16级计算机专业的本科生。
毕业四年一共任职过两家公司,接手的公司项目有5个。
第一个项目是:《**乐》App,是一个活动社交平台。
该项目中,我负责Android端的开发与维护工作。
项目涉及了,视频、即时通讯和地图等功能。
第二个项目是:《**库》,是一个互联网理财App
该项目为独立开发。
在接手后的第七个月,我准备重构,全部使用了Kotlin语言开发。
重构的思路是:降低逻辑耦合;简化界面UI;提高启动速度;
针对降低耦合性,我运用了MVP模式以及模块化的设计思路。
网络框架使用的是:RxJava + Retrofit。选择他们作为网络框架的原因是,RxJava的特性可以将多请求多回调多逻辑的方式改为:多请求一回调一逻辑。实现同步请求,异步回调,统一处理业务逻辑。配合MVP模式,将页面与数据分离开。
针对UI,我使用了约束布局(ConstraintLayout)简化界面层级,使用约束线来找准每一个控件的位置。
部分简易图标,改用SVG格式,目的是降低对图片的使用,从而减少APK的大小。
屏幕适配方案选用的是:今日头条适配方案(之前是宽高限定符适配)实现原理:修改系统的density值(核心)
针对提高启动速度,我做了如下考虑。
高耗时任务、复杂的UI、主题切换等方面
对于在初始化期间的高耗时任务,我会将其放入子线程中,避免主线程卡顿
针对复杂的UI除了使用约束布局以外,可以多用 include和merge标签
除了两个主要项目外,还负责《**大学》、《**享》、《**商城》的开发工作
工作之余,也有写其他的软件,大多以学习的知识点为中心,运用到程序里。
例如:学习数据库时,写了《记忆星球》App,主要功能是提供默写单词。
《骚扰拦截》功能是拦截电话。
《自动点击》功能是调用ADB实现用户操作。
我的自述完了,谢谢