大数据面试集锦

news/2024/11/25 20:27:09/

一、Linux

1)常用的高级命令top  iotop ps -ef   df -h  natstat   jmap -heap  tar  rpm 
2)查看进程   查看端口号   查看磁盘使用情况  查看某个进程内存ps -ef      natstat         df -h         jmap -heap

二、shell

1、用过哪些工具awk  sed  sort  cut    python   
2、写过哪些shell脚本1)分发脚本2)启停脚本(掌握)#!/bin/bashcase $1 in "start")for i in hadoop102 hadoop103 hadoop104dossh $i "绝对路径"done;;"stop");;esac3)与mysql的导入导出mysql      hdfsdataxhdfs       mysql datax 4)数仓层级内部ods =》 ads
3、'' 不解析里面变量的值""   解析里面变量的值      嵌套 :  看谁在最外面

三、Hadoop

1、入门1)常用端口号2.x   50070   8088  19888 9000/80203.x   9870   8088  19888 9820/9000/80202)常用配置2.x  core-site.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml slaves3.x  core-site.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml workers2、HDFS1)hdfs  读写流程 笔试题(有没有朋友)2)小文件的危害(1)存储   NameNode  150字节   128g*(1024m * 1024kb*1024字节) / 150字节 = 9.1亿(2)计算   默认切片规则,每个文件单独切片。1字节 文件 =》 1个maptask  1G 3)小文件怎么解决(1)har归档(2)CombineTextInputformat   把所有文件放到一起统一切片(3)JVM重用开始  2s干活  3s......干活  3s结束  2s4)副本数  3个5)块大小1.x         64m2.x 3.x     128m本地          32m企业      128m   256m   512m块大小取决于 硬盘的读写速度普通机械硬盘 100m/s    128m固态硬盘普通  300m/s   256m固态硬盘 高级  600m/s   512m 3、mrshuffle  及其优化map方法之后,reduce方法之前混洗的过程  叫shuffle4、yarn1)yarn的工作机制2)调度器(1)有几种FIFO  容量  公平(2)默认是哪个调度器apache   容量     CDH  公平(3)FIFO特点先进先出  单队列    在企业中很少使用(4)容量特点(并行度低一些)支持多队列   优先保证先进入的任务执行   资源不够时,可以借(5)公平特点(并行度高)支持多队列    每个任务公平享有队列资源  资源不够时,可以借(6)在企业中怎么选择如果对并行度要求比较高,通常选择 公平调度器   中大型公司如果对并行度要求不高,通常选择容量调度器     中小公司(7)公平、容量默认几个队列default  (8)创建多队列hive  mr   spark  flink 怕公司来了一个菜鸟   :递归死循环rm  -rf  /按照部门  业务线登录  x注册  x 订单  √物流  √618  1111  降级使用

四、zk

1、选举机制      半数机制
2、安装什么数台   奇数台
3、10台服务器 安装多少zk  3台20台服务器 安装多少zk  5台50台服务器 安装多少zk  7台100台服务器 安装多少zk 11台200台服务器 安装多少zk 11台zk台数越多好处: 可靠性高;  坏处:效率低
4、常用命令ls  get  create   delete  deleteall

五、Flume(3件事)

1、组成1)taildir  source (1)断点续传、多目录(2)Apache  1.7 版本产生的  CDH 1.6版本产生的(3)自定义source  有可能产生重复数据(4)自身想办法:  事务找兄弟: 下游处理  hive dwd层中  spark flink   redis2)channel(1)file channel    磁盘    可靠性高   效率低(2)memory channel  内存   可靠性低  效率高(3)kafka channel  kafka  磁盘  可靠性高  效率高 kafka channel》 memory channel  + kafka sinkapache 1.6 版本产生的  event(header,body)1.7时解决 bug   后续大量使用(4)在企业中怎么选择如果下游是kafka  ,优先选择 kafka channel 如果下游不是kafka ,如果要求可靠性高,选择file channel    和钱相关如果要求效率,选择 memory channel    普通日志3)sink(1)HDFS sink 控制大小  128m   控制时间  30分钟event个数 =0 禁止使用2、三个器1)拦截器ETL拦截器:判断json是否完整时间戳拦截器:解决零点漂移问题自定义拦截器步骤:定义类 实现 interceptor接口 重写4个方法  初始化 关闭 单event  多event静态内部类builder打包 + 上传  flume/lib   在配置文件中 全类名 $builder 2)选择器re   默认    把数据发往下一级所有通道mu          把数据选择性发往指定通道3)监控器g   发现事务 尝试提交的次数远远的大于最终success 的次数 提高内存flume-env.sh    4-6g 增加flume台数  618  1111日志服务器配置  8g  16g 3、挂了及优化挂了:重启如果是memory channel   有可能丢失 数据 100个event sink(1)HDFS sink 控制大小  128m   控制时间  30分钟event个数 =0 禁止使用提高内存flume-env.sh    4-6g 增加flume台数  618  1111

六、Kafka (33道)

1、组成 (生产者 、broker  、消费者  zk)
2、安装多少台2  * (生产者峰值生产速率  * 副本 / 100)  + 1  = 3台
3、压测:生产者峰值生产速率(50m/s )  消费者峰值消费速率    
4、副本:默认1个  生产环境 2-3个  2个居多副本多:好处,可靠性高;  坏处 :效率低  增加存储资源
5、平均速率100万日活  *   100条  = 1亿条1亿条/ (24小时 * 3600s) = 1150条/s1条日志: 0.5k  - 2k   1k   1m/s  峰值:8-12点     12点 -14点  小高峰  14点-18点    19点 -24点  高峰20m/s   30m/s  
6、 日志保存多久默认保存7天   3天7、是否做了监控kafka eagle   manager   montor 
8、分区数增加分区 可以提高并行度期望kafka 吞吐量 100m/s  t 生产峰值生产速率  20m/s  tp消费者峰值消费速率 40m/s tc分区数:= t /min(tp, tc) = 100/ 20 = 5个分区
9、生产者分区策略指定了分区,数据发送到指定分区如果没有指定分区,可以指定了key,按照key的hashcode值%分区数没有指定分区,也没有指定key,按照粘性分区
10、如果提高生产者吞吐量1)32m缓存 =》 64m2)批次大小16k => 32k3)linger.ms  0 => 5-100ms4)压缩  snappy  zstd 
11、如何保证数据可靠 acks:0:生产者发送过来数据,就不管了,在生产环境中很少使用1:生产者发送过来数据,Leader收到之后,并应答-1:生产者发送过来数据,Leader和isr队列里面所有的follower都收齐 了,在应答在生产环境中,如果产生的是普通日志,通常选择 1; 如果传输的是和钱相关的,选择-1acks = -1 +  副本数 大于等于2   isr队列里面的最小副本大于等于212、如何保存数据不重复幂等性(pid ,分区号, 序列号) + 事务(5个api  初始化事务、启动事务、提交事务、事务终止、offset)13、数据有序:单分区内14、乱序inflight = 5没有幂等性时处理办法:inflight = 1有幂等性:inflight小于等于5
15、如何做到高效读写的1)Kafka本身是集群   可以增加分区 2)index(稀疏索引) 4k   1条索引3)采用的顺序读写  600m/s    4)零拷贝 + 页缓存
16、删除策略delete  压缩  key v3 
17、消费数据  拉取数据
18、消费策略range(7个分区 3个消费者)针对每个topic   容易产生数据倾斜roundbin(7个分区 3个消费者)针对所有的topic粘性range + 粘性 roundbin + 粘性
19、再平衡条件消费者 会每隔3s中和消费者组协调器通信1一次,如果超过45s ,会认为消费者挂掉,触发再平衡;如果消费者消费一批数据的时间超过了5分钟没有再拉取数据,说明消费者挂了,会触发再平衡    
20、可以指定任意位置消费0 -----------------8999当前--from-beginingoffset  1000位置seek(1000)
21、按照时间进行消费12点 以后的都不用了把时间转换为offset  ,在调用seek()
22、kafka数据积压了增加分区  同时要求消费者增加消费CPU核数消费者增加每批次拉取的条数   默认500条 1000-3000条增加50m  => 60m
23、kafka如何提高吞吐量1)32m缓存 =》 64m2)批次大小16k => 32k3)linger.ms  0 => 5-100ms4)压缩  snappy  zstd 增加分区  同时要求消费者增加消费CPU核数消费者增加每批次拉取的条数   默认500条 1000-3000条增加50m  => 60m
24、硬盘怎么选择选择机械硬盘  底层是顺序读写   600m/s  
25、网络带宽选择生产者峰值生产速率  30m/s  百兆带宽 (bit    1字节 = 8bit)  实际只有12.5m/s 选择千兆带宽。
26、kafka内存默认内存1g    jmap -heap  进程号   查看内存配置 10g -15g  
27、CPU 选择32 核 28、可以服役新节点、可以退役旧节点29、kafka挂了怎么办正常重启  (内存 -jmap -heap 、查看磁盘 df -h、查看cpu top)误删 :服役新节点 退役旧节点方式。
30、 多少个Topic满足下一级所有消费者   可以适当的聚合
31、Kafka单条日志传输大小1m

七、Hive(10件事)

1、组成 2、与mysql等关系数据库的区别 mysql         hive速度    小  快        大  查询快数据量    小            大 除了语法接近以外,其他都不相同3、内部表和外部表区别删除数据:  元数据  原始数据内部表删除数据:元数据  原始数据外部表删除数据:元数据在企业中,绝大多数情况,创建的是外部表;只有自己使用的临时表,创建内部表4、4个byorder by    全局排序    慎用   55tsort by    排序 d  by      分区    sort by   + d  by   c  by 5、系统函数date_add date_sub   lastday  next_day   date_formatget_json_object concat  explode nvl 6、自定义函数自定义UDF  一进一出(一行进入,一行输出  map )定义类 继承 G..UDF   evaluate UDTF(一进多出, flatmap)定义类  继承 G..UDTF  重写三个方法  初始化(校验返回值类型和名称)  关闭  process(核心逻辑)UDAF(多进一出  sum)打包 + 上传到HDFS路径  在hive的客户端进行注册注意事项:  自定义函数在shell脚本中使用时,一定要在函数前面加上库名否则会报函数找不到。7、开窗函数over  rank    笔试题   大量出现   分组topn   排名8、优化 (hive  on spark 调优   小文件   数据倾斜   谓词下推 mapjoin  )1)mapjoin默认打开,不要关闭 大小表join2)提前进行行列过滤join  where  =>where  join 3)创建分区表   防止后续全表扫描 创建分桶表  对未知的海量数据,进行提前采样。防止数据倾斜产生。4)小文件处理(1)JVM重用(2)combinehiveinputformat 把多个文件放到一起统一切片  减少maptask个数(3)merge   如果是maponly任务,默认打开;如果是mr,需要手动打开。将小于16m的文件 =》  256m5)采样压缩map(snappy)  reduce 6)采用列式存储orc(优秀)  p id   name  age 1    zs    182    lishi  19行:1    zs    18  2    lishi  19列:1   2   zs   lishi   18  19select name from user  7)可以提前combiner (有前提条件,不能影响最终的业务逻辑)at,1at,1   at,3at,18)合理的设置map个数和reduce个数reduce个数  不要太多也不能太少;  128m  => 1g内存map个数  由切片个数绝对  128m  => 1g内存切片大小:= max(0, min(块大小,long的最大值))9)更换引擎mr  =>  hive on spark   mr   spark sql  tez (presto) (hive的生态要更好一些  兼容性更强  元数据管理、权限管理)9、数据倾斜数据倾斜是  数据量多的是数据量少的 执行时间的20倍,就会认为发生数据倾斜618按照各个省份统计交易额;按照个数渠道统计下载量;发生了数据倾斜,当时执行了 4-5个小时; 发现统计北京、上海、深圳的任务一直在执行,卡在了99% 。认为发生了数据倾斜。  当天数量是平时 的 30-50倍。任务收到停下。加上处理数据倾斜的的参数set hive.groupby.skewindata = true;
效果: 执行 30-40分钟,任务解决了。10、杂七杂八

八、datax

1、底层  1个进程 多个线程sqoop (默认4个 mr  )
2、datax如何调优1)datax可以调整并行度2)调整内存
3、在使用datax过程中遇到哪些问题mysql          hive (hdfs)dataxnull            \N要求hive建表时 用null  来存储空值sqoop (有对应参数可以将null => \N)hdfs                mysql datax (有参数)\N                  null
4、datax什么时候执行00:10分钟开始执行   

九、maxwell

mysql  oracle  mongodb 
可以增量同步 也可以全量同步
canal   flinkcdc   de...       ogg 支持断点续传  也可以全量同步

十、ds 海豚调度器

1、什么时候执行业务数据:00:10分钟开始执行用户行为数据:00:30分钟开始执行
2、ds 里面的任务挂了     报警   发邮件,打电话(睿象云)(广东)起床 =》 打开电脑 远程连接公司服务器 =》 尝试手动执行   还是不行; 把这个任务停止掉;  第二天去公司解决。(小文件过度、  数据倾斜 )3、ds的服务挂了  重启; (查看内存、查看磁盘、查看进程)
4、ds每天跑多少指标平时 100个左右;  如果搞活动150-200个

十一、spark

1、入门 1)spark是解决什么问题的   海量数据的计算hadoop 是解决海量数据的存储和计算2)spark 为什么有自己的调度器  yarn出现的晚3)spark的运行模式(1)local        本地  调试(2)standalone   用在 要求性能比较高的场景  国外使用 (3)yarn         在国内大量使用  解耦(4)m            在国内几乎没有使用的  不会。(5)k8s          在javaee里面用的比较多;在大数据场景下,问题非常多,目前不是特别成熟,慎重使用4)常用端口号4040        spark shell 7077        hadoop  9820/9000/80208080        hadoop  808818080       hadoop   198885)手写wordcount现在要求手写 flink  wordcount topn2、spark core 1)代码都是在哪运行D     E (和算子紧密相关的)2)rdd的五大属性(1)标记数据是哪个分区(2)对数据进行计算(3)分区器(4)血缘依赖(5)移动数据不如移动计算3)转换算子(1)单value map mapp mappwflatmap filter c           true  shuffle  false  没有shuffle   缩减分区repartition  true  shuffle  重写分区(2)双value交并差  拉链 zip (3)keyvaluepartitionby groupbykey      没有预聚合操作reducebykey     有预聚合操作reducebykey     没有初始值  分区内和分区间逻辑相同foldbykey       有初始值  分区内和分区间逻辑相同agg..bykey      有初始值  分区内和分区间逻辑可以不相同combinebykey    有初始值(可以变换结构)  分区内和分区间逻辑可以不相同4)行动算子(1)reduce(2)first(3)take(4)foreach (5)foreachp ..5)序列化KRYO序列化6)血缘宽依赖    有shuffle (有聚合操作)窄依赖     没有shuffle  7)cache         缓存  不会改变血缘依赖关系    内存、磁盘checkpoint  会改变血缘依赖关系    第三方框架(HDFS 、HBase 、redis、mysql)8)任务怎么切分的(1)app              sparkcontext(2)job              行动算子个数(3)stage            shuffe的个数+1 (4)task             每个阶段,最后一个算子对应的 分区数9)广播变量10)累加器3、spark  sql 1)rdd   df   ds 三者之间的转换2)                          元数据     执行引擎        语法hive  on spark                mysql     rdd (慢)     hive spark on hive (spark sql)    mysql      df  ds (快)  spark sql内置hive                  derby外置hive                  mysql4、sparkstreaming (1)SparkStreaming是纯流式处理框架吗? 他的抽象是谁?(2)背压机制原理(3)Receiver和Direct模式原理(4)kafka的offset维护在什么位置( 0.10)(5)transform算子里面的代码都在什么端执行(6)UpdateStateByKey状态保存在什么位置?  有什么缺点(7)window有三个概念  用wordcount案例画图说明5、内核源码

十二、Flink

十三、从0到1

   什么也没有   项目经理  java 转过来的招你进来   从0-1搭建大数据平台(离线 实时)你给我出一套大数据解决方案你就是大数据组组长1)都有什么需求啊?第一批指标   通道打通    留转G复活2)能出多少钱  什么方向50万     离线实时都做  先做离线5台服务器 *  4w  =20w3)数据量增量 每天100g左右    历史数据 1T 4)能给我分配几个组员就你1个  可以找人5)需要的框架   (不能问)6)物理机  还是云主机云主机7)离线大约你给我多久时间交工 1个月  再招人   建模消耗时间拿电脑回学校(周六 周日)

十三、数仓建模准备

1、ER 模型 javaee   三范式
2、维度建模 星型模型(事实表周围一级维度)   减少join操作雪花模型(事实表周期多级维度)   星座(多个事实表)
3、事实表1)什么样的表是事实表;    有度量值的表;  可以累加的值(个数、件数、次数 、金额)2)同步策略数据量大:   同步时,通常采用  增量   有特殊的(加购  全量) 3)分类 (1)事务型事实表找原子操作  点击(加购、下单、物流、退款)①选择业务过程②声明粒度③确定维度④确定事实不足:①统计连续性指标、库存类指标    周期型快照事实表②多事实表的关联(最怕join  大表 join  大表)统计下单 到  物流的 平均时长   累积型快照事实表(2)周期快照事实表①选择业务过程②声明粒度  (天)③确定维度④确定事实(3)累积型快照事实表①选择业务过程 (选择多条业务线)②声明粒度  ③确定维度④确定事实 (确定多个事实表)4、维度表1)什么样的表是维度表没有度量值的表;通常都是一些描述信息(身高、体重 年龄、性别)2)同步策略数据量小:  同步时,通常采用  全量   有特殊的(用户表  增量)3)维度整合 (星型模型  减少join )商品表+ spu 表 + 商品品类表+ 商品一级分类、二级分类、三级分类=》 商品维度表省份表 +  地区表 =》 地区维度表活动信息表 + 活动规则表 =》  活动维度表4)用户表 =》 拉链 (缓慢变化维)   

十四、数仓建模(*****) 留存 转换率 GMV 复购 活跃

1、数据调研 (50%)  总时间1个月 1周(平台搭建) 2周(数据调研)3周(动手做)4周(bug)1、熟悉公司的业务(javaee后台的表)  847张表 FM 喜马拉雅 (听书   加购  下单 支付 )播放相关入住的频道(10  、5  、6  )图片、临时表 、权限表 (不选择)2、需要找业务人员详细沟通确认 表与业务之间的关系3、和产品经理聊指标:原子指标、派生指标、衍生指标派生指标= 原子指标(业务过程 + 度量值 + 聚合逻辑)  + 统计周期 + 统计粒度 + 业务限定统一口径2、明确数据域用户域:登录、注册流量域:页面、动作、故障、曝光、启动交易域:加购、下单、取消下单、支付、取消支付、物流、退货工具域:优惠卷领取、优惠卷使用(下单) 、优惠卷使用(支付)、互动域:收藏、评论、点赞3、构建业务矩阵用户、商品、活动、优惠卷、地区、时间用户域:登录、      √注册流量域:页面、动作、故障、曝光、启动交易域:加购、下单、取消下单、支付、取消支付、物流、退货工具域:优惠卷领取、优惠卷使用(下单) 、优惠卷使用(支付)、互动域:收藏、评论、点赞4、建模1)ODS层(1)保持数据原貌不做任何修改。备份作用。(2)采用分区表。    防止后续全表扫描(3)采用压缩 。    减少磁盘空间2)DIM层(1)维度整合商品表+ spu 表 + 商品品类表+ 商品一级分类、二级分类、三级分类=》 商品维度表省份表 +  地区表 =》 地区维度表活动信息表 + 活动规则表 =》  活动维度表(2)用户拉链表(缓慢变化维)3)DWD层优先考虑采用 事务型事实表(1)事务型事实表找原子操作①选择业务过程选择感兴趣的,  产品经理要求的图片、临时表 、权限表 (不选择)②声明粒度粒度:一行信息代表什么含义;  可以代表一次下单、一周下单、一个月下单要求最小粒度只要不做聚合操作;③确定维度未来统计的指标中需要:  用户、商品、活动、优惠卷、地区、时间④确定事实确定事实表的度量值   可以累加的值 (个数、件事、次数、金额)(2)周期快照事实表 (连续性指标、库存)(3)累积型快照事实表 (多事实表关联)5、指标体系建设ads层  要统计哪些指标 (一口气30个指标 日活、新增、留存、转化率、GMV 、复购率)dws层:指标拆分指标:原子指标、派生指标、衍生指标派生指标= 原子指标(业务过程 + 度量值 + 聚合逻辑)  + 统计周期 + 统计粒度 + 业务限定交易总额(下单  + 金额 + sum)  + 每天 + 省份   + 手机每天各个省份购买手机的交易总额找公共的信息 (业务过程 + 统计周期  + 统计粒度 )6、报表可视化

十五、每层做了哪些事

1、ods层1)保持数据原貌不做任何修改。备份作用。2)采用分区表。    防止后续全表扫描3)采用压缩。    减少磁盘空间2、DIM  层  &  DWD层 除了   维度整合、用户拉链   维度建模  (事务型事实表、周期快照、累积快照)1)ETL数据清洗清洗的手段   hql  mr  spark SQL    Python    kettle 清洗规则:  和钱相关的,数字:[0-9]手机号身份证号网址URL的数据解析: 核心字段不能为空:超期数据删除;重复数据  后续需要过滤 清洗掉多少日志算合适:1万条日志   1 条(合理)    10  100 1000  9999条压缩      减少磁盘空间列式存储  加快查询速度创建分区表: 防止后续全表扫描2)对手机号、身份证号等敏感数据脱敏 (1)加****  135 ****0013(2)md5加密   1324242539 =》md5(1324242539)   342491234719(唯一标识)(3)加权限   政府 银行  军工  13242425393、DWS层指标体系建设4、ADS层一口气三十个指标

十六 、测试

测试的手段包括,边界值、等价类等。
sum(a,b)
a:1-100
b:1-10000000000000000000000000000边界值:   a:1  100,0 -1  101等价类:b: 6896544456667  875555编写测试用例:输入a=1 ,b=1 ,期望输出 2
测试报告:输入a=1 ,b=1 ,实际输出 1 
测试程序员: 提bug  禅道、bugzila  => 发邮件  =》 程序员  项目经理  测试经理程序1.0  评审
程序员:  可以解释  这不是一个bug,这是一个bug,下一个版本修改  1.1瀑布式开发  (1-5年)需求  100个                                    需求测试系统总体设计                           系统集成测试软件概要设计                  软件集成测试软件详细设计          软件单元测试代码编写    代码走查敏捷开发   小步快跑
需求  5个 
代码编写 
测试 
。。。。。
需求  5个 
代码编写 
测试 

http://www.ppmy.cn/news/30838.html

相关文章

matlab基础到实战(1)

目录概述sin函数例子四则运算实数复数逻辑运算复数运算模幅角共轭向量二维向量定义序列生成向量向量索引方式加减乘除向量间运算加减乘法除法概述 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理…

详解Java8中如何通过方法引用获取属性名/::的使用

在我们开发过程中常常有一个需求,就是要知道实体类中Getter方法对应的属性名称(Field Name),例如实体类属性到数据库字段的映射,我们常常是硬编码指定 属性名,这种硬编码有两个缺点。 1、编码效率低&#x…

脑电信号处理总成

目录一. EEG(脑电图)1.1 脑波1.2 伪迹1.2.1 眼动伪迹1.2.2 肌电伪迹1.2.3 运动伪迹1.2.4 心电伪迹1.2.5 血管波伪迹1.2.6 50Hz和静电干扰1.3 伪迹去除方法1.3.1 避免伪迹产生法1.3.2 直接移除法1.3.3 伪迹消除法一. EEG(脑电图) 1.1 脑波 脑波(英语:br…

【项目设计】高并发内存池(七)[性能测试和提升]

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…

88. 合并两个有序数组

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应…

如何提高爬虫工作效率

单进程单线程爬取目标网站太过缓慢,这个只是针对新手来说非常友好,只适合爬取小规模项目,如果遇到大型项目就不得不考虑多线程、线程池、进程池以及协程等问题。那么我们该如何提升工作效率降低成本? 学习之前首先要对线程&#…

你来看看这几行代码到底创建了几个字符串?

💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…

如何实现在on ethernetPacket中自动回复NDP response消息

对于IPv4协议来说,如果主机想通过目标ipv4地址发送以太网数据帧给目的主机,需要在数据链路层填充目的mac地址。根据目标ipv4地址查找目标mac地址,这是ARP协议的工作原理 对于IPv6协议来说,根据目标ipv6地址查找目标mac地址,它使用的不是ARP协议,而是邻居发现NDP(Neighb…