携程一二面hr面面经

9.1一面 40Min
1.围绕项目问问题
2.HashMap了解多少,说一说
3.为什么链表大小超过8,总数据量超过64的时候要用红黑树
4.JVM垃圾回收了解多少,说一说
5.垃圾回收器都了解什么?
6.JDK11 ZGC了解吗
7.大对象是怎么分配的
8.什么时候执行fullGC
9.有一个静态全局变量,然后两个线程,可能会引发什么问题?
10.volatile了解吗?
11.堆和栈了解吗?各自有什么使用场景
12.MQ如何保证消息不丢失?
13.MQ如何处理消息积压
14.分布式都了解多少,讲一讲
15.Redis分布式相关都了解什么?
16.Redis分布式锁有没有用过?怎么用的?
17.问实习相关
18.一个大数组,里面只有一组重复数据,如何检测出来?
面完问面试官这轮表现有什么问题,面试官说整体来看达到了校招要求,但是今年校招要求比较严格,即使你很优秀,可能也会有更优秀的人。说完直接感觉凉凉。
9.6二面  45Min
1.自我介绍和往前流程不太一样,面试官让介绍最近的项目以及个人优势
2.问项目,并提出新场景问你如何改进。
3.出了个springboot的应用题。。。离谱。。自定义了一个注解什么的,然后问我funB会不会调用funA。。不会
4.原子操作了解吗?
5.java如何保证原子操作?对比一下
6.堆和栈有什么区别?
7.如果有一个for循环,然后里面定义了 String str = "abc";对象都是怎么分配的?
8.HashMap,HashSet讲一下
9.WeakHashMap了解吗?讲讲
10.RuntimeException和Exception能讲讲吗
回答的时候提到了编译时异常。。。后悔了,对编译时异常一点不熟悉。。紧接着面试官就让说运行时异常和编译时异常各自场景。。
11.对比 == 和 equals
12.hashcode和equals之间有什么关系?hashcode相等equals必相等吗?hashcode要怎么重写?为什么不重写不行?
13.mysql查询速度很慢,怎么优化呢?mysql分表如何设计?
分表答的不好,面试官帮忙解答了一些。分表有时候并不能优化查询速度,分表会导致多次磁盘IO,速率并不一定会提高。可以通过建立映射表,或者把经常查询的大表中的一些数据给他放到es里面或者其他一些组件里面来优化,这都是企业开发常用的一些方法。
14.redis分布式锁了解吗?
15.有一个场景,比如在抢购某项商品,然后一个线程对某项数据加了分布式锁,然后不想其他用户线程读取的时候一直报错误信息应该怎么做呢?
我理解有问题。。我以为是想其他线程加锁的同时不影响别的线程读取,就说另开一个服务器专门供读之后再进行同步。面试官解答说自旋获取锁,定一个时间,比如5s如果5s内没获取到锁就返回失败。
9.16hr面 15min
hr面前一天,同部门的老哥hr面,应该是我们部门第一天hr面,结果这个老哥hr面挂了,而且背景很好完全没有挂的理由,给我搞得贼害怕。。
面试都是hr面比较常见的问题。hr面之后发了个英语测评。。做的稀烂。。感觉测评要挂。。今天赶紧补补面经攒攒好运,许愿携程测评不挂,挂了hr也再给我次机会,许愿排序不挂,许愿携程oc!!看在我今天补了这么多面经的份上一定oc啊
#面经笔经#
全部评论
老哥意向了吗
1 回复 分享
发布于 2022-09-25 21:51 山东
楼主hr面电话面还是视频
点赞 回复 分享
发布于 2022-09-22 20:26 黑龙江
携程好像没有排序
点赞 回复 分享
发布于 2022-09-22 00:56 辽宁
什么部门啊
点赞 回复 分享
发布于 2022-09-21 23:49 上海

相关推荐

问题1:为什么会使用分库分表,到达了什么样的数据级别才会去加设计,是否对数据量有一个统计我的理解:看星哥之前写过 单表行数超 500 万行或者单表容量超过 2GB,推荐分库分表,但是面试的过程中怕被问自己写的项目会有这么大的数据量吗不要这么硬背,具体情况具体分析,有的表字段少,经常是条件等值查询,这样加个索引,一个亿也不用分表,有的字段多,还是范围查询,可能5000万就得分表,面试官问你你说是自己在学习分库分表应用到项目中,自己造了几千万的数据量问题2:基因法需要分表的一个数量和确定的一个东西(我的理解是分表的依据,例如大麦中是订单编号和用户id),但是正常的生产环境中是可能动态改变的,比如说需要动态扩容的话,怎么解决呢(例如当前有4个分表,但是现在需要扩充到8个分表),是使用双写吗?这个在扩容前就要考虑好能维持多少年内不需要再扩容。转转架构师在分库分表前,通过之前记录的数据增长量,做了256张表,能在7年内不需要再扩容,如果需要扩容的话,可以使用双写,新扩容表写的过程中,用新的分库分表算法问题3:如果在防止超卖的过程中,Redis不可用了,怎么解决我的理解:使用Redis集群和主从复制吗?因为Redis宕机的话数据库的数据也不能保证是最新的版本,所以得尽量保证Redis不宕机?肯定要使用redis集群模式,但可能会有主从延迟,导致从节点数据不是最新的,但关系不大。可以在用户生成订单后,修改数据库的座位和库存,然后用户支付后,再改数据库的座位和库存,每一步都做好验证。这样从节点的数据问题会降到最低。问题4:如果在当前的幂等验证逻辑中,有一个消息所对应的幂等标识符是不存在的,按照现有的逻辑是可以执行的,但是幂等验证之后的业务系统异常了,这个时候应该怎么处理呢(即通过了幂等的验证,但是后面的服务down掉了,比如说下游抛了一个异常出来)【没太明白应该回答什么,是指需要将幂等标识符重新进行设置吗】异常了就异常了呗,把这个请求的标识从redis中删除了,就像分布式锁时,业务异常也要执行解锁一样,让下一个请求进来正常执行,然后设置好标识位问题5:本地缓存为什么使用Caffine呢,为啥不用Guava因为caffine的性能要远高于Guava,没有其他复杂原因我的理解:查了下Caffine就是Guava改进而来的,可以这么说吗- Caffine在读写操作方面的性能更高,是基于异步的操作,将淘汰过期操作与读写进行分离- Caffine采用了一种结合 LRU、LFU的算法W-TinyLFU+,具有高命中率,低内存占用的特点
查看5道真题和解析
点赞 评论 收藏
分享
评论
5
15
分享

创作者周榜

更多
牛客网
牛客企业服务