面试IT业界顶尖企业所应该知道的10道题(1)
2015-01-14 15:18
525 查看
题目: 现有一个包含一千万个单词的文本文件, 每个单词占一行, 每行小于1K字节. 要求找出出现次数最多的10个单词. 如果要从一千个这样的文件中找出出现次数最多的10个单词(所有单词加起来去重后不超过一千万个), 你会怎么设计?
难度: 10K
领域: 编码, 架构, 分布式
这道题没有任何算法上的难度, 最简单的思路就是, 一次读取一行, 计数. 先从单个文件来考虑, 首先考察面试者最基本的用计算机解决简单问题的能力.
* Shell
如果面试者的简历提到 Linux Shell, 让其用一行 Shell 命令(sort, uniq)来解.
* 脚本语言
要求面试者用任何一种通用的脚本语言来解决, 例如 PHP, Python. 要求其手写出无语法错误的可执行的完全正确的代码, 考察其编码能力基本功.
* SQL
假设单词是保存在 MySQL 数据库表中, 要求面试者用一条 SQL 语句来解, 考察其是否掌握 SQL, 以及 count(), group by, order by 等关键字的使用.
* 多线程, 多机解决的思路
将条件设置为有一千个或者更多的文件的情况, 如果面试者能主动想到如上方法的局限性和性能问题, 可以加分. 要求面试者分析出影响性能的瓶颈在哪.
如果面试者能想到多线程, 多机分布式, 要求其设计一个大致的方案.
难度: 10K
领域: 编码, 架构, 分布式
*** 解析 ***
这道题没有任何算法上的难度, 最简单的思路就是, 一次读取一行, 计数. 先从单个文件来考虑, 首先考察面试者最基本的用计算机解决简单问题的能力.* Shell
如果面试者的简历提到 Linux Shell, 让其用一行 Shell 命令(sort, uniq)来解.
* 脚本语言
要求面试者用任何一种通用的脚本语言来解决, 例如 PHP, Python. 要求其手写出无语法错误的可执行的完全正确的代码, 考察其编码能力基本功.
* SQL
假设单词是保存在 MySQL 数据库表中, 要求面试者用一条 SQL 语句来解, 考察其是否掌握 SQL, 以及 count(), group by, order by 等关键字的使用.
* 多线程, 多机解决的思路
将条件设置为有一千个或者更多的文件的情况, 如果面试者能主动想到如上方法的局限性和性能问题, 可以加分. 要求面试者分析出影响性能的瓶颈在哪.
如果面试者能想到多线程, 多机分布式, 要求其设计一个大致的方案.
相关文章推荐
- 面试IT企业的书单
- IT企业面试常见逻辑推理题智力题及详解答案(二)
- 一个合格程序员应该知道的8个IT基础设施术语
- 企业IT管理体系可借助于业界的最佳实践和标准
- 服装企业IT管理 应该这样当
- [思考]我们应该怎样建设企业IT
- 小娜学法:(10):王俊秀是什么人? 小娜知道,王俊秀毕业于中国政法大学法律系,是国内把IT技术引入大众传播领域的先驱者之一,是业界知名的学者。1998年任《信息产业报》总编,1999年8月起任《互联
- 【免费公开课】IT企业面试bar越来越高怎么办?如何应对?
- IT企业面试常见逻辑推理题智力题及详解答案(三)
- 工作在IT这个行当里你应该知道的10个小秘密 ZT
- IT企业新员工应该具有的基本素养
- IT企业新员工应该具有的基本素养
- 程序员应该知道的几个国外IT网站
- 我是27岁改行进入IT的,那些总说该怎么样怎么样的人,应该知道怎么做了吧! 现在开始还不晚!
- 硅谷IT企业面试风格漫谈II:FLAG
- IT人士应该知道的一个趋势-在线教育
- 程序员应该知道的几个国外IT网站【转】
- Self-introduction(最近准备IT企业英文面试的自我介绍)
- IT企业新员工应该具有的基本素养 推荐
- 项目经理应该知道的97件事--如何发现优秀的IT开发人员