跳槽,面试,进阶,加薪;这些字眼,相信每位程序员都不陌生!但是方向的选择,却不知如何抉择!其实最好的方向,已经在各个企业面试需求中完美的体现出来了;本文展示了2份面试需求,以及方向的总结,希望对读者有所帮助
2份面试需求
- 熟练组件化架构,有较强的解耦能力,深刻理解设计模式undefined
- 熟悉常用的网络通信协议,如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提高用户体验、性能调优、防崩溃、节省流量等的方法有深入了解;
- 良好的编程习惯,逻辑清晰,认真细致,良好的沟通能力,主动的沟通意识;
- 较强的自学能力、自我驱动力、强烈的探索欲。
总结:需要掌握了解的技术点
- 架构模式,编程思想,设计模式
- 底层进阶,深层理解
- 三方框架要知其然,而知其所以然
- 多线程与网络
- 内存管理,性能优化
- 数据结构和算法
- 音视频方向
- 逆向方向
相信看完,也许发现这些技术领域自己可能都知道,却没行动学习起来,或者没坚持下来!!正如“大道理都懂,但是依然过不好这一生”
最后说一句:请合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间"来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!