美团基础研发平台一面

美团基础研发平台一面
项目
1. 说说一条SQL语句的处理过程
解析器通过词法解析和语法解析将SQL转化为抽象语法树,同时进行语义分析,查看SQL是否有错误;生成的语法树还会根据用户的权限、定义的规则进行重写,重写后移交给planner,planner通过逻辑优化和物理优化后生成具体的可执行的计划树,移交给执行器执行,最后将执行结果返回给客户端。

2. 如何生成执行计划?逻辑优化和物理优化举例说明
执行计划是根据query tree和优化器优化。逻辑优化是基于规则的优化,一般有上拉子查询和子链接,谓词下推,常量替换,等价表达式的替换等操作,改造查询树的结构使其更加高效;物理优化是指基于代价(模型)的优化。

3. 如何排查慢查询问题?
查看慢日志,定位慢查询的SQL语句,然后执行explain分析其查询计划,查看索引使用、连接路径(实际使用的排序算法等等)。

4. 如何使得一条SQL的执行计划基本不变化?
这里不是很了解,可以在事务内设置参数GUC值,控制执行计划的生成。

5. Greenplum架构,MPP架构,分库分表的数据库执行SQL跟单机有什么区别

6. Greenplum数据备份怎么做的
一份数据多份副本存在其他机器上

7. PG隔离级别,如何实现RC和RR;快照隔离实现了可串行化吗,没有

8. RR级别MVCC读、加排他锁锁写如何实现,为什么要加间隙锁不加会怎么样?
如何实现不太会。。出现幻读现象

select from A for update加什么锁,排他锁

9. 了解Mysql如何实现隔离级别的吗?
mysql MVCC快照读,加临键锁写,可以避免幻读问题。没讲清楚,得再学习学习

10. 幻读和不可重复读
不可重复读指读同一行记录时,读到了其他已提交事务的更新;幻读指的是两次读的行数不同

11. PG底层如何delete,标记删除,删除后如何回滚,多版本

12. B+tree唯一索引如何实现,
删除旧key,如何再插入同样的key,如何保证多个事务同时插入key不会出错。如果标记被删除数据过多怎么办?插入前清理垃圾元组

13. Mysql的主从复制,读的话加锁更安全还是快照读更安全,为什么?
应该是加锁安全,避免并发顺序可能导致回放log出现不一致。

未来从业规划,会更倾向于美团吗
反问,部门各个组的业务,然后本组做的事
全部评论
这是基架组吗?问的问题太底层了吧。。。
1 回复 分享
发布于 2023-09-11 22:57 浙江
老哥,是后端开发吗
点赞 回复 分享
发布于 2023-09-08 16:09 四川
和我二面问题很像,昨天刚刚面的😂
点赞 回复 分享
发布于 2023-09-05 09:42 陕西
老哥啥岗位呀
点赞 回复 分享
发布于 2023-09-04 21:28 湖北
约二面了吗
点赞 回复 分享
发布于 2023-09-03 20:54 浙江

相关推荐

一面:全程50min1. 自我介绍2. 项目中的责任链模式是怎么设计的?怎么应用到你们的这个项目当中的?3. 责任链模式一般都有一个抽象的接口,这部分你是怎么思考和设计的?4. 你提到的这个责任链的上下文存什么信息?你是怎么评判这个数据是应该存在上下文还是直接传参的?5. 你觉得除了责任链模式之外,还有什么设计模式是你觉得能够适配这个场景的?6. 哈希路由协程池你提到了利用FIFO去避免竞态,那你认为这种竞态会对正常的线上服务造成怎么样的影响?7. 你实习主要负责的业务是什么?8. 除开你简历上写的这些内容,你们实习生平时还会负责一些什么任务?9. Golang的内存逃逸是怎么回事?10. 接T9,结构体实例逃逸到堆上会有怎么样的问题?11. Redis为什么快?12. 你觉得应该怎么解决大Key和热Key问题?13. MySQL分表你觉得应该应该怎么分?14. 环型链表II(数学证明:弗洛伊德环路寻找算法)反问:1. 组内业务2. 对校招生的预期3. 改进及建议下一个工作日约二面二面:全程45min1. 自我介绍2. 介绍一下实习项目,具体做了什么事情?项目的背景和挑战是什么?3. 项目中的数据一致性问题具体是什么?4. 描述一下从浏览器地址栏输入一个网址,按下回车后,到最终页面渲染出来的完整过程5. 除了你的项目中提到的方法,业界还有哪些常见的保证最终一致性的方案?6. 你对2PC、3PC、TCC模式的理解是什么?7. 如何排查和解决MySQL中的慢查询问题?8. MySQL是如何保证其事务的ACID特性的?9. MySQL的事务隔离级别有哪些?10. 解释一下什么是脏读11. MySQL底层存储数据的结构是什么?12. Redis为什么这么快?13. Redis有哪些常用的数据结构?你自己在项目中用过哪些?14. ZSet的底层数据结构是什么?15. Redis如何实现持久化?AOF和RDB有什么区别?16. 介绍一下你的消息推送平台项目是做什么的。17. 业界常见的消息队列有哪些?18. 消息队列一般用在什么场景下?19. 设计一个秒杀系统。假设有单一商品,库存有限,需要应对10万QPS的瞬时流量20. 手撕:二叉树的最近公共节点(写完递归后要求写非递归没写出来)21. 智力题:有9个外观一样的球,其中1个比其他8个重。给你一个天平,最少称几次可以找出那个重球?反问:1. 业务2. 面试流程3. 建议当天下午收到拒信秋招首个面试挂,二面体验非常怪,面试官似乎对实习和项目完全不感兴趣,都是草草问两句就紧接着问八股了,回答的时候有时候想留一部分让面试官追问,然后面试官真的就不问了,不知道会不会因此被打上深度不够的面评,可能下次(如果还有的话)还是得直接吟唱
点赞 评论 收藏
分享
一面只录了一半,AI总结的是知识点:通话记录为技术面试内容,涉及CSS布局、JavaScript异步机制、内存泄漏等前端知识点讨论。1.会计元素类似于div,行业元素则类似span或p,用于显示内容,而块级元素在布局中未被深入讨论。2.实现垂直水平居中的方法有多种,包括使用flex布局、justify-content与align-items、表格布局、绝对定位配合transform等。3.绝对定位居中可通过设置top和left为50%,再用transform平移自身宽高的一半实现,适用于未知子元素尺寸的情况。4.v-if与v-show的区别在于v-if是条件渲染,不满足时不会创建元素,而v-show是通过display控制显隐,始终渲染。5.重排指元素尺寸变化导致页面布局重新计算,重绘则是样式改变但不影响布局,如颜色变化,两者均影响性能。6.JavaScript基础数据类型包括number、string、boolean、symbol、null、undefined,其中symbol表示唯一值,BigInt用于大整数。7.setTimeout设为0仍是异步任务,会进入宏任务队列,微任务优先于宏任务执行,Promise.then属于微任务。8.async函数的实现原理。9.Promise有pending、fulfilled、rejected三种状态,支持链式调用和错误捕获;async/await需用try-catch处理异常。10.浅拷贝复制对象的引用地址,修改副本会影响原对象;深拷贝创建新内存空间,副本与原对象独立互不影响。11.深拷贝适用于需独立操作数据的场景,如代码编辑器左右对比,避免修改右侧影响左侧原始数据展示。12.线程是CPU调度的基本单位,在内存中运行,进程是资源分配的基本单位,一个进程可包含多个线程。13.JavaScript是单线程语言,因需协调DOM渲染与脚本执行,避免并发冲突,通过事件循环机制处理异步任务。14.判断括号匹配可用栈结构,左括号入栈,右括号出栈比对,最后检查栈是否为空以确定是否完全匹配。15.HTTPS相比HTTP更安全,通过SSL/TLS加密传输数据,包含客户端请求支持算法、服务端返回证书、密钥协商等步骤。16.HTTPS加密过程包括客户端发送支持版本与算法、服务端选择并返回证书、客户端验证证书后协商密钥完成加密通信。17.前端安全漏洞包括XSS(恶意脚本注入)、CSRF(跨站请求伪造),可通过转义输入、设置HttpOnly、双重验证等防范。18.合并两个有序链表时,先判断是否有空链表,再比较节点值,将较小者接入新链表,直到某一链表为空后接上剩余部分。19.设计模式常见有工厂模式(统一创建对象)、单例模式(确保唯一实例)、装饰器模式(动态添加属性)、观察者模式(状态通知)。20.代理模式通过代理对象控制对目标对象的访问,可用于延迟初始化、权限控制、日志记录等场景。21.代码质量评估包括性能(加载速度、内存泄漏)、安全性(敏感信息暴露)、可维护性(注释清晰、易于理解)。22.内存泄漏常见场景包括未释放的大数组、未解绑的事件监听器,尤其在页面卸载时未清理会导致持续占用内存。二面:纯聊天基本信息,学历经历,学校项目的经历,实习经历,实习过的公司对比想去哪,ai coding写一个支付界面,爱好,讨论ai coding的前景,反问面试官说还有三面,求通过🙏
点赞 评论 收藏
分享
评论
10
56
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务