我是一个很肤浅的人, 以前一直是照样画葫芦式的码代码, 虽然对第三方 SDK 接入和使用已经很娴熟, 比如获取短信验证 SDK, 分享 SDK, 支付 SDK 等, 同时对 bug 的定位也有跟多的方式去获取, 比如 Charles,LLDB 等, 但是你要让我去讲框架, 讲底层, 讲堆和栈, 讲线程, 讲算法, 讲原理, 讲 AFNetworking/SDwebImage 底层实现, 我真的不是很明白, 面试的时候提及我都不知道怎么回. 我承认我一直以来都没把它们当一回事. 我觉得会用就可以了, 很肤浅的一个人. 同时我也不知道对于这些知识自己要怎么入手, 要用背嘛? 我没明白, 但是我现在渐渐地找到了方向. 我打算从现在起好好努力.
框架的话, 我要做到框架叫什么会读, 会写, 另外框架的使用场景, 框架的特别事项, 包括底层实现等, 我都要心中有数.
底层的话, 下手方向是 CoreFoundation,Runtime,CFNetworking,Runloop,Autorelease pool, 我可以从阅读相关资料到自己上手代码, 然后再记一下其中的原理实现.
堆和栈的话, 暂时没有方向, 不过我要了解两者的区别和使用场景.
线程的话, GDC,NSOperation,NSThread, 我要好好学着怎么加锁解锁.
算法的话, 我现在起码明白算法是一直回溯去找到结果的, 这对我很有启发, 所以我买了本书, 虽然没读多少, 也完全懵逼, 但是我明白算法真的很实用.
原理的话, 我开始意识到了, 它的重要性, 是我面试某家公司一个面试官一席话问的我无地自容, 我问自己为什么平时一直用的 Bezier, 为什么没去了解过原理呐? 所以我也不能知其然不知其所以然.
AFNetworking/SDWebImage 底层实现的话, 我直接码一遍加上看一下文章讲解, 我想应该就问题不大了.
另外我以前听人说什么马甲包, 游戏 SDK 接入, 直播 App, 图片编辑 App 我都只是听听, 从来没想过去上手这样的项目, 不过随着我去认识它们, 我觉得它们不再离我遥远了, 原来我可以做很多, 也可以做得更好.
哈哈, 希望我自己会越来越喜欢编程.
来源: http://www.bubuko.com/infodetail-3074115.html