Apr 15

题目: 设计一个网站的后端系统, 网页带有一个输入框, 该输入框可进行输入提示, 如用户输入”a”, 会提示一个下拉列表, 把以”a”开头的若干单词列出来, 词库总共有一千万个英文单词.

难度: 12K
作者: ideawu
领域: Web, 算法, 架构

*** 解析 ***

这道题不太涉及编码, 主要是考察面试者知识面广度, 架构设计能力. 面试者做的设计不能太理论化, 也不能具体到代码级别, 应该利用图, 表, 文字, 对话等方式来解.

Continue reading »

Written by ideawu at 2011-04-15 20:55:42 | tags: ,

Apr 12

题目: 现有一个包含一千万个单词的文本文件, 每个单词占一行, 每行小于1K字节. 要求找出出现次数最多的10个单词. 如果要从一千个这样的文件中找出出现次数最多的10个单词(所有单词加起来去重后不超过一千万个), 你会怎么设计?

难度: 10K
作者: ideawu
领域: 编码, 架构, 分布式

*** 解析 ***

这道题没有任何算法上的难度, 最简单的思路就是, 一次读取一行, 计数. 先从单个文件来考虑, 首先考察面试者最基本的用计算机解决简单问题的能力.

Continue reading »

Written by ideawu at 2011-04-12 20:49:54 | tags: ,

Mar 31

注: 只要你会做了这道题目, 你的能力已经可以进入百度了! 如果别的部门不要你, 请你给我发邮件, 我一定尽我所能强烈推荐你! 如果你不想加入百度, 而别的公司又不要你, 只能说明那家公司瞎眼了.

题目: 见图片, 该图是某网页的一个区域的截图, 用于显示商品或者其它信息的分类. 该分类的每一项可以折叠和收起(展开和收缩, 如果有子分类的话). 分类的级数不固定. 现有一个PHP变量:

$cats = array(
    array(
        'id' => 1,
        'name' => '学术和教育',
        'children' => array(
            array(
                'id' => 2,
                'name' => '自然科学',
                'children' => null,
            ),
            // ...
        ),
    ),
    // ...
);

请写一段PHP代码, 将该数组所包含的分类数据生成一段能实现如图片所示功能的HTML/JavaScript代码, 可不考虑CSS样式.

———-

注解: 这道题目考察的范围非常广, 包括PHP, HTML, JavaScript, CSS, 递归, 只有真正掌握了如上几种全部技能, 才能实现完整的功能, 否则必须依赖分工. 应聘者所能实现的程度越大, 得分就越高.

如果应聘者的应聘职位不包括HTML/JS/CSS, 那么题目可改为: 把上面的PHP数据用缩进换行文本的形式保存到文件, 并读取文件生成一个同样的PHP数组.(自定义格式的序列化和反序列化)

看到这篇日志的读者, 如果已经做了出来, 并且个人想加入百度, 请在评论中回复URL并说明你的意愿, 我会主动联系你. 或者你可以把程序打包发给我.

Continue reading »

Written by ideawu at 2011-03-31 16:57:24 | tags:

Oct 15

最近, 网络上流传出了据说是腾讯公司的内部技术资料的”腾讯大讲堂”系列 PPT. 网友下载来看后, 发现确实是腾讯公司的内部资料, 但大多是 2007 年左右的. 这些 PPT 估计应该是腾讯公司用于新人培训的内部培训资料, 大多是各个产品线(如 QQ, QQ 邮箱等)的发展历史. 但里面还有一些可能敏感的不便公开的数据.

网友评论, 整体来说, 这些 PPT 没有多大技术含量, 也没有多少所谓的”秘密”. 腾讯之所以高度紧张, 大概是因为”怕丢人呗…”.

关于这些资料是如何流传出来的, 据说是腾讯公司某员工在得到这些资料后(几乎所有腾讯员工都可方便得到这些资料), 发到网络上作为技术资料和网友进行分享. 能进入腾讯公司的人, 大多具有较强的自学能力, 而网络就是他们学习的平台和”奶源”. 抱着取之于网络, 回报给网络的想法, 该员工也向网络”贡献”了他的知识.

Continue reading »

Written by ideawu at 2010-10-15 21:24:34 | tags:

Sep 30

最近在看 CCTV-2 的”公司的力量”, 我一直在思考公司有哪些力量? 人类个体能利用公司来实现什么? 今天正好在 twitter 上看到大辉关于技术含量的一句话, 我觉得和公司的力量有些联系.

@Fenng 说: “技术含量不在于多大多复杂,在于效率,在于细致。难道说浏览量高、数据多就有技术含量了?其实在我看来,反而是没啥含量的事情。总之,浮躁的人太多。尝试一点新东西弄点名词儿就是技术含量了?哪儿到哪儿阿…”

浮躁固然应该被摒弃. 事实上, 我不认同大辉关于技术含量的判定标准.

在我看来, 工作的技术含量的高低, 取决于这份工作所能操纵的资源的价值. 一份能操纵 100 万美元价值资源的工作比一份操纵 1 万美元价值的资源的工作更具有技术含量. 一个守着一亩三分地的中国农民, 即使他挥动镰刀的水平再好, 丰年比别人的收成多 20%, 旱涝保收, 也比不上使用大型机械设备的美国农场主的技术含量高.

个人价值往往和其所从事的工作所产生的价值挂钩. 工作所产生的价值越多, 就越能体现个人的价值. 而操作资源越多的工作往往能产生越多的价值. 套用上面那个例子, 是中国的农民个人生产的粮食多, 还是美国的农民个人生产的粮食多? 事实显而易见.

回到程序员身上来, 写出处理十亿日 PV 程序的程序员, 比写出处理一万日 PV 程序的程序员, 创造的价值更多, 前者的工作也比后者更有技术含量. 自从创办百度就从未写过一行代码的李彦宏, 他的个人价值比百度万名员工的价值更大, 他的工作比百度万名员工的工作更具有”技术含量”.

我想, 这就是公司的力量, 个人通过公司操纵了巨大的资源, 这是个人无法直接操纵的.

Written by ideawu at 2010-09-30 21:35:54 | tags:

Aug 28

百度公司作为业界领先的网络技术公司, 给员工提供了可观的薪水和具有挑战性的工作环境, 这吸引许多 IT 人士. 在 2007-2008 年, 百度的研发人员数量急剧扩张, 所以大学应届生进入百度的机率很大. 到现在, 百度的研发人员数量趋向饱和, 所以, 要加入百度的难道更大了.(更正一下, 多位百度的leader纷纷表示, 招聘缺口仍然很大!)

不过, 百度对技术人才的需求是无停止的. 在这里, 我要谈一谈应届生应聘百度成功的基本技术条件.

首先, 要有计算机思维, 理解计算机各个硬件的角色和作用, 具有程序逻辑思维能力. 一旦理解了计算机系统的本质, 又具有了程序逻辑思维能力, 所有的现存的公开的技术点都不是难题, 只是时间的问题.

Continue reading »

Written by ideawu at 2010-08-28 13:29:45 | tags: