1、本人七年移动端开发经验,三年项目管理经验;
2、较深的java基础,熟悉掌握面向对象思想;
3、熟练掌握Android应用UI设计、使用常用布局、自定义控件开发
4、精通MVC、MVP、MVVM设计模式;
5、熟练掌握Android数据存储(文件、SQLite、SharedPreferences等);
6、熟练掌握Android线程间通讯、进程间通讯;
7、有三年以上人脸识别应用开发经验;以及视频图像处理经验;
8、熟练处理OOM、ANR等异常;
9、有过完成的项目开发和项目框架搭建经验;
10、掌握flutter开发技巧,并使用MVVM框架开发过一个flutter app;
目前时间自由,并有一个完整的项目开发团队。
钉钉 m2 智能人脸考勤机
项目描述:
与钉钉深度合作开发的人脸识别考勤机,具备活体识别功能,能检测出活体与非活体(电子屏、 照片等),支持在线离线识别的切换、活体与非活体识别的切换;
任务描述:
1、负责整个 app 层的框架设计,业务模块的开发以及优化;
2、设计并实现 fmp 多帧活体检测机制;
3、实现凝视打卡机制与 UI 动画;
4、设计弱网环境识别机制;
5、封装自定义 cameraview 类;
6、实现识别结果的滚轮动画效果;
7、自定义封装激活时 icon 呼吸动画图标。
技术与优化:
1、使用 MVP 开发模式以及工厂模式实现业务处理;
2、使用 EventBus 实现激活状态、网络状态等信息的通讯;
3、使用 ExecutorService、Handler 实现多帧活体检测多线程并行以及线程间的通讯;
4、使用 ConcurrentHashMap 解决线程安全并提高检索速度;
5、活体识别中增加一个存放对应 personId 最新检测为活体的时间的 Map,解决因机器性能问题 造成人脸检测 sdk 跳 trackId 造成的识别速度问题;
6、使用 Android 自带的 FaceDetectionListener 解决逆光补偿问题以及控制 sdk 检测时间从而节 省了 cpu 的消耗;
7、自定义一个内存池来存放摄像头回调回来的 buffer 数据;
角色 | 职位 |
负责人 | Android主管 |
队员 | 产品经理 |
队员 | UI设计师 |
队员 | iOS工程师 |
队员 | 安卓工程师 |
队员 | 前端工程师 |
队员 | 后端工程师 |
项目描述: 与钉钉深度合作开发的人脸识别考勤机,具备活体识别功能,能检测出活体与非活体(电子屏、 照片等),支持在线离线识别的切换、活体与非活体识别的切换; 任务描述: 1、负责整个 app 层的框架设计,业务模块的开发以及优化; 2、设计并实现 fmp 多帧活体检测
参与产品设计并独立完成移动端开发的美业系统,商家通过手机 app 配置店铺信息,客户与员 工通过设备端人脸识别进行下单、接单与结算; 商家版 app 使用 flutter 开发,使用 provider 与 rxdart 设计的 mvvm 模式,设备端采用安卓原 生开发;