面试IT业界顶尖企业所应该知道的10道题(1)
浏览:6913次 出处信息
题目: 现有一个包含一千万个单词的文本文件, 每个单词占一行, 每行小于1K字节. 要求找出出现次数最多的10个单词. 如果要从一千个这样的文件中找出出现次数最多的10个单词(所有单词加起来去重后不超过一千万个), 你会怎么设计?
难度: 10K
领域: 编码, 架构, 分布式
*** 解析 ***
这道题没有任何算法上的难度, 最简单的思路就是, 一次读取一行, 计数. 先从单个文件来考虑, 首先考察面试者最基本的用计算机解决简单问题的能力.
* Shell
如果面试者的简历提到 Linux Shell, 让其用一行 Shell 命令(sort, uniq)来解.
* 脚本语言
要求面试者用任何一种通用的脚本语言来解决, 例如 PHP, Python. 要求其手写出无语法错误的可执行的完全正确的代码, 考察其编码能力基本功.
假设单词是保存在 MySQL 数据库表中, 要求面试者用一条 SQL 语句来解, 考察其是否掌握 SQL, 以及 count(), group by, order by 等关键字的使用.
* 多线程, 多机解决的思路
将条件设置为有一千个或者更多的文件的情况, 如果面试者能主动想到如上方法的局限性和性能问题, 可以加分. 要求面试者分析出影响性能的瓶颈在哪.
如果面试者能想到多线程, 多机分布式, 要求其设计一个大致的方案.
建议继续学习:
- Java开发岗位面试题归类汇总 (阅读:18242)
- 面试题 – 为什么我的朋友圈不见了? (阅读:10610)
- 加州求职记 (阅读:10114)
- 整理了一份招PHP高级工程师的面试题 (阅读:9780)
- 海量数据面试题举例 (阅读:8965)
- 腾讯php程序员面试题目答案 (阅读:7487)
- 如何在面试中发现优秀程序员 (阅读:7200)
- 有道面试总结 (阅读:6433)
- IBM面试记 (阅读:6173)
- 聊聊ThoughtWorks面试 (阅读:6301)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:面试IT业界顶尖企业所应该知道的10道题(2)
后一篇:如何萃取海量数据的价值 >>
文章信息
- 作者:ideawu 来源: idea's blog
- 标签: 面试
- 发布时间:2011-06-02 23:23:06
建议继续学习
近3天十大热文
- [71] Twitter/微博客的学习摘要
- [65] IOS安全–浅谈关于IOS加固的几种方法
- [64] find命令的一点注意事项
- [64] android 开发入门
- [62] Go Reflect 性能
- [62] 如何拿下简短的域名
- [60] Oracle MTS模式下 进程地址与会话信
- [60] 流程管理与用户研究
- [57] 图书馆的世界纪录
- [57] 读书笔记-壹百度:百度十年千倍的29条法则