华为OD 社招(Java后端)一面

本文作者结合一年工作经验,探讨了MQ在项目中的应用,如何维护高可用性,以及Redis在缓存和幂等性中的实践。涉及线程池、JVM理解、笔试问题解答,包括哈希表、暴力算法和优先队列技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一年工作经验
回答简写了,只是个人思路

1. mq在项目中的使用

答:消息同步,有配合redis的一些场景

2. 项目中怎么维护mq的高可用

答:镜像集群

3. redis在项目中怎么用的

答:缓存热点信息,例如用户信息、产品、市场等(项目相关),主要使用了hash和string

4.如果项目刚启动没多久,就有一大批访问过来,怎么避免redis没数据导致数据库压力过大

答:缓存预热

5. mq怎么保证的幂等性

答:配合Redis,每个消息有个唯一ID放在Redis上

6. 项目中多线程的使用

主要回答了线程池,其他方法没怎么用过

7. JVM了解吗

主要回答了区域划分,调优不太了解

8. 笔试题回顾

机考满分,主要是讲解了一下思路,题目如下:

8.1 正方形的个数

给定一些下标,问能够组成多少个正方形

思路:相当于暴力,只用了哈希表

8.2 子矩阵最大数字和

给定一个二维数组,求子矩阵最大的数字和是多少

思路:数据范围小,用的暴力

8.3 最长的特定子字符串

给定一个字符串,只有数字和字母,求最多一个字母的情况下,最长的子字符串多长

思路:双指针

9. 手撕代码

最大停车次数

给定月份、数据量n
接下来n行数据,每行的格式是: 车牌号 停车日期(格式是yyyy-MM-dd) 停车时间

求给定月份的情况下,这个月份按排序规则的最前五名的车牌号,不足五名按实际值
排序规则如下:
优先按照停车时间降序
停车时间相同按照停车次数
再者按照车牌升序

思路:优先队列 记得合并相同月份的数据

结束

还有些杂七杂八的小问题,暂不赘述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值