360 php 面试题

发布于 2021-11-24 12:48:28 字数 222 浏览 776 评论 12

1. 100万条记录的文本文件,取出重复数最多的前10条。
示例文本:
098
123
234
789
……
234
678
654
123
2. 100亿条记录的文本文件,取出重复数最多的前10条。
刚才是100万的数据,你的计算机可以单批正常处理,现在有100亿的数据,假设由于你的计算机内存、cpu限制,无法单批处理  …

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

悸初 2021-12-01 04:49:10

PHP不是处理不了,只是在这种场景中性能差而已。

醉生梦死 2021-12-01 04:49:06

回复
是的。面试腾讯的时候,人家也说明可用C,C++,Perl,Python,shell解决。没有限制PHP。 我的思路是要切割处理的。否则人家要求。机器内存1G。考虑效率。这玩意没法完成。

网名女生简单气质 2021-12-01 04:45:19

c或c++还凑合,php就免了...性能差等于没有可行性。

风柔一江水 2021-12-01 04:37:29

这是在考用php处理这么大的文本吗? 用c语言处理差不多(机器也要接近当机),php考这样的题有毛病 ,十有八九不是真心招人,耍你呢。还是直接走人吧,免得浪费时间。

命硬 2021-12-01 04:29:56

问题很不详细啊

执手闯天涯 2021-12-01 04:27:46

恩,我写了解法(几个PHP文件),放到了这里:http://songyy.me/large_file_process.zip

其中可以用gen_script.php来生成数据(理论上100亿的数据,也就是1e10的数据量,按照每行四个字节来算,有40G,所以你可以调整参数生成小一点的数据文件。打包里面附送的是我生成好的12M左右的数据文件),然后运行parse_script.php就好了。我是在Ubuntu下面做得;不过我感觉你要是用Windows,并且PHP路径设置正确的话,应该也可以直接运行。

卸妝后依然美 2021-12-01 04:21:14

前几天去腾讯考的一样的题,只不过每行一个qq号码

别低头,皇冠会掉 2021-12-01 03:55:56

只说信息条目,没说总信息量。

如果全部都只有3位数字。都好办。 

画骨成沙 2021-12-01 03:08:21

不知道他们能给多少? 外面给1W5的应该没这么高的要求

悲喜皆因你 2021-11-30 23:02:09

@RickyFeng 呵呵,这类题目的关键是理解 PHP的内存机制及使用,以及文件IO的用法

归途 2021-11-26 15:20:37

@hokim 好象你当年那条题

緦唸λ蓇 2021-11-25 02:24:17

分解统计->数据合并->排序->前十条ok

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文