悟空-三年-iOS工程师

微信:shanyue-bot | 18334567890 | me@shanyue.tech | shfshanyue | https://shanyue.tech

教育经历

  • 山西⼤学 硕士 2012-2015
  • 山西大学 本科 2008-2012

个人技能

  • 精通 Swift 和 Objective-C,熟练使用 SwiftUI 和 UIKit
  • 深入理解 iOS 系统架构和应用程序生命周期
  • 熟练使用 MVVM、VIPER 等架构模式,以及 RxSwift、Combine 等响应式编程框架
  • 熟悉常用的第三方库,如 Alamofire、SDWebImage、Core Data 等
  • 了解 Flutter 跨平台开发技术
  • 熟悉 iOS 性能优化技巧,能够进行内存优化、电量优化等
  • 熟练使用 Git 进行版本控制,了解 CI/CD 流程

工作经历

水风科技 2019-2023

山月科技 2016-2019

项目经历

XXX iOS 应用

技术栈: Swift/SwiftUI/Combine/Core Data/Alamofire/Kingfisher/XCTest

职责以及难点:

  1. 主导应用架构重构,从传统 MVC 迁移到 MVVM 架构。使用 Combine 实现数据绑定和响应式编程。通过架构优化,代码可维护性提升 60%,bug 数量减少 40%。

  2. 实现 SwiftUI 声明式 UI,重构 80% 的传统 UIKit 视图。开发自定义 SwiftUI 组件库,提高 UI 开发效率 120%。优化 SwiftUI 性能,使用 @State 和 @ObservedObject 减少不必要的视图更新,提升 UI 渲染性能 50%。

  3. 设计并实现离线优先的数据同步策略。使用 Core Data 持久化本地数据,结合 Background Tasks 框架实现后台同步。开发增量同步算法,减少 85% 的数据传输量。实现冲突解决机制,确保多设备数据一致性。

  4. 优化网络层,使用 Alamofire 实现高效的 API 调用。实现请求重试、缓存和并发控制策略。集成 Combine,实现响应式的数据流处理。通过优化,网络请求成功率提升 20%,平均响应时间减少 50%。

  5. 实现模块化架构,将应用拆分为 20+ 个独立模块。使用 CocoaPods 和 Swift Package Manager 管理依赖,支持动态功能模块。通过模块化,编译时间减少 60%,团队协作效率提升 40%。

  6. 优化应用启动性能,实现冷启动时间从 2.5 秒减少到 0.8 秒。使用 dyld 3 优化动态库加载,实现懒加载和并行初始化。通过 Instruments 分析启动过程,优化主线程耗时操作。启动速度提升 70%,用户体验显著改善。

  7. 设计并实现本地数据加密方案,保护用户敏感信息。使用 Keychain Services 安全存储密钥,实现 AES 加密算法。开发加密数据库,确保本地存储的安全性。通过安全审计,应用获得 Apple 的安全认证。

  8. 优化大型列表性能,实现 10 万+ 数据的流畅滚动。使用 UICollectionView 和 Diffable Data Source 优化列表更新逻辑。实现自定义布局,支持复杂的布局需求。通过性能优化,列表滚动帧率提升到稳定 60fps。

  9. 实现应用内搜索引擎,支持全文检索和模糊匹配。使用 Core Spotlight 框架实现高效索引。开发自定义分词算法,提高中文搜索准确率。搜索响应时间从 400ms 优化到 40ms。

  10. 设计并实现推送通知系统,集成 APNs (Apple Push Notification service)。开发本地通知调度器,支持离线通知和定时通知。实现通知分组和富文本通知,提高用户交互率 30%。

  11. 优化图片加载和缓存策略,使用 Kingfisher 实现高效的图片加载。开发自定义图片处理流水线,支持复杂的图片处理需求。通过优化,图片加载速度提升 40%,内存占用减少 25%。

  12. 实现应用内暗黑模式,支持动态切换和跟随系统设置。开发主题管理系统,支持自定义主题色。使用 SF Symbols,确保图标的一致性。用户使用暗黑模式的比例提升 50%,提高电池续航。

  13. 设计并实现客户端数据统计和埋点系统。使用 URLProtocol 实现无侵入式网络埋点。开发本地事件缓存和批量上报机制,减少网络请求 60%。实现实时数据分析面板,为产品决策提供数据支持。

  14. 优化内存管理,解决内存泄漏和过度使用问题。使用 Instruments 的 Leaks 和 Allocations 工具检测和修复内存问题。实现大图片压缩和内存缓存策略。通过优化,应用崩溃率降低 90%,内存占用减少 35%。

  15. 实现应用内多语言支持,支持动态切换 15+ 种语言。使用 Localization 系统管理翻译文本。开发翻译管理工具,支持在线编辑和自动翻译集成。通过本地化,应用在海外市场的下载量增长 60%。

  16. 设计并实现应用内支付系统,集成 StoreKit 2 实现应用内购买。开发订阅管理和交易记录模块。实现支付流程的容错和恢复机制。通过优化,支付成功率提升 25%,用户付费转化率增长 20%。

  17. 优化应用安全性,实现证书绑定防止中间人攻击。使用代码混淆技术增加逆向难度。实现越狱检测机制。通过安全加固,应用通过 App Store 的安全审核,获得 Apple 安全认证。