想从事与搜索相关的研发工作,需要哪些知识。带着这个疑问,我查看了包括Google,Baidu,Yahoo,腾讯,Sohu,Sina,阿里巴巴等公司的招聘信息。自我总结如下:
- 为什么要从事研发工作?
- 在公司处于核心地位;
- 把研究和开发紧密而完美的结合在一起;
- 研发职责是什么?
- 负责搜索引擎系统的架构设计以及核心模块的系统设计;
- 进行搜索引擎系统核心模块的编码和技术研发;
- 重点技术难题的攻关;
- 想从事研发工作,需要什么?
- 强烈责任心,开放的性格,良好的沟通能力;拥有极强的发现问题、分析问题、解决问题的能力;
- Fluency in English(Reading and Writing);
- 对算法设计、数据结构有深刻的理解;
- 精通Linux/Unix平台上的C/C++语言编程,熟练使用调试工具;熟悉网络、多线程编程技术(熟悉Unix系统调用io, socket, process, signal);如果懂Java,将更好;
- 能够使用一种脚本语言(perl,shell或者python);
- 具有搜索、信息检索相关领域开发经验者优先;
- 至少熟悉一种数据库系统,你可以选择MySql作为自己重点攻克的对象。
- 想成为架构师,还需要什么?
- 熟悉分布式系统架构设计,具备大流量、大访问量、高负载环境下的系统开发及优化经验;
- 知识面广,思路开阔,对业界的最新技术发展动态有比较密切的关注;
- 对软件开发生命周期比较熟悉,具备较强的文档编写能力及项目管理能力。