前言:
跳槽,面试,进阶,加薪;这些字眼,相信每位程序员都不陌生!
但是方向的选择,却不知如何抉择!其实最好的方向,已经在各个企业面试需求中完美的体现出来了;
本文展示了2份面试需求,以及方向的总结,希望对读者有所帮助
2份面试需求
熟练组件化架构,有较强的解耦能力,深刻理解设计模式
熟悉常用的网络通信协议,如http、tcp、udp等,了解socket通信机制
熟练使用Objective-C,熟悉iOS的内存管理机制和多线程开发,或具有良好的C/C++语言基础,了解内存和指针概念,对于优化程序的性能有一定经验;
有较强的英语能力,拥有良好的代码规范
有研读源码的能力:objc runloop dispacth ...
有较强的三方能力,知其然而知其所以然
有OpenGL,OpenGLES,FFmpeg 底层音视频开发者优先
有逆向开发经验优先考虑
了解算法,数据结构
熟练组件化架构,MVP,MVVM,MVC,ROUTER有较强的理解;
熟练掌握Objective-C语言,理解面向对象编程思想,具有较强的设计能力;
熟练掌握APNS、UI布局、数据库、网络等开发技术;
深入理解Objective-C Runtime、RunLoop等基础原理;
对App提高用户体验、性能调优、防崩溃、节省流量等的方法有深入了解;
良好的编程习惯,逻辑清晰,认真细致,良好的沟通能力,主动的沟通意识;
较强的自学能力、自我驱动力、强烈的探索欲。
总结:需要掌握了解的技术点
架构模式,编程思想,设计模式
底层进阶,深层理解
三方框架要知其然,而知其所以然
多线程与网络
内存管理,性能优化
数据结构和算法
音视频方向
逆向方向
相信看完,也许发现这些技术领域自己可能都知道,却没行动学习起来,或者没坚持下来!!正如“大道理都懂,但是依然过不好这一生”
最后说一句:请合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间"来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!