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基础概念需要加强,要多注重基础。

总体感受:
面试官人很好,我不会的都会一个一个回答,也不会存在打断,面试体验很好。

许愿过一面

---------------
寄,9.22发感谢信了
#牛客AI配图神器#
全部评论
蹲后续
点赞 回复 分享
发布于 09-19 15:45 北京
接好运
点赞 回复 分享
发布于 10-23 16:41 江苏
mrk
点赞 回复 分享
发布于 09-28 22:38 吉林
兄弟哪个部门呀
点赞 回复 分享
发布于 09-25 14:55 上海
这么牛逼一面都挂啊?
点赞 回复 分享
发布于 09-25 11:20 北京
接好运
点赞 回复 分享
发布于 09-22 20:48 北京
我7月投美团,2个多月一直在初筛
点赞 回复 分享
发布于 09-22 09:27 北京
接好运
点赞 回复 分享
发布于 09-22 09:21 北京

相关推荐

11-23 21:15
门头沟学院 Java
实习 1.threadpooltaskexecutor是什么作用2.forkpooljoin 起什么作用?底层窃取算法怎么实现的?3.为什么更适合 cpu 密集型?那你如何防止他创建大量线程的(我答换了使用另一个自定义线程池(核心线程数和最大线程数设置成一样)?那核心线程和最大线程设置成一样是什么效果?4.你用countdownlatch 作用是啥?await 是如何做到阻塞在那的?底层原理?聊一聊 AQS?八股1.聊一聊泛型?实际有用过吗?用的多的有哪些场景?2.反射主要用在什么场景?你的理解中为什么需要反射这种机制?3.有了解过动态语言和静态语言么(这里蒙了,然后跟我解释是编译型和解释型语言的意思),java 属于哪种?为什么说是半编译半解释?4.讲讲 AOP?5.java 生成代理有哪几种方式?讲下静态代理和动态代理,动态代理动态在哪里?生成动态代理的方式有哪些?6.集合了解哪些?CopyOnWriteArrayList是怎么实现并发安全的?CopyOnWriteArrayList如果只是读写分离不是会有数据不一致的问题么,有进一步了解么?7.HashMap 和 ConcurrentHashMap 区别?JDK8 ConcurrentHashMap锁的粒度这么小的话不会有额外的开销吗?它用的是什么锁?8.Syncronized 锁的原理?9.了解哪些 GC 算法?G1 从哪个版本开始有的?jdk8默认垃圾回收器是什么?10.JVM 内存分哪几个区域?11.双亲委派模型讲讲?为什么要避免重复加载?有了解要破坏双亲委派的场景吗?破坏双亲委派模型要重写的类叫什么?12.数据库 MVCC 机制讲下?它是怎么做到让一些事物不可见的?它是怎么知道前面有一串事物 id 的?13.undolog 作用?14.spring 里面怎么注入一个 bean?15.@Resource 和@Autowired 区别?16.Spring 默认事务传播级别?17.事物注解失效的场景?为什么自调用会导致事物失效?如果代码就写成这样了,自调用导致事物失效了,怎么办?18.布隆过滤器讲下?弊端?
查看22道真题和解析
点赞 评论 收藏
分享
评论
6
46
分享

创作者周榜

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