中高级IOS开发者要思考的几点

1 先说OC部分

  • 既然作了两年了,对Objective-C足够了解吗?OC是如何基于C来进行的封装?解释一下这两行代码啥意思?设计模式

typedef __attribute__((NSObject)) CGGradientRef GradientObject;@property (nonatomic, strong) GradientObject storedGradient;
  • protocol、category这样的东西应该要手到擒来才是?多线程部分的知识点掌握是否扎实?runtime这种黑魔法研究过没?代码足够优雅、后续维护容易吗?各类设计模式也得会吧?缓存

2 再说UI部分

  • 既然写了两年的view,那么能快速仿造市面上这些主流App的UI吗?使用Reveal分析过微信、豆瓣、网易新闻、知乎、QQ、苏宁、淘宝、支付宝的UI吗?使用Charles去抓过他们的接口吗?安全

  • UI研究稍微深一点,好比侧滑菜单这种要怎么实现?若是你要作实现应该要了解UIView和UIViewController,UIViewController和UINavigationController的关系了吧?我嘞个草,UIView一堆方法,UIViewController一堆方法,到底都是干吗的啊?你难道很差奇?这块知识点一直是你的盲区,你能忍?我忍不了!性能优化

  • UIView再往深了看,下面还有CALayer,你研究过没?为何修改CALayer的某些property默认会有个动画产生呢?
    那么Animation、UIKit Dynamics、Drawing、Graphics这些随便拎出来一个,够你研究一阵了吧?你看看好比网易新闻,在新闻详情页面上拉,回到新闻列表页面的这个动画作的出来吗?你看看QQ在电话通讯页面,点击右下角缩放图标,缩放成一个头像的这种动画,你会作不?服务器

3 还有这些大的功能点

  • 既然用了两年第三方类库,那么好比图片缓存这类,看过源码实现没?若是本身来实现的话,有哪些Caching Algorithms?该怎么取舍?各类经常使用的第三方类库你研究过原理没?微信

  • 你的App在和服务器交流数据的过程当中安全性怎么样?你是否是要研究一下加解密?HTTP理解的够清楚吗?想没想过本身来写接口?或者更甚至一些本身来写个简易的HTTP服务器?接口部分甚至用CGI来实现也能够啊!网络

  • 要写服务器,那应该要了解一下网络部分吧?TCP/IP 协议得熟悉吧?而后Wireshark各类抓包得会吧?多线程

  • 网络这块顺带过来以后,即时聊天类的App采用的什么技术?选 xmpp 仍是 mqtt 仍是本身写?正好能够顺势了解一下吧!性能

  • iOS SDK里面的各类API你掌握到了什么程度?这些功能模块排除地图、通信录这种,说些高级的好比CloudKit、Extensions、TextKit、AirDrop、PassKit?以为这些模块在自家公司的项目中压根没用过?但是看看你手边的App!单元测试

4 其它专业化的方向

  • 视音频处理作过吗?此类诸如豆瓣FM、虾米音乐、喜马拉雅、QPlayer这类的App你去研究过他们吗?还有VoIP这类的,我实习的时候作过这种╮(╯_╰)╭

  • 游戏开发方向有没有兴趣?本身有没有去研究过呢?(反正这个我是真没有╮(╯_╰)╭)

5 项目安全优化等

  • 项目中写单元测试吗?UI Automation 自动化测试作的怎么样?持续集成平台诸如Jenkins等会用吗?

  • App的各类性能优化、Crash的统计分析等等你作了没?

  • App本地数据储存够安全吗?你对逆向了解多少?敏感部分是否作了代码混淆?

6 知识体系要持续更新

  • 官方的文档、国外的相关书籍采用的语言都是Swift,难道你不许备学学?除了native的,如今的HTML5也很火啊,难道不许备学?

  • 英文练习的怎么样了?官方全部的开发者文档以及历年的WWDC视频看完了?这么多书,这么多大牛的博客,你难道从中一无所得?

7 Swift 部分

    Swift比oc有哪些优点?高效、现代、安全体如今那些地方?为何Swift增加这么快?如今排名好像是11名。你用oc实现的功能能用Swift实现吗?若是能实现,它比oc的优点体如今哪些地方?

相关文章
相关标签/搜索