面试经验分享-回忆版某小公司

news2025/1/19 11:34:47

说说你项目中数据仓库是怎么分层的,为什么要分层?
首先是ODS层,连接数据源和数据仓库,数据会进行简单的ETL操作,数据来源通常是业务数据库,用户日志文件或者来自消息队列的数据等
中间是核心的数据仓库层,可以细分为DWD,DIM,DWS层。
首先是DWD层主要负责对数据进行进一步测清洗规范化的操作,但是应该尽可能保持和ODS层相同的数据粒度,可以通过维度退化等方式,将维度表退化为事实表例如下单表,减少关联操作
DWS层的主要任务是对DWD层清洗后的数据进行加工,聚合,计算等操作,来满足更多业务场景需求,这一层的表通常是宽表,包含较多的业务相关字段
DIM层主要是根据维度模型建模星型模型雪花模型等,用于存储维度模型中的维度表数据例如商品,优惠券表等,目的是为了更好地进行数据分析
最后是ADS层,基于DWS的数据进行二次开发,针对业务场景和需求进行建模,其统计好的数据可以直接用于数据分析或者数据挖掘使用,比如用户留存率,最受欢迎商品top3等
怎么设计维度表和事实表
对于事实表,首先要确定业务流程,确定事实表的粒度和维度,通常一个事实表中的字段具有相同粒度,确认与其关联的维度表,确定用于度量的事实,常见的是数值类型和可加类型事实。
对于维度表,它存储的通常是离散型的数据,用于过滤数据,如果在维度表出现连续取值的数据要考虑将其放进事实表,要对维度进行合理的整合和拆分,在丰富维度属性的基础上维护维度的单一性,当维度表只有一个字段时,退化成事实表,可以减少关联次数,提高查询性能。
一道简单的SQL题,窗口函数实现top3

在工作中怎么实现多线程的
应该是考察简历中写的rabbitmq,回答的是和业务相关的,因为业务上涉及大量文件的存储转发,为了防止大文件堵塞进程,所以选用消息队列实现,通过消息传递处理进程,Java实现的
追问-如何避免重复消费
记录已处理消息:在消费者处理完消息后,记录一条日志或标记在数据库中,下次消费时检查该消息是否已被处理。
在Django中如何处理高并发
没答上来
应该是使用nginx,但是当时没负责这部分代码
Nginx在处理HTTP请求时,首先由Master进程接收到连接请求,然后将其分配给空闲的Worker进程。Worker进程通过事件循环处理请求,当请求涉及到I/O操作时,Worker进程会将其放入事件队列中,待事件触发时再处理。这种设计确保了Nginx即使在高并发情况下,仍然能够保持低资源消耗。
轮询(Round Robin):这是Nginx默认的负载均衡策略,它将请求依次分配到后端的每一台服务器,从而保证每台服务器的负载相对均衡。
用过爬虫么,有没有遇到过反爬,怎么处理
用过scrapy框架,爬过静态网页和动态网页,在爬取动态网也得时候有遇到过反爬,用过user_agent用户代理,通过配置随机更换请求头的用户代理实现,还可以在setting文件里通过IP代理实现,使用代理池实现。
用pandas处理数据有什么好处
pandas的dataframe能够很好的处理结构化和表格化数据,计算速度快,能够处理比较大量的数据,可以很容易的实现分组,聚合,排序等操作,并且支持多种文件读写,包括本地文件,SQL返回的数据等,并且基本不需要数据转换步骤。
用过那些大模型
扩散模型,clip,gpt
HIVE sql的排序函数
order by sort by
追问两者区别
‌ORDER BY‌:ORDER BY用于对查询结果进行全局排序,即将整个结果集按照指定的列进行升序或降序排列。它通常跟在SELECT语句的末尾,例如:SELECT * FROM table_name ORDER BY column_name ASC。‌
‌SORT BY‌:在一些特定的数据库系统中,SORT BY用于局部排序,它会在每个Reducer端进行排序,确保每个Reducer输出的数据是有序的,但不一定保证全局有序。例如,在Hive中,SORT BY通常用于分布式计算环境中,对数据进行预处理或中间步骤的排序。‌

效率和适用场景
‌ORDER BY‌:由于其需要对所有数据进行全局排序,当处理大量数据时可能会导致内存溢出,因此适合处理小数据量的情况。‌
‌SORT BY‌:通过生成多个临时文件进行局部排序,减少了内存的使用,适合处理大数据量的排序任务。每个Reducer的输出局部有序,但全局不一定有序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业分类相似度筛选实战:基于规则与向量方法的对比分析

文章目录 企业表相似类别筛选实战项目背景介绍效果展示基于规则的效果基于向量相似的效果 说明相关文章推荐 企业表相似类别筛选实战 项目背景 在当下RAG(检索增强生成)技术应用不断发展的背景下,掌握文本相似算法不仅能够助力信息检索&…

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)角点检测

角点检测(Corner Detection)是计算机视觉和图像处理中重要的步骤,主要用于提取图像中的关键特征,以便进行后续的任务,比如图像匹配、物体识别、运动跟踪等。下面介绍几种常用的角点检测方法及其应用。 1. Harris角点检…

RC2在线加密工具

RC2是由著名密码学家Ron Rivest设计的一种传统对称分组加密算法,它可作为DES算法的建议替代算法。RC2是一种分组加密算法,RC2的密钥长度可变,可以从8字节到128字节,安全性选择更加灵活。 开发调试上,有时候需要进行对…

玩转大语言模型——使用graphRAG+Ollama构建知识图谱

系列文章目录 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用graphRAGOllama构建知识图谱 文章目录 系列文章目录前言下载和安装用下载项目的方式下载并安装用pip方式下载并安装 生成知…

【王树森搜索引擎技术】相关性01:搜索相关性的定义与分档

工业界是怎么做的? 制定标注规则 -> 标注数据 -> 训练模型 -> 线上推理搜索产品和搜索算法团队定义相关性标注规则 认为地将 (q,d) 相关性划分为 4个 或 5个 档位相关性文档规则非常重要!假如日后有大幅度变动,需要重新标注数据&am…

学习threejs,使用FlyControls相机控制器

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.FlyControls 相机控制…

LabVIEW 程序中的 R6025 错误

R6025错误 通常是 运行时库 错误,特别是与 C 运行时库 相关。这种错误通常会在程序运行时出现,尤其是在使用 C 编译的程序或依赖 C 运行时库的程序时。 ​ 可能的原因: 内存访问冲突: R6025 错误通常是由于程序在运行时访问无效内…

第4章 Kafka核心API——Kafka客户端操作

Kafka客户端操作 一. 客户端操作1. AdminClient API 一. 客户端操作 1. AdminClient API

Tarjan算法笔记

Tarjan 内容概要 dfs 搜索树 首先,我们要知道,Tarjan 算法来源于搜索树,那是什么呢,顾名思义就是按照搜索的顺序来遍历,所产生的顺序构成的树。首先我们可以来举个有向图的例子: 所以我们可以知道 dfs 生…

socket网络通信基础

目录 一、套接字编程基本流程 二、TCP流式协议及Socket编程的recv()和send() 三、读写无阻塞-完美掌握I/O复用 select()函数详解 poll()函数详解 epoll () 函数详解 一、套接字编程基本流程 原文链接:Socket编程…

接口防篡改+防重放攻击

接口防止重放攻击:重放攻击是指攻击者截获了一次有效请求(如交易请求),并在之后的时间里多次发送相同的请求,从而达到欺骗系统的目的。为了防止重放攻击,通常需要在系统中引入一种机制,使得每个请求都有一个唯一的标识符(如时间戳…

庄小焱——2024年博文总结与展望

摘要 大家好,我是庄小焱。岁末回首,2024 年是我在个人成长、博客创作以及生活平衡方面收获颇丰的一年。这一年的经历如同璀璨星辰,照亮了我前行的道路,也为未来的发展奠定了坚实基础。 1. 个人成长与突破 在 2024 年&#xff0c…

在线base64转码工具

在线base64转码工具,无需登录,无需费用,用完就走。 官网地址: https://base64.openai2025.com 效果:

鸿蒙学习构建视图的基本语法(二)

一、层叠布局 // 图片 本地图片和在线图片 Image(https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png) Entry Component//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position s…

OA-CNN:用于 3D 语义分割的全自适应稀疏 CNN

大家读完觉得有帮助记得及时关注和点赞!!! 1介绍 2相关工作 基于点的学习。 基于 CNN 的学习。 动态卷积。 3全能自适应 3D 稀疏 CNN 3.1空间适应性感受野 赋予动机。 体素网格。 金字塔网格分区。 Adaptive 聚合器。 3.2自适应关…

利用 LNMP 实现 WordPress 站点搭建

部署MySQL数据库 在主机192.168.138.139主机部署数据库服务 包安装数据库 apt-get install mysql-server 创建wordpress数据库和用户并授权 mysql> create database wordpress;#MySQL8.0要求指定插件 mysql> create user wordpress192.168.138.% identified with mys…

Vue2.0的安装

1.首先查看是否已经安装了node.js 选择以管理员方式打开命令提示符(权限较高),或者通过cmd的方式打开 打开后输入node -v 查看自己电脑是否安装node,以及版本号 node -v 如果没有的话,请查看Node.js的安装 2.Vue和脚…

OpenEuler学习笔记(一):常见命令

OpenEuler是一个开源操作系统,有许多命令可以用于系统管理、软件安装、文件操作等诸多方面。以下是一些常见的命令: 一、系统信息查看命令 uname 用途:用于打印当前系统相关信息,如内核名称、主机名、内核版本等。示例&#xff…

无纸化同屏解决方案探究和技术展望

好多开发者,在了解到我们在无纸化同屏、智慧教育场景的碾压式行业积累后,希望我们做些无纸化同屏相关的技术探讨,实际上这块方案并不复杂,很容易做到实际使用场景契合的方案,主要是如何达到客户期望的功能和体验。 无…

nss刷题3

[SWPUCTF 2022 新生赛]webdog1__start level1: 打开环境后什么也,没有,查看源码,看到第一关是MD5值,要get传参web,然后web的值的MD5和它原来值相等,0e开头的字符在php中都是0,传入…