00:00
各位同学大家好,接下来将为大家介绍高阶篇的第五章案例落地实战,也即介绍我们前面在小白篇讲过的三个新的数据类型,Bit map hyper log log go。那么至于是什么,请参考前面的视频。那接下来轮到高阶篇,我们就要对这三大类型在目前互联网里面实际生产上是如何用的。对同学们进行一下技术的加强和深度的讲解。一句话。简历上写点啥?一定会被问到,说一下你的项目经验,设计过,主导过,开发过,做过个什么东东,有没有什么新功能,你介绍一下,好,那么这三个类型结合我们的spring Java为服务。兄弟们,他会拿玩出什么样的新的需求呢?来,同学们,咱们来老规矩,注意高阶篇跟小白片不一样,几乎每一章咱们都是先说面试题,这些都是真实问过的,那么请同学们务必动手练习,外加写进简历。我相信我给大家讲解和分享的这些面试题均来自于一线大厂面试官的提问,你认真准备有针对性的训练,以后和面试官侃侃而谈,能够聊两句,不会一问三不知,我认为这是有积极意义的,那么请同学们认真的准备面试,OK,题外的多啰嗦一句大家都清楚。
01:38
上个月12月份小米是不是疯狂裁员对吧,小米十三一发布。雷布斯呢,就把小米干掉了6000元,那么春节以后,2023年,现在弟兄们都清楚是不是一堆又有技术又有大厂背景的小米工程师重新杀进了我们的人才市场和各大公司的HR简历库,那么请问一下你该如何准备好?话不多说,意思到这儿就明白了,走。
02:11
先来看看这些面试题。第一个。抖音电商直播主播介绍商品有评论,你可以点进去去查看。那么一个商品就会对应了一系列的评论,我希望这个评论有排序展现,取前十条这样的功能,那么升序降序等等对吧?那么抖音他打开了以后,现在比如说某个直播的它的我的货柜,我的橱柜点进去看了以后,就有一些商品评论,那么请问这个你如何?存取如何展现第二个用户在手机APP上的签到、打卡相关的信息,一天对应一系列用户的签到记录。
03:04
比如说同学们都用过新浪微博,哎,假设你每天登录,每天签到,连续30天送你新浪会员半个月的体验版,给你一个便宜的价格,折扣价对吧?我们最经典的我们用过的钉钉打卡,你今天来没来公司,迟到早退签到等等,那么这个该如何统计第三一个。应用网站上的网页访问信息,就一个网页对应一系列的访问。点击最经典的。各位亲都用过阿里巴巴的淘宝,那么我想请问这个淘宝点com每天的点击量大家估一下大概是多少,那么每天我要你统计有多少人浏览了我们的首页,那么再来比如说天猫,聚划算超市、司法拍卖,非洲旅行,天天特卖等等,我再请你统计,比如说我们点了一下天天特卖。
04:05
请告诉我,给我统计一下这个功能每天的。点击率分析,你给我做一下,有些时候Java程序就是。大数据数据分析模块的上游,这些就是数据收悉的入口,那么请问对于这样整个首页,它相关的点击分析应该怎么做?来,你好,请谈一下你上一家公司系统上线以后,请说一下你们公司的UVPVDAU分别是多少?请问这些行话术语你听得懂吗?啊,如果你一脸懵逼,那面试官看了啊,行了,应该不是正规的互联网公司。这个时候我们对你本身。自身的含金量是不是一下子从王者变白银了?OK,好,这是面试题一。那么下面。
05:03
针对于产品经理所提出的各种计方面的分析策略,要求统计的展现,你怎么向你的老板直接领导去汇报呢?那么下面就有数据支撑,假如他让你统计这些东东,请问面试官考察记录对集合中的数据进行统计。在移动应用中需要统计每天新增的用户数和第二天的留存用户数。电商网站的商品评论中需要统计评论列表中的最新评论,你给我把最新的那条拿出来。好在签到打卡当中,需要统一一个月以内连续打卡的用户。那么请问。该用哪些类型适合做这些功能来在网页的访问技术当中需要统计独立访客UN Vista UV量。那么所以说。来了杨哥简单,谁点一下我就记一下AP,然后加个一。
06:06
可是各位亲,你公司内网这么做没问题,像淘宝。全球都可以来点3W,点淘宝,点。com这样的首页点击量浏览量几乎是一级的行,能做头条、抖音、淘宝这样的,咱们用户一级别,你一天逛一个亿的数据进去,你告诉我是存MY还是存,还是存search。那会不会暴增?你该怎么存?那么思没思考过如何控制这个不停膨胀的总额?所以我们的需求痛点。第一个。对于一级数据的收集、清洗、统计和展现,那么一句话,你说好。点一下我记一个,点一下我记一个,淘宝今天一个亿没问题,我拼着命的存进去了,看到没有,我们先不说明天先说今天的事儿,好,你存的进去。
07:07
没问题,问题是你取不取得出来。第二个取出来,我要求你多种维度展现,你该咋整,所以痛点是你存不存得进去,存的进去的话取不取得出来,够不够快。第二个各种维度的展现,你该如何处理,设计用哪种数据结构,所以弟兄们,量变引起质变。收集这么多数据,真正有价值的是各种统计,因为现在互联网在运营,在产品经理跟他们沟通,大家都是要数据说话,所以同学们对于这些面试题,我们呢就来看看你该如何回答,这也就是为什么我们现在要讲解这三种新的数据类型,目前在大肠的运用越来越多,好,那么同学们,咱们来抽丝剥茧,层层加码,一点点来说一下我们后续的落地案例。
08:05
通过前面我们对数据统计的面试题讲解和分析,那接下来对于这些统计,我们就要看看一般业内常见的统计类型,统计的维度有哪些通道。来。对于我们的一级流量系统当中常见的统计有四种方式,那同大家都清楚啊,像淘宝的首页啊,京东啊,天猫啊,这样大型互联网网站的门户网站,它每天首页的点击率和访问量,那绝对是上亿级的。那下面的问题对于这么多统计的数据。你怎么存进去?第二,如何取得快,第三,你能够多种维度给我呈现我所需要的数据结果,这个是一个非常重要的课题,那么接下来这部分内容有点稍微啊偏大数据的内容,那么也请加入的同学们认真听一下,这些动作就是我们用这些类型所需要的前提条件和落地的案例经验走首先。
09:07
分为聚合统计、排序统计、20统计、基数统计,那么来吧,挨个挨个说,什么叫聚合统计呢?那么大家一听,我们大家学前面的red,包括我们学过之前的MYSQL基础,是不是听过一种东西叫聚合函数,那么来吧,同学们。统计多个集合元素里面的聚合结果,就是前面我们讲解过的交集差集并集的这种集合类的统计,快快的复习一下前面讲过的命令啊来,还记不记得我们讲过sat的时候干过这个事,AB2个集合,AB是ABC12 B是123AX,那么自然而然是不是有差集并集交集相关的东东,这个命令我们节约时间,不再啰啰里啰嗦。不再重复,我们敲过了,但是一说同学们就懂啥意思啊,最经典的这些命令用在什么地方?同学们,咱们是不是用过这种东东,叫QQ的腾讯好友,就比如说AB2个人啊,你们是高中同学,一定会你们的好友记录,腾讯后面会做这些交集和并集,比如说你们共同的好友,他会把它摘出来看看。
10:19
然后告诉这个共同的好友,哎,张三李四都是王五的好朋友,但是王五你跟其中一个人还不认识。第二种,猜你喜欢,猜你对谁谁谁感兴趣,那是不是就在你的朋友圈通讯录里面搜出来这些差集、交集并集进行混合的使用,完成我们对应的统计以后,来进行交并差集和聚合函数的应用,最终来达到我们社交。QQ新浪你关注的人有五个,我关注的人有两个,OK,这两个是我们的交集,那么说明我们两个有共同的兴趣爱好,那么我这多出来的这三个人可能你也感兴趣,所以我尝试推荐给你,那么这个就是聚合统计,猜你喜欢和推广社交相关的使用。第二种。
11:10
排序,那么弟兄们来吧,比如说抖音短视频啊,刚刚过去的卡塔尔世界杯,梅西进球了,OK,那么这个时候请问一下,在梅西进球的评论下面有N多,那么请你设计一个展现列表。那么看一下你的数据结构和设计的思路对不对?那么请问一下这个时候你的设计案例和回答思路该是什么样的呢?那么来弟兄们抖音VCR大家都看过,抖音右下角这儿是不是有个评论,一点开就可以看到对于这条小短视频相关的评论,那么所有评论他可能需要前台展现和后台数据的收集整理啊,那么这个时候我们希望能够按照时间正序反序和分页显示来排序,虽然说这啊它不会有第一页,第二页第三页,但是一拉比如说出来五条,一拉出来五条对不对?那么这个时候能够排序加分页显示这样的red数据结构,那么同学们,你们想一下,你们会用哪一种最主要的来保存呢?啊假设啊这些视频呢,也不是特别特别的大key啊,意思就是说,比如说这儿1782条评论100这样的短视频哈,实时的我们呢,马上立发立频,这样我们大家前面学过。
12:27
超过5000条是不是可能会是个大K?没关系,我们前台先收集,然后完了按照时间,最晚的时间进来的先排到前面,据说大K那个问题我们后续我们再进行拆分,比如说3000条作为一台后后台的数据,后面交给大数据平台去做分析。好那么下面我们来说一下你们觉得这个数据结构应该用什么呢?同学们请思考一下同学的讨论,那么接下来我们提供一种思路,这个有很多种啊,那么最经典的那么多条评论,最傻的一种数据结构,你是不是应该想到我们的R瑞list,但是呢,别忘了,可能人家要求有IP地址,或者说最重要的是时间,我们来吧,弟兄们,我们来看看。
13:10
参考一下我们z set里面是不是面对我们这样的排行榜展现,比如说我们就取前。20条,因为你要搞清楚啊,我那个虽然说这儿有上千条,但这样一个VCR的短视频抖音上,他不可能有谁神经病,看完1782条评论。OK,那么都是一次性给你推送五条,你翻一下五条,翻一下五条往上划一下下一页,往上划一下下一页五条或者是十条这样的,对吧?那么所以说我们这儿可以用the set这样的数据结构,为什么啊,弟兄们,Lower假设这是一条短视频的VCR评论,这个就是我们的评论,说这个是什么东东呢?这个是什么东东呢?来请看一下我们的诉求,弟兄们,我们这样的统计这个V1 V2 V3是不是就是文字内容,就是评论内容,那么假设这是不是有个时间,那么弟兄们,我们大家呢,都清楚啊,比如说我们new date,第2GET time OK,那么来比如说system get current这么一个东东,请告诉我,我这测试了一执行是不是得到当前发送评论的时间戳,这个时间戳就像一个数字流水号一样,那么越往发的是不是数字就越大,那么越大的是不是就越往前排列,听懂这个意思了吧?所以这时候可以带着V1这个文字评论内容,这就带着你的年月日啊。
14:41
发送的时间,当然我们呢,就可能这儿固定写死啊,比如说这儿就是12月19号,OK,卡塔尔世界杯上面的,那么不好意思啊,我们在后台就做一个排序,拿这个分数,这个是不是我们前面讲过的是吗?The set数据结构,那么来同学们请看这个时候,这个时间,714271这个时间戳V1这条文字评论,72V277V3对吧?好,那么下面请看Z卷,那么请给我打出012这三个时间段上面的全部评论内容,那么是不是V1V2V3好,这是什么?
15:20
正序排列,那么re v呢?是不是revers反转倒序排列,那么是不是V3 V2 V1,那么假设我们用这个,那么就是最后发的越是往后越晚时间的发言越在最上面,那么是不是最新发言就在顶端,那么用这个是不是就OK好?那么除此之外我们还可以什么?但这两个命令都讲过,Z range带着分数或者分页零到五之前是前五条,那么这个呢,命令呢,我们在前面都说过,一看就应该明白,那么这个是不是按照我们的时间来记一到80,然后呢,选出来这个时间范围内的全部,那么假设你一页搜一下十条记录显示,那么我不是就是十秒钟,那么来翻过来OK,那么这样分页一样。所以在我们的实时系统当中,如果数据更新频繁或者需要分页,我们用z set,这是一个好方法,那么这个呢,就是我们对于我们需要的排序统计,注意这是什么?
16:21
实时性的,OK,不是我们练的后台管理系统,听懂了吧?啊,这个稍微有点区别,第二种二级统计,何为二级?哪两个值是20,就是初和FORCE0和一,说白了最经典的就是我们的什么什么京东APPAPP签到新浪网页登录了就签到钉钉打卡诶等等等等,爱奇艺的这个。VCR的这段小视频,这个广告你点没点过都可以用二值统计,一句话集合元素取值就只有零和一,初和false。在钉钉上班签到打卡的场景当中,我们只用记录今天你来了上班了,打个一,没有那么不好意思啊,默认值就是零,所以这个bit特map是最常见常用的。那么后续我们这儿bit map结合我们的布隆过滤器做一个真实的复杂案例,再给同学们进一步的加强。好,那么接下来,也就是我们接下来要给同学们单场的hyper log log奇数统计,那么请各位亲复习一下何为奇数。
17:27
那么请大家呢,把你们知道的打在对话框上,感谢各位同学的回复啊,那么没有忘记很好,没有白讲,小白篇我们说过啊,只统计一个集合中不重复的元素个数。哎,那么思考一下,我今天点了五进来了,同样是杨哥本人IP是固定的,我今天登录了这个首页五次,你们觉得是应该统计的时候是算一还是算五好,那么同学们,这个就是我们对一级流量系统当中常见的四大统计进行了一个维度上的说明。
我来说两句