美团数据开发面经

美团数据开发面经(一面)

面试部门:核心本地商业-到店研发平台
(优选挂了之后被到店捞了,但是最后也挂了)
面试时长:30min

一. 主要是问实习…根据实习一条条问。

  1. 资产门户的完善主要做的是什么可以说一下吗?
  2. 数仓自动应答,请问具体是做什么的?
    那知识库的来源是核心基线和核心数据专辑是吗?
    表名和字段名的切分是根据什么做的?
    那切分的逻辑是什么样的?那我好奇如果有一个词根是“金融管控”然后有一个是“金融”,那他的切分规则是什么?
    自动应答知识库建立完就完事了吗?
  3. 数据治理都做了哪些?
  4. 规范治理是和业务负责人,业务负责人是什么概念?
  5. 业务域和主题域是怎么理解的?
  6. 如何去划分一个业务域和主题域呢?假如如果有一个新的业务过来,我们怎么去划分这个数据要归到哪个域里?
  7. 解决ods穿透沉淀资产时,你提到有一个五要素,这是啥?
  8. 高消耗任务治理的时候,高消耗任务是怎么定义的?
  9. 怎么看一个任务资源消耗的情况呢?
  10. 那你的调优方法主要有哪些呢?
  11. 核心任务调度时间调整,为什么要梳理从ods到ads的整个过程的调度时间呢?下游不应该自动扫描到上游的依赖关系啊,为什么还要整理全链路的调度时间呢?
  12. 你了解那些建模方法?
  13. 三范式建模和维度建模的优缺点?

二. 一道sql,让讲多种思路

在这里插入图片描述

### 关于美团软件测试面试的经验 #### 软件测试流程 在软件测试领域,通常按照四个主要步骤进行测试活动。这包括单元测试(Unit Testing),用于验证单个模块的功能;集成测试(Integrated Testing),确保多个模块协同工作无误;确认测试(Validation Testing),验证最终产品是否满足需求规格说明书的要求;以及系统测试(System Testing)和发布前的版本测试,全面评估整个系统的性能和稳定性[^2]。 #### 编写有效的软件测试计划 为了提高软件质量并有效管理测试资源,在制定软件测试计划时需注意以下几点:测试范围应尽可能广泛地覆盖所有的功能性需求;选用的方法要实际可操作性强;推荐使用的工具不仅要高效实用而且容易上手,同时生成的结果应当清晰明了、精确可靠[^3]。 #### 提早参与的重要性 值得注意的是,软件测试不应仅仅局限于代码完成之后才始执行。实际上,从项目的最初阶段——即需求分析期起就应该让测试人员参与到其中去。这是因为除了对最后编写的程序本身做检测外,还需要审查在整个发周期里形成的各种文档资料等内容是否存在错误或者不足之处。另外考虑到成本因素的话,则更应该尽早发现问题所在,因为在后期修正这些问题将会耗费更多的人力物力财力等资源[^4]。 #### 回归测试定义 回归测试指的是当修改了一个应用程序后重新运行以前的一系列测试案例来保证新改动没有引入新的bug或者是破坏已有功能的一种做法[^4]。 --- 以下是几个可能涉及的具体技术性问题及其解答: 1. **Q:** 描述一下TCP三次握手的过程? - A: TCP协议建立连接之前会经历所谓的“三步握手”。第一次由客户端发送SYN包给服务器请求建立链接;第二次收到该消息后的服务端回应一个带有自己序列号syn_ack的数据报文同时也把acknowledgement number设置成client初始序号加一表示接受到对方发起建链意图;第三次Client再次回复Server含有ACK标志位置为true的消息至此双方都认为可以正常通信了[^5]。 2. **Q:** DNS解析的工作原理是什么? - A: 当访问某个网址时,浏览器先查询本地缓存看是否有对应的IP地址记录如果有的话则直接跳转过去如果没有就需要向DNS server发出询问直到找到目标主机为止这个过程可能会经过根域名服务器顶级域名称服务器授权域名服务器等多个环节逐级查找直至定位成功返回结果给用户终端设备显示网页内容[^6]. 3. **Q:** 如何理解HTTP状态码分类及常见用途? - A: HTTP响应状态码分为五大类分别代表不同的含义如下所示: - 1xx (Informational): 表示接收的进程收到了Web请求并且继续处理; - 2xx (Success): 成功接收到请求数据并且正在处理; - 3xx (Redirection): 完成此请求必须采取进一步行动才能完成; - 4xx (Client Error): 请求中有语法错误或无法实现; - 5xx (Server Error): 由于服务器的原因导致未能履行合法请求[^7]. ```python import socket def tcp_handshake(host, port): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, port)) syn_packet = b'\x00\x00' # Simplified SYN packet example sock.send(syn_packet) response = sock.recv(1024) ack_packet = process_response(response) sock.send(ack_packet) except Exception as e: print(f"Error during handshake: {e}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值