ID:208781

Helios

高级IOS开发工程师

  • 公司信息:
  • 深圳市第一路演
  • 工作经验:
  • 5年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 深圳
  • 龙岗

技术能力

1、精通Objective-C、Swift语言,对runtime运行时机制原理有比较深入的了解。
2、熟悉相关热门框架的封装及原理:YYCache缓存机制、SDWebImage底层原理。
3、熟悉RxSwift函数响应式编程。
4、熟悉性能调优、内存管理、崩溃处理、卡顿检测。
5、熟练掌握常用设计模式、性能优化,Instruments,Analyze。
6、熟练FMDB数据库编程。
7、具备一定的设计与架构能力,并能结合项目定制化敏捷开发。
8、具备快速阅读源码、分析能力、平时有参与相关框架贡献。
9、具有一定的英语阅读能力,平时积极参与github以及一些热门框架论坛社区交流。
10、具备逆向开发能力

项目经验

一、【链头条】
1、信息流资讯产品,使用Swift语言开发,MVP架构。
2、使用WKWebView展示h5资讯,通过webView.evaluateJavaScript注入js代码,实现:改变字体颜色、显示百分比、改变图片大小,点击图片方法等功能。
3、短视频:通过UITableView+AVPlayerLayer配合实现;
每个UITableViewCell里都有一个AVPlayer,通过替换AVPlayerItem来替换视频源;
使用NSURLSession下载网络视频,同时实现:NSURLSessionTaskDelegate、 NSURLSessionDataDelegate方法,为视频播放器实时提供数据
AVPlayerLayer结合 AVAssetResourceLoaderDelegate 实现边下边播的效果;
播放过的短视频会缓存,增强用户体验。
4、视频:使用ZFPlayer框架,实现了类似微博的滑动播放功能。
通过继承ZFPlayer的ZFPlayerControlView,实现了播放界面的自定义
5、使用libwebp库提供的API处理webp格式图片(多媒体格式图片)
6、UITableView优化:
只加载正在显示的cell的图片;
在tableView中,利用了runloop的kCFRunLoopDefaultMode 和TrackingRunLoopMode,在tableview滑动结束的时候才加载图片,优化了流畅度。
7、使用SQLite数据库存储部分数据,加快展示速度以及保证无网状态下功能正常。
8、网络方面Alamofire + HandyJSON配合使用。

二、【必本搜索】
1、资讯产品(区块链方向),使用Swift语言开发,MVP架构。
2、通过Socket链接(Starscream框架),在回调方法websocketDidReceiveData中接收数据,实时更新列表数据。
3、Socket仅更新通过UITableView的 indexPathsForVisibleRows取得的正在显示的cell,减少界面刷新带来的性能损耗。
4、大量使用嵌套视图:UIScrollView嵌套UITableView等。
5、通过多代理的设计模式,灵活处理在嵌套界面中的Socket回调。
6、通过CHKLineChart绘制k线图,提供macd、kdj等多种k线,结合Socket实时绘制。
7、使用WKWebView展示h5页面,并通过其代理方法实现js与原生的互动。
8、集成腾讯QcloudTTS框架,实现朗读文章功能。
9、使用极光推送,多种推送类型,接收后跳转不同界面。

三、【着模】
1、短视频分享社区产品,使用Swift语言开发,MVP架构、RxSwift框架。
2、短视频拍摄使用七牛的PLShortVideoKit框架,实现了美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、视频剪辑、本地转码、视频上传功能。
3、使用kingfisher框架来处理图片加载,实现显示的谈出效果。
4、项目内各控件的初始化采用Then语法糖框架,简洁易读。
5、网络请求采用Moya+RxSwift+HandyJson组合

四、【秒音】
1、社交电商产品,使用OC语言开发,MVP架构。
2、通过融云SDK开发社交核心功能。
3、大量使用自定义消息,(继承自融云的基础消息类型RCMessageContent)实现了:红包消息、商息、店铺消息、推荐群消息、广告消息、发送小视频。
4、使用GCD多线程技术,开辟新线程,异步创建群聊头像,以降低卡顿感。
5、利用AFN实现网络数据加载,并且进行二次封装,降低耦合度。
6、通过YYCache实现部分页面缓存,加快载入速度。
7、使用FMDB存储数据,加快关键数据的读取速度。
8、引入AvoidCrash框架,拦截nil数组崩溃,降低app崩溃率。

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服