moka后端实习一二HR面

状态:已offer,已释放
timeline
一面 2024-03-12
-----------------
1. 自我介绍
2. 实习项目拷打
3. 为什么用编程式事务,不用声明式事务
4. 为什么用MQ(异步)?失败如何处理?
5. sql优化的例子
6. 联合索引(a_b_c), a=1 and b > 1 and c = 1,走索引吗?
7. explain执行计划看哪些列?
8. AQS的方法有哪些?什么是CAS?
9. ThreadLocal?存在哪些问题?
10. 引用,强、弱、软、虚。
11. SpringAop,如何实现的?
12. 服务间调用用的什么?openFegin的实现?之间是什么网络传输协议?
13. mysql事务隔离级别
14. 读已提交和可重复读的区别
15. 可重复读可以解决幻读吗?如何解决幻读?(MVCC)
16. 手撕,输出数组中没有重复出现的元素
17. 反问

总结:整体面试的体验还是很好的,面试官感觉你不会了就不继续问了,反问环节给出了面试评价,项目部分还要复习一下,刚面完就通知二面了,还是挺感谢面试官的!

二面 2024-03-14
-----------------
1. 主键索引的叶子节点存储的什么?叶子节点不会保存数据吗?
2. 根据主键索引查询数据,主键索引如何和真实数据建立关系?
3. 主键选择什么类型?主键值如何生成?
4. 设计一张表,主键类型是varchar,生成uuid作为值,和 long、自增 从效率上分析如何?如果不会改变b+索引重建呢?
5. MVCC主要解决什么问题?
6. 脏读是靠MVCC解决的吗?幻读呢?
7. 什么是幻读?举个例子
8. 慢sql如何分析和处理?
9. 慢sql优化的方式有哪些?
10. 最左匹配原则?联合索引abc,查询条件只有a、c,索引生效吗?
11. ThreadLocal使用的场景?会产生内存泄漏吗?原因是什么?如何避免?
12. 当前将数据存放在ThreadLocal中,后续处理需要开启新的异步线程,是否能拿到数据?
13. Redis的场景?商品缓存用什么数据结构?
14. 数据一致性如何解决?延时双删update之后如何删除?删除失败如何处理?

总结:很不错的面试体验,问的很场景和细节,正好不会的可以恶补一下,场景题学起来。
全部评论
11号面的,八股,算法,sql都对了为啥没二面
点赞 回复 分享
发布于 2024-03-13 10:09 江西
moka你还敢来?😂
点赞 回复 分享
发布于 2024-03-13 18:35 四川
8k
点赞 回复 分享
发布于 2024-03-13 18:40 浙江
看来二面我们是同一个面试官,兄弟去了吗
点赞 回复 分享
发布于 2024-03-14 18:12 重庆
这么低?
点赞 回复 分享
发布于 2024-06-21 14:05 四川

相关推荐

03-12 20:51
门头沟学院 Java
吐槽一下:企业微信是真忙啊,面试过程中,面试官还会被拉去开会,开局写完三道算法之后,硬是让我等了将近一个小时,体验非常不好....---#### **一、算法题**1. **二维数组处理**     - 题目描述:对二维数组按第一列升序、第二列降序排序后,求第二列的最长递增子序列     - 思路:排序后转化为最长递增子序列(LIS)问题,用动态规划或贪心+二分解决  2. **滑动窗口问题**     - 题目描述:维护一个窗口,保证窗口内字符不重复,求最大窗口长度     - 思路:滑动窗口+哈希表记录字符位置  3. **二叉树第K大元素**     - 题目描述:按左-根-右顺序收集元素后取第K大值     - 思路:中序遍历得到有序列表后直接取第K大(暴力解法)  ---#### **二、项目相关**1. **登录鉴权机制**     - 流程:手机号+验证码登录,未注册用户自动注册     - Token刷新:通过拦截器对非登录请求刷新Token有效期     - **追问**:       - Token生成算法?使用JWT(Header+Payload+Signature)       - Token唯一性保障?通过JWT签名和用户唯一标识  2. **数据库优化**     - 慢查询解决:检查索引失效、分库分表、SQL优化     - **索引原则**:       - 高区分度字段优先       - 联合索引遵循最左匹配原则       - 避免对长文本字段建索引  ---#### **三、缓存问题**1. **缓存穿透**     - 场景:请求不存在的数据(如非法ID)     - 解决:缓存空值+布隆过滤器  2. **缓存击穿**     - 场景:热点Key失效后高并发请求压垮数据库     - 解决:互斥锁(如Redis的SETNX)  3. **缓存雪崩**     - 场景:大量Key同时过期     - 解决:随机过期时间+集群部署  ---#### **四、多线程与锁**1. **线程安全集合**     - `ConcurrentHashMap` vs `Hashtable`:分段锁 vs 全表锁  2. **锁机制**     - 悲观锁:`synchronized`、`ReentrantLock`     - 乐观锁:CAS(如Atomic类)、版本号     - **区别**:悲观锁强一致但性能低,乐观锁高并发但需处理冲突  ---#### **五、消息队列**1. **选择RabbitMQ的原因**     - 轻量级、适合单体项目,对比Kafka/RocketMQ更简单  2. **长连接实现**     - 基于AMQP协议,通过心跳机制维持TCP长连接  ---#### **六、设计模式与AOP**1. **AOP应用场景**     - 公共字段自动填充(如创建时间、更新人)     - 实现:通过切面拦截DAO层操作  ---#### **七、反问环节**1. 实习生工作内容:测试平台开发,参与1-2个项目  2. 面试轮次:4轮技术面(按正式员工标准)  3. 改进建议:技术深度需加强(如Redis底层原理、锁实现细节)  ---**参考答案亮点**  - **JWT结构**:Header(算法)、Payload(用户信息)、Signature(签名)  - **索引失效场景**:对字段使用函数、类型隐式转换、模糊查询左匹配  - **CAS问题**:ABA问题(通过版本号解决)、自旋开销  - **RabbitMQ协议**:基于AMQP,支持多种消息模式(Work Queue、Pub/Sub)
查看16道真题和解析
点赞 评论 收藏
分享
评论
9
22
分享

创作者周榜

更多
牛客网
牛客企业服务