26暑期实习——二战美团测开一面凉经
上次被挂后4.16被捞面试,感觉答得还不如上次
总时长50min
1.自我介绍
2.项目相关
2.1 介绍一下博客项目
2.2 为什么要做这个项目(答用来学习基于springboot开发的全过程)
2.3 学习项目,是不是没有上线(没上线)
2.4 整个项目是如何进行需求分析的(借鉴了市面上常见的博客系统,观察他们有什么样的功能,再确认我自己需要什么功能 )
2.5 具体是如何对需求进行拆分
2.6 项目都细分为了哪些模块
2.7 我看你写了MinIO,在项目中起到了什么作用
2.8 有没有了解过MinIO的底层逻辑/细节(没了解过,只是用到了,知道是分布式系统中会用到 )
2.9 部署的MinIO是单节点还是多节点(单)
2.10 项目中的难点在哪(遇到的bug及如何解决的)
2.11 从这个项目中学到了什么
2.12 有没有用过AI辅助写代码比如cursor,通义灵码,以及你觉得哪些代码可以让AI去写效果比较好
2.13 项目中如何进行测试的(postman+前后端联调,针对每个接口,对功能、边界值、性能、安全性、兼容性等方面进行测试)
2.14 项目是你一个人做的,如果有两三个人做的话,你是类似于项目经理的角色,如何进行分工,遇到问题怎么解决。
2.15 如果你是其中一个模块的负责人,你要怎么和其他模块的同事/同学进行交流沟通,开展自己的工作(接口文档、线上线下)
2.16 如果你负责的这部分依赖于另一个人,他那边遇到了一些问题,导致你的进度被阻塞,这时候你会怎么做(帮他)
2.17 如果你在帮他的过程中,发现他的技术方案存在bug,你会怎么做?
3.八股
3.1 xxxx和xxxx的区别有没有了解过(完全没听说过的两个词)
3.2 行式存储数据库和列式存储数据库(只回答了平时常用的关系型数据库是行式,列式不知道)
3.3 查询请求的长尾问题(面试官解释了好几遍才听懂,分布式系统中常见的问题,回答到数据库慢查询上去了)
3.4 长尾会带来什么问题(只答了用户体验会比较差)
3.5 数据库事务的ACID
3.6 事务的隔离级别
3.7 为什么划分为不同的隔离级别
3.8 docker有没有了解过原理(无)
3.9 线程模型(BIO,NIO,AIO)
3.10 多路复用的实现/xx(记不清具体问题了,回答的select,poll,epoll)
3.11 epoll这种方式的术语(事件触发)
3.12 select、poll、epoll的优缺点,什么场景下适合用哪个
3.13 epoll的触发方式(只回答出了水平,边缘触发忘了)
3.14 解决hash冲突有哪些方法
3.15 了解过分布式系统吗
3.16 分布式系统最常用的哈希方法(不会,说了个nginx的一致性哈希)
3.17 分布式系统管理节点的哈希方法
4.AI相关
4.1 平时用AI用的多吗,在哪方面用的比较多
4.2 有没有利用AI开发/构建过一些工具(没有,本科毕设涉及到了AI,讲了一些)
4.3 使用AI的时候会存在一些问题吗
5.手撕+思路讲解(11min)
K个一组反转链表
6.对测试开发有什么看法
7.最早入职时间,你们老师鼓励你们去实习吗
8.反问
8.1 部门业务
8.2 个人需要加强的点(对业务的理解与掌握)
总结:反问完业务后感觉G了,主要是做底层的,和分布式相关,但是面试中分布式的问题都没答出来