27双非美团日常实习一面(初面)
9.2号投递,9.16约面,泡了两周左右。
9.18号面试。
全长40分钟左右。
--------实习项目拷打环节--------
1. 面试官自我介绍,介绍部门,业务等
2. 自我介绍(公式化)
3. 介绍一下实习项目(开始介绍,着重说了一下项目中邮件推送功能,介绍自己实习产出)
4. 你说项目中用到了分布式id?说一下常见分布式id
答: 时间戳,uuid,雪花算法,我说项目中用的雪花算法。
5. 说一下雪花算法具体怎么实现的
答: 说的时候有点紧张,不过说清楚了雪花id根据每秒时间生成保证的有序性。
6. 项目用到了jwt?说说jwt。
答: 介绍了一下jwt的结构,然后项目中使用redis存储token,介绍的时候我顺便说了一下token双刷,token黑名单等。
7. 说一下threadlocal原理(我简历里没写,被问到了,不过幸好八股记得还算全)
答: threadlocal的key是弱引用,必须手动释放,否则会有内存泄漏,应用场景:一个线程内传递参数,可以减少实际方法中的参数传递。等等
---------玩具项目拷打环节(xfg的拼团)-------
8. 你说项目中用到了规则树是吧,讲解一下具体怎么实现。
答: 这里差点忘了,玩具项目好久没看了,说了一堆,勉强圆回来了。
9. redis的bitmap具体怎么来做人群过滤的?说一下bitmap。
答: 公式化bitmap八股,然后说的时候结合一些经典场景说了一下用户过滤。
10. 责任链模板讲一下,具体怎么做的?
答 : 依旧结合场景,靠当时做项目的回忆来答。(感觉这个项目还需要再复习一下,问的还挺多的)
-------实习项目二次拷打------
11. 消息队列的可靠性怎么保证?重复消费,顺序消费
答: 公式化消息队列八股,消息重试、唯一id、消费者确认、生产者确认、死信队列等等等等(开始吟唱)
12. 重点讲讲你实习中消息推送这个功能吧,为什么要用rpc和消息队列?
答: 这个实习时候确实做过,所以答的挺顺畅。
13. 场景设计题目: 如果现在我们需要对接很多个第三方支付的功能,比如微信,支付宝等,但是具体实现要分离开,同时我还要在每个支付功能的具体实现前后添加内容。请问上述场景的话,让你设计,你会用几种设计模式实现呢?
答: 首先可以使用策略模式,类比实习项目中使用策略模式对接不同的第三方邮件发送服务,
然后的话要在每个具体支付功能前后加代码的话,可以使用代理模式来进行添加
14. 追问: 策略模式一般搭配什么模式使用呢?
没答出来,面试官提示工厂模式。
15. 你项目中提到了做了慢查询sql的优化?你来说说定位慢查询,排查的整个流程。
答: 首先查询全局变量查看慢查询是否开启,同时根据获取到的日志路径,通过mysqldumpslow查看日志,找到日志问题,实际执行的时候可以使用explain关键字查看,后面就说索引失效、回表、实际执行语句时不能用函数等等。
答到这里其实答的都很好,后面面试官问了几个java基础问题(这里太久没看,模糊了),答得一坨,想找个地缝钻进去。
16. 说一下访问修饰符
答: 一共四种,答了private,public,protected和各
最后我把默认的没有修饰符的情况漏了,说一下各自作用域,没答出来没有修饰符的情况的作用域。
17. 说一下runtimeException和普通异常的区别。
答: 脑子蒙住了,没答出来。后面面试官说runtime会导致编译不通过,其他的话,抛出的话不会影响。
18. java8的stream流了解吗,list通过stream转为map该怎么写,说一下。
答: 又蒙了,忘了这个api了。只说了一下.stream().filter(),后面的记不太清楚了。
最后两道leetcode算法手撕。
1. 二分查找(板子题,直接秒)
2. 删除链表的倒数第n个节点(直接秒)
最后反问环节:
1. 请问如果面试通过的话,一共几面?
答: 两轮技术面,一轮hr面
2. 请问我还有什么不足,有什么需要提升的。
答: 算法没问题,就是java基础概念需要加强,要多注重基础。
总体感受:
面试官人很好,我不会的都会一个一个回答,也不会存在打断,面试体验很好。
许愿过一面

#牛客AI配图神器#
9.18号面试。
全长40分钟左右。
--------实习项目拷打环节--------
1. 面试官自我介绍,介绍部门,业务等
2. 自我介绍(公式化)
3. 介绍一下实习项目(开始介绍,着重说了一下项目中邮件推送功能,介绍自己实习产出)
4. 你说项目中用到了分布式id?说一下常见分布式id
答: 时间戳,uuid,雪花算法,我说项目中用的雪花算法。
5. 说一下雪花算法具体怎么实现的
答: 说的时候有点紧张,不过说清楚了雪花id根据每秒时间生成保证的有序性。
6. 项目用到了jwt?说说jwt。
答: 介绍了一下jwt的结构,然后项目中使用redis存储token,介绍的时候我顺便说了一下token双刷,token黑名单等。
7. 说一下threadlocal原理(我简历里没写,被问到了,不过幸好八股记得还算全)
答: threadlocal的key是弱引用,必须手动释放,否则会有内存泄漏,应用场景:一个线程内传递参数,可以减少实际方法中的参数传递。等等
---------玩具项目拷打环节(xfg的拼团)-------
8. 你说项目中用到了规则树是吧,讲解一下具体怎么实现。
答: 这里差点忘了,玩具项目好久没看了,说了一堆,勉强圆回来了。
9. redis的bitmap具体怎么来做人群过滤的?说一下bitmap。
答: 公式化bitmap八股,然后说的时候结合一些经典场景说了一下用户过滤。
10. 责任链模板讲一下,具体怎么做的?
答 : 依旧结合场景,靠当时做项目的回忆来答。(感觉这个项目还需要再复习一下,问的还挺多的)
-------实习项目二次拷打------
11. 消息队列的可靠性怎么保证?重复消费,顺序消费
答: 公式化消息队列八股,消息重试、唯一id、消费者确认、生产者确认、死信队列等等等等(开始吟唱)
12. 重点讲讲你实习中消息推送这个功能吧,为什么要用rpc和消息队列?
答: 这个实习时候确实做过,所以答的挺顺畅。
13. 场景设计题目: 如果现在我们需要对接很多个第三方支付的功能,比如微信,支付宝等,但是具体实现要分离开,同时我还要在每个支付功能的具体实现前后添加内容。请问上述场景的话,让你设计,你会用几种设计模式实现呢?
答: 首先可以使用策略模式,类比实习项目中使用策略模式对接不同的第三方邮件发送服务,
然后的话要在每个具体支付功能前后加代码的话,可以使用代理模式来进行添加
14. 追问: 策略模式一般搭配什么模式使用呢?
没答出来,面试官提示工厂模式。
15. 你项目中提到了做了慢查询sql的优化?你来说说定位慢查询,排查的整个流程。
答: 首先查询全局变量查看慢查询是否开启,同时根据获取到的日志路径,通过mysqldumpslow查看日志,找到日志问题,实际执行的时候可以使用explain关键字查看,后面就说索引失效、回表、实际执行语句时不能用函数等等。
答到这里其实答的都很好,后面面试官问了几个java基础问题(这里太久没看,模糊了),答得一坨,想找个地缝钻进去。
16. 说一下访问修饰符
答: 一共四种,答了private,public,protected和各
最后我把默认的没有修饰符的情况漏了,说一下各自作用域,没答出来没有修饰符的情况的作用域。
17. 说一下runtimeException和普通异常的区别。
答: 脑子蒙住了,没答出来。后面面试官说runtime会导致编译不通过,其他的话,抛出的话不会影响。
18. java8的stream流了解吗,list通过stream转为map该怎么写,说一下。
答: 又蒙了,忘了这个api了。只说了一下.stream().filter(),后面的记不太清楚了。
最后两道leetcode算法手撕。
1. 二分查找(板子题,直接秒)
2. 删除链表的倒数第n个节点(直接秒)
最后反问环节:
1. 请问如果面试通过的话,一共几面?
答: 两轮技术面,一轮hr面
2. 请问我还有什么不足,有什么需要提升的。
答: 算法没问题,就是java基础概念需要加强,要多注重基础。
总体感受:
面试官人很好,我不会的都会一个一个回答,也不会存在打断,面试体验很好。
许愿过一面
#牛客AI配图神器#
全部评论
蹲后续
相关推荐
09-17 11:50
华中科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享