{"m1":["resume_head","resume_name","resume_base_info"],"m2":[],"m3":["resume_job","resume_edu","resume_work","resume_hobby","resume_skill","fdc5b0bd-bb54-45bf-8b05-a742d00a03c1","uuid38ef60e0-a6c3-4e36-8f3c-2abf7aec","977bb1c0-423d-42c9-b51f-b23d507b621d","resume_summary","resume_honor","resume_internship","resume_project","resume_portfolio"],"m4":[]}
.resume_main[data_color] .skill_item .skill_slider span::before{background-color:${color};}
.resume_main[data_color] .skill_slider s i{background-color:${relative_skill_color};}
.resume_main[data_color] .skill_style_01.skill_item .skill_slider s {border-color:${relative_skill_color};}
.resume_main[data_color] .skill_style_01.skill_item .skill_slider s i{background-color:${relative_skill_color};}
.resume_main[data_color] .skill_style_04.skill_item .skill_slider[data_level="average"] i,.resume_main[data_color] .skill_style_07.skill_item .skill_slider[data_level="average"] i{box-shadow:24px 0 0 ${relative_skill_color}, 48px 0 0 #ccc, 72px 0 0 #ccc, 96px 0 0 #ccc, 120px 0 0 #ccc;}
.resume_main[data_color] .skill_style_04.skill_item .skill_slider[data_level="good"] i,.resume_main[data_color] .skill_style_07.skill_item .skill_slider[data_level="good"] i{box-shadow:24px 0 0 ${relative_skill_color}, 48px 0 0 ${relative_skill_color}, 72px 0 0 #ccc, 96px 0 0 #ccc, 120px 0 0 #ccc;}
.resume_main[data_color] .skill_style_04.skill_item .skill_slider[data_level="advanced"] i,.resume_main[data_color] .skill_style_07.skill_item .skill_slider[data_level="advanced"] i{box-shadow:24px 0 0 ${relative_skill_color}, 48px 0 0 ${relative_skill_color}, 72px 0 0 ${relative_skill_color}, 96px 0 0 #ccc, 120px 0 0 #ccc;}
.resume_main[data_color] .skill_style_04.skill_item .skill_slider[data_level="expert"] i,.resume_main[data_color] .skill_style_07.skill_item .skill_slider[data_level="expert"] i{box-shadow:24px 0 0 ${relative_skill_color}, 48px 0 0 ${relative_skill_color}, 72px 0 0 ${relative_skill_color}, 96px 0 0 ${relative_skill_color}, 120px 0 0 #ccc;}
.resume_main[data_color] .skill_style_08.skill_item .skill_slider[data_level="average"] i{box-shadow:9px 0 0 ${relative_skill_color}, 18px 0 0 ${relative_skill_color}, 27px 0 0 ${relative_skill_color}, 36px 0 0 ${relative_skill_color}, 45px 0 0 ${relative_skill_color},54px 0 0 #ccc,63px 0 0 #ccc,72px 0 0 #ccc,81px 0 0 #ccc;}
.resume_main[data_color] .skill_style_08.skill_item .skill_slider[data_level="good"] i{box-shadow:9px 0 0 ${relative_skill_color}, 18px 0 0 ${relative_skill_color}, 27px 0 0 ${relative_skill_color}, 36px 0 0 ${relative_skill_color}, 45px 0 0 ${relative_skill_color},54px 0 0 ${relative_skill_color},63px 0 0 #ccc,72px 0 0 #ccc,81px 0 0 #ccc;}
.resume_main[data_color] .skill_style_08.skill_item .skill_slider[data_level="advanced"] i{box-shadow:9px 0 0 ${relative_skill_color}, 18px 0 0 ${relative_skill_color}, 27px 0 0 ${relative_skill_color}, 36px 0 0 ${relative_skill_color}, 45px 0 0 ${relative_skill_color},54px 0 0 ${relative_skill_color},63px 0 0 ${relative_skill_color},72px 0 0 #ccc,81px 0 0 #ccc;}
.resume_main[data_color] .skill_style_08.skill_item .skill_slider[data_level="expert"] i{box-shadow:9px 0 0 ${relative_skill_color}, 18px 0 0 ${relative_skill_color}, 27px 0 0 ${relative_skill_color}, 36px 0 0 ${relative_skill_color}, 45px 0 0 ${relative_skill_color},54px 0 0 ${relative_skill_color},63px 0 0 ${relative_skill_color},72px 0 0 ${relative_skill_color},81px 0 0 #ccc;}
.resume_main[data_color] .hobby_item .hobby_item_con .hobby_item_list a.alifont{border-color:${relative_hobby_color};color:${relative_hobby_color}; }
/* ������ */
.resume_main[data_color] .resume_cover .cover_html svg [data-svg="fill"] {fill:${color};}
.resume_main[data_color] .resume_cover .cover_html svg [data-svg="stroke"] {stroke:${color};}
.resume_main[data_color] .resume_letter .letter_html svg [data-svg="fill"] {fill:${color};}
.resume_main[data_color] .resume_letter .letter_html svg [data-svg="stroke"] {stroke:${color};}
.resume_main[data_color] .resume_letter .letter_html svg [data-fill="fill"] {fill:${color};}
.resume_main[data_color] .resume_cover[data-type="07"] .resume_cover_avatar{border-color: ${color};}
.resume_main[data_color] .resume_cover[data-type="07"] .resume_cover_content{background:${color}}
.resume_main[data_color] .resume_cover[data-type="07"] .cover_item_list a.alifont{color: ${color};}
.resume_main[data_color] .resume_cover[data-type="08"] .resume_cover_content::after{background:${color}}
.resume_main[data_color] .resume_cover[data-type="09"] .resume_cover_content{background:${color}}
.resume_main[data_color] .resume_cover[data-type="09"] .cover_item_list a.alifont{color: ${color};}
.resume_main[data_color] .resume_cover[data-type="10"]{background-color:${color}}
.resume_main[data_color] .resume_cover[data-type="11"] .resume_cover_content{background-color:${color}}
.resume_main[data_color] .resume_cover[data-type="14"]{background-color:${color}}
.resume_main[data_color] .resume_cover[data-type="15"]{background-color:${color}}
.resume_main[data_color] .resume_cover[data-type="19"] .resume_cover_word::before{background-color:${color}}
.resume_main[data_color] .resume_cover[data-type="20"]{background-color:${color}}
.resume_main[data_color] .resume_letter[data-type="06"]{background-color:${color}}
.resume_main[data_color] .resume_letter[data-type="12"]{background-color:${color}}
.resume_main[data_color] .resume_item dl dt span.resume_item_title_span,.resume_main[data_color] .name_item .name-con .name{color:${color};}
.resume_main[data_color] .resume_item dl dt{border-bottom-color:${color};}
.resume_main[data_color] .resume_item dl dt span.resume_item_title_span{color:${color};}
-
教育背景
-
2010.09-2014.06
锤子简历大学
信息与计算科学
主修课程:数学分析、高等代数、几何、概率统计、数学模型、 离散数学、模糊数学、实变函数、复变函数、微分方程、 物理学
-
工作经验
-
2018.04-至今
锤子简历公司
资深iOS开发工程师
工作描述:
- 独立负责公司iOS客户端app友德医用户端,友德医医生端两个端的技术调研与开发工作。
- 参与公司产品功能设计及实施工作,负责项目版本发布迭代与日常维护工作。
- 负责App的线上与内测版bug追踪,定位,并出解决方案与时间周期。
- 负责与后台的对接工作与开发文档的编写、维护和规范,针对项目性能优化与内存优化等问题。
2014.07-2017.12
锤子简历公司
iOS开发工程师
工作描述:
- 独立负责公司Fetus Camera客户端iOS研发与维护工作。
- 配合完成产品功能需求定义,技术实现,时间周期与相关技术预研,负责与硬件工作人员进行技术对接。
- 配合工作市场与销售给予技术支持,以及给予后期产品方向建议。
- 配合公司产品,运营及后台,给予技术支持。
-
个人评价
-
学习能力强,喜欢研究新知识,习惯纯代码开发,喜欢自己造轮子,写写简单的SDK,希望能走向全栈工程师的高度,执行力强。幽默,开朗,积极向上。能合理的掌控项目进度,恰当的分析项目工时,曾担任过项目组长。配合上级合理分配规划完成任务。看重深度的发展空间,技术是我的信仰。(接受PHP实习生岗位)
-
作品展示
-
+(支持jpg/png格式,单张图片不超过2M,最多支持添加8张图片)
-
项目经历
-
项目描述:- 友德医是针对病人用户的APP,该应用主要功能围绕病人就诊功能,包括线上问诊咨询,线下预约,购买问诊处方,药品等,以及延伸出的生活信息,健康指南,用药提醒等功能。
项目技术:- 自定义基类Controller,view,model以及基类方法。
- 使用MQTT搭配http实现IM模块的消息数据传输,处理业务复杂的IM模块UI层。
- 使用socket与Anychat实现视频聊天模块,处理文字与视频交换及其他业务逻辑。
- 配置React Native开发环境,接入React Native并进行桥接,修改部分RN的bug。
- JSLrcParser,WebViewJavascriptBridge原生与JS交互。
- 封装AFN网络请求,SDWebImage,GCDAsynSocket等第三方框架,避免与外部过多业务交互。
- 自定义view,cell,弹框alertview等,以及动画实现。
- 编写常用的分类方法,如给NSString添加计算文字高度方法。并使用runtime避免array越界崩溃,给按钮UIImageview添加url连接属性等。
- 单例模式管理Anychat,socket,http等模块。通知,代理,kvo实现业务层信息传输。
- 使用Analyze、instruments优化项目,根据线上itunes崩溃情况然后通过carsh定位线上崩溃bug。
- 其他:wechat,alipay第三方支付,talkingdata数据统计。
项目职责:- 独立负责友德医医生平台的前期开发。项目框架搭建、需求开发。适配各系统与各型号iPhone手机。
- 独立负责友德医用户端的项目开发,需求评审,版本迭代,发布。
- 重构友德医用户端,包括代码梳理,文件整理,性能优化,内存优化。对项目进行性能提升,代码解耦,解决列表卡顿,内容溢出,处理不可预计的crash等问题。
- 针对项目情况给予产品,测试,后台,运营等技术支持工作。
-
专业技能
-
- 擅长bug调试,坚持纯代码开发,擅长性能调优,多线程,解决内存,UI卡住计算代码耗时等问题,产品迭代维护,擅长业务逻辑层处理,核心动画,熟悉openGL,图形上下文,位图等,写过简单的SDK。了解jspatch hotfix。能带领团队管理项目开发进度,肯学习肯钻研,了解swift 面向协议编程,会制作动态静态库掌握ps,熟悉淘宝微信支付 ,熟悉电商订单支付业务,熟悉音视频业务,了解蓝牙,做过直播,智能家居等业务,做过蓝牙打印,二维码扫描,地图,socket,常见第三方分享登陆,友盟统计等,喜欢完善丰富用户体验,喜欢将产品做到极致。
- 熟练MVC、代理、观察者,单例等常用设计模式,熟悉掌握OOP思想,以及UIViewControlle的生命周期,了解runtime Method Swizzling。
- 熟练掌握各种UI控件且能够自定义控件,熟练KVO,KVC,BLOCK通知代理等,熟悉代码混淆app安全问题。
- 熟悉OC的内存管理机制。
- 熟练掌握xib,stroyboard布局ui界面。
- 熟练 iOS中多线程GCD,NSOperation, NSThread开发,熟练掌握网络通信协议,数据传输,JSON,XML数据解析 ,了解cookie,session机制。
- 熟练使用AFNetworking、FMDB、SDWebImage、ShareSDK,WebSoncket,GCDSoncket等第三方框架,熟悉chisel的LLDB ui调试技巧。
- 熟悉Autolayout布局,熟悉iOS7的适配。
- 熟悉SVN源代码管理器,会简单使用coopods,git。
- 良好的英文文档阅读能力。
- 了解数据结构,熟悉基本算法。
- 了解XMPP即使通讯。了解PHP,PYthon,java。
-
语言技能
-
- 软件技能:Ios,Office,Socket,MS Office,客户端,Sdwebimage,数据传输