百度公司作为业界领先的网络技术公司, 给员工提供了可观的薪水和具有挑战性的工作环境, 这吸引许多 IT 人士. 在 2007-2008 年, 百度的研发人员数量急剧扩张, 所以大学应届生进入百度的机率很大. 到现在, 百度的研发人员数量趋向饱和, 所以, 要加入百度的难道更大了.(更正一下, 多位百度的leader纷纷表示, 招聘缺口仍然很大!)
不过, 百度对技术人才的需求是无停止的. 在这里, 我要谈一谈应届生应聘百度成功的基本技术条件.
首先, 要有计算机思维, 理解计算机各个硬件的角色和作用, 具有程序逻辑思维能力. 一旦理解了计算机系统的本质, 又具有了程序逻辑思维能力, 所有的现存的公开的技术点都不是难题, 只是时间的问题.
其次, 重视 C 语言编程能力, 特别是字符串处理和网络编程能力. 百度是一个网络技术公司, 百度要处理的绝大部分数据都是网络上的文本(如 HTML), 所以, 应届生的字符串处理能力和网络编程能力, 是成功加入百度的最有利条件. 有一个比较简单的的衡量方法, 比如, 如果你会用 C 语言编程解析 HTTP 报文, 并能通过网络和现存的 Web 服务器(网站)和浏览器交互, 也就是说, 你可以用 C 语言编写 HTTP Server 和 HTTP Client, 我相信, 没有哪一个百度的面试人员不让你通过技术关. 在实践之前, 你要有理论支持, 所以网络结构, TCP/IP 协议, 这些你都需要黯熟于心.
其次, 是面向对象思想. 我更倾向于把面向对象看作是一种建模和分析技术, 而不是一种编程技术. 面向对象技术, 是计算机面向现实世界的技术, 也是计算机逻辑思维的扩展. 有一些具体的方法可以培养面向对象思想, 比如学习(但不要只学习) Java 语言, 阅读经典的设计思想的书籍. C 语言可以做到面向对象, 特别是当 C 语言要做成的功能非常脱离硬件时, C 语言的面向对象性更能体现. 你也应该学习 C++, 因为 C++ 被大量用到了, 它被用到, 是因为可以把它当作带类的 C 语言, 而不是因为它是面向对象的.
再次, 你要掌握几门动态语言编程能力, 特别是 PHP. 在 Web 开发方面, PHP 是绝对的王者, 作为日常工具也可以胜任. 你还可以学习 JavaScript, 它很优美, 只是应用范围太窄, 几乎只有浏览器网页开发才用到. 你还应该学习 Python, 这可以做的事超过 PHP 等脚本语言, 但在 PHP 所擅长的 Web 开发领域的应用不如前者广泛. 再次提到 PHP, 百度大概 80% 的研发人员都使用过它. 动态语言, 比如 PHP, 在一个较大的项目中, 往往作为 C/C++ 模块的网页接口, 并不是做全部的工作.
最后, 学术专业能力. 学术专业能力也非常重要, 在百度需要的某个领域非常优秀的人员, 百度可能只考察他/她的专业, 而可以容忍前面提到的几个方面. 不过, 百度的技术环境毕竟是工程师文化, 从工程师方面来考虑更大众. 而且, 在学术专业方面, 我无法给你更多建议.
来自:http://www.ideawu.net/blog/archives/536.html