从大公司的职位要求也可以获得技术提升的目标。
下面是华为,阿里巴巴云,Google,百度,阿里巴巴招聘职位中的要求,和Linux相关的部分我摘抄了一下。
华为
熟悉主流服务器虚拟化技术,有虚拟化软件开发经验。
具备良好的团队意识及创新思维、自我激励能力,善于与人合作;
具有良好的表达与沟通能力以及独立思考并解决问题的能力,能够熟练阅读和理解英文资料。
精通linux操作系统,有内核开发经验或者驱动开发经验;
做过搜索引擎,对算法设计/数据结构有深刻的理解;
对软件开发过程、软件工程、设计模式等深入的理解,对敏捷开发有独到见解。
熟悉嵌入式架构设计理论,能够理解和应用业界成熟的浏览器架构模型。
熟悉通信理论,对业界技术发展趋势有清晰的认识和理解。
熟悉软件工程/软件方法学,在以下软件领域有专长:底层驱动、操作系统、网络通讯协议等;
扎实的算法设计功底,深刻理解数据结构知识,丰富的程序设计经验。
精通一种以上的高级编程语言,有良好的编程习惯,熟练的程序设计和调试技能。
熟悉OOP理念,agiledevelopment及其它常见设计模式;
熟悉C/C++编程,有良好的数据结构及算法基础功底;
扎实的数据结构和算法设计能力;
阿里巴巴云
杰出的技术领导能力、沟通能力、协作能力;
关键的思考力和决策力;
熟悉Unix/Linux操作系统,4年或以上LINUX平台C/C++开发经验;
良好的分析问题和解决问题的能力;有大数据量或高性能系统的性能瓶颈分析和优化经验者优先;
有大规模分布式系统开发经验者优先;
goole
•在计算机技术领域拥有扎实的技术功底,尤其在数据结构、算法和代码、软件设计方面功力深厚;
•具有丰富的使用C/C++或Java编程经验,两者皆熟练尤佳,在面向对象技术方面有较强经验者优先;
•在大规模系统软件的设计和开发方面有数年经验,对Unix/Linux有深入了解;
•如果有使用Python或Javascript/AJAX编程、数据库设计和SQL、TCP/IP以及网络编程等方面的经验,会进一步加深我们对您的兴趣;
•至少能用以下三种语言中的两种编程的很强的能力:Java、C++和Python
•很善长技术,在技术方面具有悟性
•丰富的分布式系统及架构知识,有多层关键业务系统经验者优先
•丰富的UNIX/Linux或Windows环境知识
•强有力的领导者,能调动和激励最优秀的软件工程师,同时又能获得他们的尊重。
•8年以上相关经验(包括为获得高级学历和/或经验而工作的时段)。
百度
-优秀的分析问题和解决问题的能力,对解决具有挑战性问题充满激情
-精通linux平台上的C/C++语言编程,熟悉shell编程
-熟悉网络编程、多线程编程技术,有相关系统开发和设计经验
-对数据结构和算法设计有较为深刻的理解
-对数据结构、算法设计、系统架构设计等有较为深刻的理解
-对大规模数据存储、传输、处理等有丰富的经验
-熟悉linux源代码、熟悉Apache源代码或者有相关开发经验
-具有强烈的进取心和求知欲,善于学习和运用新知识
-具有良好的分析和解决问题能力,对攻关疑难问题具有浓厚兴趣
-对数据结构和算法设计具有深刻的理解
-精通Linux/Unix平台上的C/C++语言编程,熟悉网络、多线程编程技术
-熟悉网络编程、多线程编程技术,有大规模系统开发和设计经验
-有分布式系统或并行计算相关工作经验
-对技术敏感而细致,乐于发现、分析和解决复杂问题
-善于学习新的知识,动手能力强,具有开拓创新精神
-良好的团队合作精神,较强的沟通能力
-自我管理能力强,有良好的时间意识
-优秀的分析问题和解决问题的能力,对解决具有挑战性问题充满激情
-精通linux平台上的C/C++语言编程,熟悉shell编程
-对数据结构和算法设计有较为深刻的理解
熟悉Linux系统及脚本语言perl/shell
-熟悉Linux/Unix系统、精通网络编程、多线程编程技术
-具有以下条件者优先:熟悉mysql数据库内核;具有大型sns系统架构设计经验,熟悉
-精通算法设计/数据结构/高性能运算/信息检索/数据库/web应用系统相关领域的技术
-具有出色的分析能力和攻关能力
-知识面广,思路开阔,掌握业界最新动态
阿里巴巴
2、擅长逻辑模型分析、设计,较强的抽象、概括、总结能力,善于发现、思考并能以产品的思路提出解决问题的方案;
3、精通面向对象的分析和设计技术,包括设计模式、UML建模等。
4、对各种开源的框架如Spring、Hibernate等有深入的了解,读过源代码者尤佳。
6、专注于技术,精益求精。
7、对业界的最新技术发展动态有比较密切的关注3、精通面向对象的分析和设计技术,包括设计模式、UML建模等。
从上面得出的结论:
1、在计算机基础方面:
1)对算法和数据结构要求比较高。
2、设计能力
1)对抽象、概括、总结能力由较高要求。
2)精通常用的设计模式。
3)UML建模。
4)建模能力。能够将实际的问题,抽象成一个模型(领域建模)。
5)掌握常用的重构手法。
3、面向对象
1)深入理解面向对象的思想。
4、思维能力
1)要求抽象能力很强。
2)分析问题和解决问题能力。
5、沟通力,领导力
1)要求较高,特别是针对高级的职位。
6、linux开发
1)Linux内核源码。
2)Linux操作系统。
3)网络编程。
4)shell编程。
5)多线程编程。
7、业务知识
1)掌握业务领域知识。
2)掌握业务发展趋势,最新动态。
8、软件工程
1) 熟悉软件工程。
2)注重敏捷开发,要求有独到见解。
9、学习能力
1)要求高
10、开发经验
1)高级工程师:3-5年。
2)架构师:6年以上。
3)Google要求还要高一些。