1、rdd的5大特性:

Spark之RDD的定义及五大特性 - |旧市拾荒| - 博客园

2、Hive分桶和分区的区别:

https://blog.csdn.net/u010003835/article/details/80911215

3、Hive表动态分区和静态分区

https://blog.csdn.net/opensure/article/details/46537969

https://hero78.blog.csdn.net/article/details/80382174

4、一个Hive表,数据量很大,分布在集群的100个节点,现在需要定期取top100,如何设计/实现:

个人答案:先对100个节点的数据求top100,然后将数据导入1张表,再对该表求top100;

5、窗口函数

hive窗口函数必备宝典_dingchangxiu11的博客-CSDN博客_hive窗口函数

窗口函数--配合over(...)的选项 rows/range between ... preceding and ... following--工作备忘2016/9/30_Richie's 残酷舞台-CSDN博客

Hive开窗函数总结_Abysscarry的博客-CSDN博客_hive的开窗函数

6、hive sql和spark sql底层执行流程?

HIVE源码(1):HQL 是如何转换为 MR 任务的 - 秋华 - 博客园

Spark SQL的底层执行流程_蓝色校服的岁月的博客-CSDN博客_sparksql的执行流程

一文读懂Spark SQL运行流程 - 知乎

6、Spark任务的执行流程

Spark任务执行流程_wlk_328909605的博客-CSDN博客_spark执行任务的流程

Spark(五)Spark任务提交方式和执行流程 - Frankdeng - 博客园

spark集群的任务提交执行流程_bokzmm的博客-CSDN博客_spark执行流程

7、Spark和MapReduce

1)MapReduce和Spark的区别

mapreduce与spark的区别--内容详细_wyz0516071128的博客-CSDN博客

spark与mapreduce的区别 - db_record - 博客园

2)为什么Spark比MapReduce快

为什么Spark比MapReduce快?_数仓大山哥的博客-CSDN博客

为什么Spark运行比MapReduce快_寞逍遥的博客-CSDN博客_spark为什么快

 为什么Spark比MapReduce快_大数据从入门到放弃的博客-CSDN博客

百度面试总结:spark比MapReduce快的原因是什么?(比较完整)_道法—自然的博客-CSDN博客_spark比mapreduce处理速度快的原因不包括哪一项

8、cache和persist的区别

每次进步一点点——spark中cache和persist的区别_housir的专栏-CSDN博客

9、什么是宽窄依赖

Spark 宽窄依赖 - Earendil - 博客园

Spark宽窄依赖详解_modefrog的博客-CSDN博客_spark宽窄依赖

10、1)shuffle的过程描述一下

https://blog.csdn.net/kaede1209/article/details/81953262

hadoop shuffle:

https://blog.csdn.net/shujuelin/article/details/83992061

spark shuffle:

https://blog.csdn.net/weixin_42868529/article/details/84622803

https://blog.csdn.net/quitozang/article/details/80904040

2)MR的shuffle和Spark的shuffle之间的区别

MapReduce Shuffle 和 Spark Shuffle 区别看这篇就够了_reduce

https://blog.csdn.net/wuwang1988/article/details/80131728

https://blog.csdn.net/m0_37803704/article/details/86174267

11、增量合并具体是怎么实现的你了解吗?如果让你来实现的话你怎么写

大数据量增量同步方案杂谈【面试+工作】

12、flink和spark streaming有什么区别

https://blog.csdn.net/xianpanjia4616/article/details/85076247

干货 | Spark Streaming 和 Flink 详细对比

13、spark streamiing相比flink有什么优点

https://blog.csdn.net/mojir/article/details/96033432

14、udf和udaf

https://blog.csdn.net/xiaofengguojiangnan/article/details/80059703

15、spark你常用的参数设置有哪些
        set spark.sql.adaptive.enabled              = true;
        set spark.sql.adaptive.join.enabled         = true;
        set spark.sql.adaptive.skewedJoin.enabled   = true;  --自动处理 Join 时数据倾斜
        set spark.sql.parser.quotedRegexColumnNames = false;

Spark开发常用参数 - XIAO的博客 - 博客园

Spark常用参数解释及建议值_淡淡的倔强的博客-CSDN博客_spark常用参数

16、Hive的order by和sort by什么区别,都有哪些应用场景

Hive中Order by和Sort by的区别是什么?_春华秋实-CSDN博客

https://blog.csdn.net/qq_40795214/article/details/82190827

https://jthink.blog.csdn.net/article/details/38903775

17、Hive的distribute by和group by有什么区别

Hive:distribute by与group by,order by与sort by , cluster by的区别_云舒s的博客-CSDN博客

18、Dataframe和RDD有什么区别

RDD和DataFrame和DataSet三者间的区别_乌镇风云的博客-CSDN博客_rdd和dataframe有什么区别

https://blog.csdn.net/wo334499/article/details/51689549

https://blog.csdn.net/weixin_39793644/article/details/79050762

https://blog.csdn.net/weixin_39793644/article/details/79050762

19、Flink的原理

https://blog.csdn.net/sxiaobei/article/details/80861070

https://blog.csdn.net/oTengYue/article/details/102689538

20、数仓分层了解吗

数仓分层_吗达拉的博客-CSDN博客_数仓分层及各层作用

21、数仓建模除了维度建模还有其他的吗

数仓理论之关系建模与维度建模_ITBOY_ITBOX博客-CSDN博客_关系建模和维度建模区别

22、数仓的特性讲一下

数据仓库具有四个主要特性_guanyi的博客-CSDN博客_数据仓库的四大特点

23、你真的了解全量表,增量表及拉链表吗?

你真的了解全量表,增量表及拉链表吗?_我的祖传代码-CSDN博客

24、数据仓库中的维表和事实表

数据仓库之维度表和事实表_不言尘世-CSDN博客_维度表和事实表

25、.数据倾斜有哪几种优化思路?

https://segmentfault.com/a/1190000009166436

https://segmentfault.com/a/1190000021439076?utm_source=sf-similar-article

26、考虑一个100亿数据的表关联一个10亿数据的表,如何优化

过滤、分桶

27、HashMap的底层原理

HashMap 的底层原理 - holyqueen - 博客园

java提高篇(二三)-----HashMap - chenssy - 博客园

28、去重都有哪些方式?

distinct、group by、row_number、hive的collect_set()

https://www.nowcoder.com/discuss/165412

29、数据量特别大的情况下(例如10g、100g、1t)如何用mr实现全局排序

数据量很大的排序问题 大量数据如何排序_pan_jinquan的博客-CSDN博客

https://www.nowcoder.com/discuss/165412

30、flatmap算子的理解,flat原理,返回类型?(iterator)

Spark2.3 RDD之flatMap源码解析_DPnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnice的博客-CSDN博客

https://www.nowcoder.com/discuss/165412

31、hive的metastore的三种模式

https://www.nowcoder.com/discuss/165412

32、hive join的类别(方式)?

Hive的三种Join方式 - Raymoc - 博客园

https://www.nowcoder.com/discuss/165412

33、对一组数据频繁插入删除,选哪种数据结构

堆---实现最小堆及堆的插入与删除_江城的博客-CSDN博客_堆插入

34、MR中的map具体流程

MapReduce 图解流程超详细解答(1)-【map阶段】 - 五三中 - 博客园

35、MR的map阶段完成了几次排序?

mapreduce过程发生多少次排序_Peanut的博客-CSDN博客_mapreduce有几次排序

36、海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)

https://blog.csdn.net/zyq522376829/article/details/47686867

37、hdfs读写流程

hadoop hdfs 读写流程_lsp的博客-CSDN博客_hdfs读写流程

38、hdfs的体系结构

HDFS体系结构及常见功能_cp_Mark的博客-CSDN博客

39、一个datanode 宕机,怎么一个流程恢复

Datanode宕机了后,如果是短暂的宕机,可以实现写好脚本监控,将它启动起来。如果是长时间宕机了,那么datanode上的数据应该已经被备份到其他机器了,那这台datanode就是一台新的datanode了,删除他的所有数据文件和状态文件,重新启动。

40、hadoop 的 namenode 宕机,怎么解决

先分析宕机后的损失,宕机后直接导致client无法访问,内存中的元数据丢失,但是硬盘中的元数据应该还存在,如果只是节点挂了,重启即可,如果是机器挂了,重启机器后看节点是否能重启,不能重启就要找到原因修复了。但是最终的解决方案应该是在设计集群的初期就考虑到这个问题,做namenode的HA。

41、namenode对元数据的管理

NameNode元数据管理机制_dlrb_beautiful的博客-CSDN博客_namenode元数据管理

Hadoop中NameNode元数据管理机制解读

NameNode管理元数据的机制_汤小萌的博客-CSDN博客

42、yarn资源调度流程

Yarn资源调度工作原理_sxiaobei的博客-CSDN博客_yarn资源调度

https://blog.csdn.net/yunpiao123456/article/details/51802986

43、hadoop中combiner和partition的作用,分别举例什么情况要使用 combiner,什么情况不使用?

MapReduce:Combiner,partition的作用_Rnan_prince的博客-CSDN博客

MapReduce: combiner_北京小辉-CSDN博客

哪些场景才能使用Combiner?-三伏磨

44、用mapreduce怎么处理数据倾斜问题?

MapReduce如何解决数据倾斜问题_wyqwilliam的博客-CSDN博客_mapreduce数据倾斜

用mapreduce怎么处理数据倾斜问题_复姓独孤的博客-CSDN博客_mapreduce数据倾斜

45、Mapreduce 的 map 数量 和 reduce 数量是由什么决定的 ,怎么配置

Hive mapreduce的map与reduce个数由什么决定?_lihuazaizheli的博客-CSDN博客_hive map数量由什么决定

46、MR运行流程解析

MR 运行原理_首席撩妹指导官的博客-CSDN博客_mr的原理

MapReduce的分区分组问题_mys_35088的博客-CSDN博客

47、HDFS数据安全性如何保证

  1. 存储在HDFS系统上的文件,会分割成128M大小的block存储在不同的节点上,block的副本数默认3份,也可配置成更多份;

  2. 第一个副本一般放置在与client(客户端)所在的同一节点上(若客户端无datanode,则随机放),第二个副本放置到与第一个副本同一机架的不同节点,第三个副本放到不同机架的datanode节点,当取用时遵循就近原则;

  3. datanode已block为单位,每3s报告心跳状态,做10min内不报告心跳状态则namenode认为block已死掉,namonode会把其上面的数据备份到其他一个datanode节点上,保证数据的副本数量;

  4. datanode会默认每小时把自己节点上的所有块状态信息报告给namenode;

  5. 采用safemode模式:datanode会周期性的报告block信息。Namenode会计算block的损坏率,当阀值<0.999f时系统会进入安全模式,HDFS只读不写。HDFS元数据采用secondaryname备份或者HA备份

48、在通过客户端向hdfs中写数据的时候,如果某一台机器宕机了,会怎么处理

在写入的时候不会重新重新分配datanode。如果写入时,一个datanode挂掉,会将已经写入的数据放置到queue的顶部,并将挂掉的datanode移出pipline,将数据写入到剩余的datanode,在写入结束后, namenode会收集datanode的信息,发现此文件的replication没有达到配置的要求(default=3),然后寻找一个datanode保存副本。

49、Hadoop优化有哪些方面

0)HDFS 小文件影响

(1)影响 NameNode 的寿命,因为文件元数据存储在 NameNode 的内存中

(2)影响计算引擎的任务数量,比如每个小的文件都会生成一个 Map 任务

1)数据输入小文件处理:

(1)合并小文件:对小文件进行归档(Har)、自定义 Inputformat 将小文件存储成SequenceFile 文件。

(2)采用 ConbinFileInputFormat 来作为输入,解决输入端大量小文件场景。

(3)对于大量小文件 Job,可以开启 JVM 重用。

2)Map 阶段

(1)增大环形缓冲区大小。由 100m 扩大到 200m

(2)增大环形缓冲区溢写的比例。由 80%扩大到 90%

(3)减少对溢写文件的 merge 次数。(10 个文件,一次 20 个 merge)

(4)不影响实际业务的前提下,采用 Combiner 提前合并,减少 I/O。

3)Reduce 阶段

(1)合理设置 Map 和 Reduce 数:两个都不能设置太少,也不能设置太多。太少,会导致 Task 等待,延长处理时间;太多,会导致 Map、Reduce 任务间竞争资源,造成处理超时等错误。

(2)设置 Map、Reduce 共存:调整 slowstart.completedmaps 参数,使 Map 运行到一定程度后,Reduce 也开始运行,减少 Reduce 的等待时间。

(3)规避使用 Reduce,因为 Reduce 在用于连接数据集的时候将会产生大量的网络消耗。

(4)增加每个 Reduce 去 Map 中拿数据的并行数

(5)集群性能可以的前提下,增大 Reduce 端存储数据内存的大小。

4)IO 传输

(1)采用数据压缩的方式,减少网络 IO 的的时间。安装 Snappy 和 LZOP 压缩编码器。

(2)使用 SequenceFile 二进制文件

5)整体

(1)MapTask 默认内存大小为 1G,可以增加 MapTask 内存大小为 4-5g

(2)ReduceTask 默认内存大小为 1G,可以增加 ReduceTask 内存大小为 4-5g

(3)可以增加 MapTask 的 cpu 核数,增加 ReduceTask 的 CPU 核数

(4)增加每个 Container 的 CPU 核数和内存大小

(5)调整每个 Map Task 和 Reduce Task 最大重试次数

50、列出正常工作的hadoop集群中hadoop都分别启动哪些进程以及他们的作用

正常工作的Hadoop集群中Hadoop都分别需要启动哪些进程,它们的作用分别是什么?(详细)_走在大数据的小路上-CSDN博客

1)NameNode它是hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存有metadate。

2)SecondaryNameNode它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并editslog,减少NN启动时间。

3)DataNode它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个datanode守护进程。

4)ResourceManager(JobTracker)JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。

5)NodeManager(TaskTracker)执行任务

6)DFSZKFailoverController高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为Active NN的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。

7)JournalNode 高可用情况下存放namenode的editlog文件.

51、Hadoop总job和Tasks之间的区别是什么?

Job是我们对一个完整的mapreduce程序的抽象封装

Task是job运行时,每一个处理阶段的具体实例,如map task,reduce task,maptask和reduce task都会有多个并发运行的实例

52、Hadoop高可用HA模式

HDFS高可用原理:

Hadoop HA(High Available)通过同时配置两个处于Active/Passive模式的Namenode来解决上述问题,状态分别是Active和Standby. Standby Namenode作为热备份,从而允许在机器发生故障时能够快速进行故障转移,同时在日常维护的时候使用优雅的方式进行Namenode切换。Namenode只能配置一主一备,不能多于两个Namenode。

主Namenode处理所有的操作请求(读写),而Standby只是作为slave,维护尽可能同步的状态,使得故障时能够快速切换到Standby。为了使Standby Namenode与Active Namenode数据保持同步,两个Namenode都与一组Journal Node进行通信。当主Namenode进行任务的namespace操作时,都会确保持久会修改日志到Journal Node节点中。Standby Namenode持续监控这些edit,当监测到变化时,将这些修改同步到自己的namespace。

当进行故障转移时,Standby在成为Active Namenode之前,会确保自己已经读取了Journal Node中的所有edit日志,从而保持数据状态与故障发生前一致。

为了确保故障转移能够快速完成,Standby Namenode需要维护最新的Block位置信息,即每个Block副本存放在集群中的哪些节点上。为了达到这一点,Datanode同时配置主备两个Namenode,并同时发送Block报告和心跳到两台Namenode。

确保任何时刻只有一个Namenode处于Active状态非常重要,否则可能出现数据丢失或者数据损坏。当两台Namenode都认为自己的Active Namenode时,会同时尝试写入数据(不会再去检测和同步数据)。为了防止这种脑裂现象,Journal Nodes只允许一个Namenode写入数据,内部通过维护epoch数来控制,从而安全地进行故障转移。

Hadoop-HA模式(详解)_窃格拉瓦-CSDN博客

52、简要描述安装配置一个hadoop集群的步骤

简单描述如何安装配置一个apache开源版hadoop,只描述即可,无需列出完整步骤,能列出步骤更好..._weixin_33750452的博客-CSDN博客

部署Hadoop集群的步骤_闪客-CSDN博客_hadoop集群启动验证实验部署流程

53、yarn的三大调度策略

YARN三种调度器和配置策略_ThisIsNobody的博客-CSDN博客_yarn调度器配置

你了解yarn的调度策略吗?快来看一看吧_shyming's blog-CSDN博客

54、hadoop的shell命令用的多吗?,说出一些常用的

Hadoop常用shell命令_媛测-CSDN博客_hadoop shell命令

55、namenode的fsimage与editlog详解

namenode的fsimage与editlog详解

56、left semi join和left join区别

hive 的 left semi join 讲解_HappyRocking的专栏-CSDN博客

57、hive内部表和外部表的区别,及使用场景

Hive内部表和外部表的区别详解_Liu_Arvin的芝士小栈-CSDN博客_hive内部表和外部表的区别

hive-内部表外部表区别及各自使用场景_DCHAO的博客-CSDN博客_hive内部表和外部表的应用场景

58、用hive创建表有几种方式

https://blog.csdn.net/qq_36743482/article/details/78383964

hive部分:hive建表的三种方式(直接建表,查询建表,like建表)_wyqwilliam的博客-CSDN博客_hive查询建表

59、线上业务每天产生的业务日志(压缩后>=3G),每天需要加载到hive的log表中,将每天产生的业务日志在压缩之后load到hive的log表时,最好使用的压缩算法是哪个,并说明其原因

选择lzo,因为该压缩算法可切分,压缩率比较高,解压缩速度很快,非常适合日志

60、若在hive中建立分区仍不能优化查询效率,建表时如何优化

可以重新建表为分区分桶表

61、Hive 里边字段的分隔符用的什么?为什么用t?有遇到过字段里 边有t 的情况吗,怎么处理的?为什么不用 Hive 默认的分隔符,默认的分隔符是什么?

hive 默认的字段分隔符为 ascii 码的控制符001(^A),建表的时候用 fields terminated by '001'

遇到过字段里边有t 的情况,自定义 InputFormat,替换为其他分隔符再做后续处理

62、在hive的row_number中distribute by 和 partition by的区别

row_number over( partition by 分组的字段 order by 排序的字段) as rank(rank 可随意定义表示排序的标识);

row_number over( distribute by 分组的字段 sort by 排序的字段) as rank(rank 可随意定义表示排序的标识)

注意:

partition by 只能和order by 组合使用

distribute by 只能和 sort by 使用

63、hive和传统数据库之间的区别

大数据面试之hive和传统数据库之间的区别_shyming's blog-CSDN博客

64、hive中导入数据的4种方式

Hive中数据的导入与导出的几种方式_哇哈哈水有点甜的博客-CSDN博客_hive导出数据有几种方式

65、创建rdd的几种方式

RDD的几种创建方式_hellozhxy的博客-CSDN博客

RDD的三种创建方式_月正明的博客-CSDN博客

66、Spark中Partition的数量由什么决定

Spark 中 Partition,Task,core,Executor的个数决定因素和关系_mzqadl的博客-CSDN博客

67、Spark中coalesce与repartition的区别

Spark中repartition和coalesce的区别与使用场景解析_墨卿风竹的博客-CSDN博客

68、sortBy 和 sortByKey的区别,reduceByKey和groupBykey的区别

Spark groupByKey,reduceByKey,sortByKey算子的区别_helloxiaozhe的博客-CSDN博客_spark的groupbykey

69、map和mapPartitions的区别

Spark中map与mapPartitions的区别详解-附测试_wuyue的博客-CSDN博客深入理解Spark中的Cache和Checkpoint_undo_try的博客-CSDN博客_spark的cache和checkpoint

70、cache和checkPoint的比较

spark中的cache() persist() checkpoint()之间的区别_Rocky-CSDN博客

71、spark共享变量和累加器

Spark系列(五)共享变量累加器_哆啦咪~fo-CSDN博客

72、当 Spark 涉及到数据库的操作时,如何减少 Spark 运行中的数据库连接数?

大数据面试-Spark专题-002_BigData2018的博客-CSDN博客

73、特别大的数据,怎么发送到excutor中?

spark中如何广播2GB以上的大数据集? - 知乎

74、Spark on Yarn作业执行流程?yarn-client和yarn-cluster有什么区别?

spark中yarn-client和yarn-cluster区别_卡奥斯道的博客-CSDN博客

75、spark任务为什么会被yarn kill掉?

实战解决 spark executor 被yarn杀掉的问题_边逛边看边学习-CSDN博客

76、sql问题:连续活跃n天用户的获取

牛客SQL29:某宝店铺连续2天及以上购物的用户及其对应的天数(连续问题)_牧码文的博客-CSDN博客_sql 两天以上

77、spark中reparation和coalesce的用法和区别

spark中reparation和coalesce的用法和区别 - 灰信网(软件开发博客聚合)

https://blog.csdn.net/yjgithub/article/details/81028361

78、ClickHouse常用表引擎

篇二|什么是ClickHouse的表引擎? - 大数据技术与数仓 - 博客园

79、Spark小文件合并

​​​​​​spark sql合并小文件_sparksql合并小文件_weixin_39846612的博客-CSDN博客

Spark小文件合并_一直青蛙的博客-CSDN博客_spark合并小文件

80、数据中台之OneData体系

数据中台之OneData体系_Lv_Hulk的博客-CSDN博客_onedata体系

81、维度建模和范式建模对比

维度建模和范式建模对比_六mo神剑的博客-CSDN博客_维度建模和范式建模区别

通俗易懂数仓建模:范式建模与维度建模_1024小神的博客-CSDN博客_范式建模

京东数仓分层相关_Cold丶kl的博客-CSDN博客_京东数据仓库分层

数仓架构实践2:京东四层模型架构 - 爱码网

算法:

1)给定一个长度为n的数组,求前k大的元素?

求有N个元素的数组中前k个最大的数?(N>=k)(python实现)_BRO_BMW的博客-CSDN博客

https://blog.csdn.net/zhou15755387780/article/details/81318105

2)有10G的数据,2G内存,取中位数。

文件中有10G个整数,乱序排列,要求找出中位数_黎明_新浪博客

10G个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可_xc889078的专栏-CSDN博客

https://blog.csdn.net/u014350758/article/details/22858161

程序员编程艺术:第十章、如何给10^7个数据量的磁盘文件排序_结构之法 算法之道-CSDN博客

3)给你一个字符串(可能很长),字符串包含数字和字母,要求将字符串里的字母反转,但数字不动。

【必备算法】字符串(反转问题):LeetCode题 344. 反转字符串,541. 反转字符串 II,917. 仅仅反转字母_A minor-CSDN博客

【必备算法】字符串(反转问题):LeetCode题 151. 翻转字符串里的单词,557. 反转字符串中的单词 III_A minor-CSDN博客

4)一个整型数组a,一个数key,求数组a中所有相加等于key的子数组。(注:注意子集概念。可能有负数。)

c语言练习题:求一个有序数组中,两个值相加为key的数字,返回这两个数字的下标_Wweakness的博客-CSDN博客

5)两个有序队列合成一个有序队列。

力扣

力扣

栈和队列----合并两个有序的单链表 - Demrystv - 博客园

合并两个有序序列_whinah的专栏-CSDN博客

6)将一个二维数组Z字输出。

力扣

用java实现二维数组的“之”字形输出 - doAction - 博客园

7)判断一个整数是否是回文。

力扣

8)平衡二叉树不额外使用空间返回第三大的值。

力扣

平衡二叉树(AVL)图解与实现_小张的专栏-CSDN博客_平衡二叉树

9)所有排序算法

https://blog.csdn.net/m0_37962600/article/details/81475585

https://blog.csdn.net/hiudawn/article/details/80380572

25、spark汇总

Spark零碎知识点_ll谢安生的博客-CSDN博客

5、2020大数据面试题真题总结(附答案) 

2020大数据面试题真题总结(附答案)_hive

6、大数据面经

大数据开发工程师精选面经汇总_校招实习社招_牛客网_牛客网

7、海量数据处理

海量数据面试题整理1.给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是..._weixin_34392843的博客-CSDN博客

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐