从大公司的职位要求也可以获得技术提升的目标。下面是华为,阿里巴巴云,Google,百度,阿里巴巴招聘职位中的要求,和Linux相关的部分我摘抄了一下。
华为
熟悉主流服务器虚拟化技术,有虚拟化软件开发经验。
具备良好的团队意识及创新思维、自我激励能力,善于与人合作;
具有良好的表达与沟通能力以及独立思考并解决问题的能力,能够熟练阅读和理解英文资料。
精通linux操作系统,有内核开发经验或者驱动开发经验;
做过搜索引擎,对算法设计/数据结构有深刻的理解;
对软件开发过程、软件工程、设计模式等深入的理解,对敏捷开发有独到见解。
熟悉嵌入式架构设计理论,能够理解和应用业界成熟的浏览器架构模型。
熟悉通信理论,对业界技术发展趋势有清晰的认识和理解。
熟悉软件工程/软件方法学,在以下软件领域有专长:底层驱动、操作系统、网络通讯协议等;
扎实的算法设计功底,深刻理解数据结构知识,丰富的程序设计经验。
精通一种以上的高级编程语言,有良好的编程习惯,熟练的程序设计和调试技能。
熟悉OOP理念,agile development及其它常见设计模式;
熟悉C/C++编程,有良好的数据结构及算法基础功底;
扎实的数据结构和算法设计能力;
阿里巴巴云
杰出的技术领导能力、沟通能力、协作能力;
关键的思考力和决策力;
熟悉Unix/Linux操作系统,4年或以上LINUX平台C/C++开发经验;
良好的分析问题和解决问题的能力;有大数据量或高性能系统的性能瓶颈分析和优化经验者优先;
有大规模分布式系统开发经验者优先;
•在计算机技术领域拥有扎实的技术功底,尤其在数据结构、算法和代码、软件设计方面功力深厚;
•具有丰富的使用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要求还要高一些。