到此为止了,暑实。美团一二面
到店
一面
1h15min
自我介绍
意向城市
可以接受实习时长
1. 对着简历问项目上的点:
风控背景,为什么对account、ip分别封控,怎么做频次控制的,针对这个点举了个场景问怎么处理的
说一下对超卖的解决
(项目是玩具外卖、、、不过是自己做的 0.0 不是点评和苍穹)
2 . 实习:
在b站做什么的,有哪些产出
问了两个性能优化相关的需求:原来有什么问题,如何定位的,如何优化的,然后提出了些质疑 临场编了一番。。。
3 . 八股
mysql索引介绍
索引的原理,索引优化有哪些方法,创建索引有哪些注意事项
redis的常见问题:击穿、穿透、雪崩及其解决
如何保证db与cache双写时的一致性
手撕:leetcode53 最大子数组和 (又是你?
反问:
你们是做什么的,如何平衡技术和业务,如何在一个接一个业务需求中提升自己的技术广度深度
反思:
1 面试保证好网络质量
2 语速快一些
3 项目太简单了啊 这怎么聊、、、多完善和挖掘吧
4 对自己做过的内容要更清楚,怎么表述整熟练
5 题,再自行刷刷吧
6 全面思考,对自己做过的多问为什么 还有别的方案吗 为什么选择这样做了
7 八股继续熟悉吧,没啥可说的,连索引的原理都说的贼乱。。。
再好好整理一下索引:
Innodb中分聚簇索引和二级索引。索引是一颗叶子之间也存在双向链表的升级版b+树。
1 . 从聚簇索引说起:
按照主键大小进行记录和页(包括叶子节点和非叶子节点)的排序,具体体现在:
a. 一个页内是按主键大小连成的单向链表,且每若干条被分一组,取出每组中主键最大的 取其主键值和页内偏移,形成页内目录 --> 便于页内快速定位记录位置
b. 叶子节点之间,根据主键大小(页内最小主键值)来比较排序形成双向链表 ---> 之所以是双向因为往往需要向前找到第一个符合扫描边界条件的记录
c. 存放目录项记录的页分不同层级,为非叶子节点,每一层级也同上 根据主键值形成双向链表
叶子存放的是完整记录,所以对于聚簇索引,索引即数据 数据即索引。非叶子节点存主键+页号 是目录项记录。
2 . 二级索引与之类似,有几处不同:
a. 采用指定的索引列进行页与记录的排序
b. 非叶子节点中的目录项记录,存索引列+页号
c. 叶子节点中,存索引列+主键(用于回表)
3 . 索引设计:
作为查询条件、联表条件的设为索引
联合索引中筛选价值高的列靠前
考虑根据索引覆盖来建联合索引
索引列需注意尽量满足:
不大 ---> 省空间以及提升效率
有序(随记录插入顺序保持有序) ---> 索引按序追加,避免页分裂 降低索引维护与使用开销,提高索引缓存效率(db以页为单位加载到内存,显然一页内目录项记录数多多益善)。对于主键 做好按记录插入顺序保持有序 也有利于回表时查聚簇索引满足局部性
二面
58min
自我介绍
实习:
1 问实习技术栈
2针对简历上重构代码的需求,问了责任链模式(我在这个需求中有用到)内容介绍、场景,并要求手写了责任链的框架。大概3min多写完 问了思路,问了怎么把各个处理器加载进manager的,答了几种方式
有种方式使用spring的依赖注入,于是紧接着问了spring注入怎么加载到的,@Autowire 与@Resource区别
八股:
InnoDB索引的数据结构
索引为什么用B+树不用红黑树B树
B+树索引节点内容都存了什么
说下回表过程
给了两个sql问走索引情况(考联合索引最左匹配的那类
数据库的锁都了解哪些
上锁是根据索引类型有关的是吧,说一下不同索引类型的上锁情况
mysql的死锁有遇到吗
模拟一下简单的死锁场景
说一下事务的几种隔离级别及实现原理
JVM内存模型
有排查过GC吗。。。。使用哪些工具?
volatile干什么用的
手撕: 合并两个有序链表,写完说一下思路
聊天:
学习一个新技术是怎么学的,对base看法,实习时长
反问:
问业务,问技术提升
时间线:
3.16 笔试
3.20 一面
3.22 二面
3.26 offer
边工作边应聘还要时不时处理学校麻烦事,很难顶。拿到一家offer后速速收工脱战。祝大火尽早oc大厂
#暑期实习##软件开发2024笔面经#