• 2011-04-15

    面试IT业界顶尖企业所应该知道的10道题(2)

    Views: 37711 | 7 Comments

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

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

    *** 解析 ***

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

    Continue reading »

    Posted by ideawu at 2011-04-15 20:55:42 Tags: ,
  • 2011-04-12

    面试IT业界顶尖企业所应该知道的10道题(1)

    Views: 40302 | 7 Comments

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

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

    *** 解析 ***

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

    Continue reading »

    Posted by ideawu at 2011-04-12 20:49:54 Tags: ,
  • 2011-03-31

    史上最强大的PHP Web面试题(会做就能进百度)

    Views: 71745 | 58 Comments

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

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

    Posted by ideawu at 2011-03-31 16:57:24 Tags:
  • 2010-10-15

    从腾讯”泄密门”谈程序员的职业化

    Views: 29758 | 10 Comments

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

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

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

    Continue reading »

    Posted by ideawu at 2010-10-15 21:24:34 Tags:
  • 2010-09-30

    工作的技术含量和程序员的个人价值

    Views: 26960 | 6 Comments

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

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

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

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

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

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

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

    Posted by ideawu at 2010-09-30 21:35:54 Tags:
  • 2010-09-05

    程序员的傲慢与偏见

    Views: 16038 | No Comments

    程序员拒绝一项技术(即使是一项非常优秀的技术), 坚持一个习惯(即使是一个拙劣的不好习惯), 很多时候仅仅是因为其内心的傲慢与偏见.

    为什么要用这种编程语言? 为什么要用这个库? 为什么要用Tab(或者一个空格, 两个空格, 三个空格, 四个空格, ..., 八个空格)缩进? 那样做有什么好处? 程序员这样问, 内心其实不期望答案, 任何的对"这些问题的"答案也没有用, 他仅仅是在向你表示, 他就是因为傲慢与偏见所以拒绝. 如果你真的想给出一个答案的话, 权利和服从就是最好的答案(答非所问才是最好的答案).

    为什么要重新发明轮子? 我可以给出重新发明轮子的十个优点: 我喜欢这么做; 发明轮子是最好的学习方式; 我发明的轮子一定会是更好的... 但是, 这些回答对于一个提出这种问题的傻瓜会有什么帮助吗? 他仅仅是因为傲慢与偏见才拒绝自己和别人重新发明轮子, 并不是他不知道重新发明轮子的好处.

    为什么一定要在if指令后面写花括号, 即使后面只有一行语句? 因为我写的是框架, 以后我再增加一行时, 我仅仅是增加一行, 而不是增加一行和额外的花括号. 你可以理解为我因为傲慢与偏见就喜欢这么做.

    所以, 对这种傲慢与偏见的提问, 除了权利和服从, 回答只有小学生的顺口溜 - "因为所以, 蜘蛛蚂蚁, 打雷下雨".

    我的一个同事曾经拒绝PHP和脚本语言, 当他使用grep/sed来分析HTML文本饱尝痛苦之后(上下文相关的正则表达式, 无法完全分析上下文相关的HTML), 我推荐他使用PHP. 仅仅一天, 他就完成了他的目标, 并且对PHP的赞美之情溢于言表. 他最开始为什么不使用PHP, 是因为他不会PHP吗? 是因为PHP无法做他所要做的事吗? 不是, 他写过PHP, 他知道有许多程序员在用PHP解决很多问题, 他仅仅是因为傲慢与偏见才拒绝PHP.

    傲慢与偏见不是程序员的专利, 它是人的原罪. 对于程序员, 认识到傲慢与偏见对我们产生的作用, 才能正确地分析问题.

    Posted by ideawu at 2010-09-05 22:03:40 Tags:
|<<<1234>>>| 1/4 Pages, 19 Results.