8.11蚂蚁一面凉经--后端

1. 上来一道面试题:
括号匹配,几分钟就k出来了
然后给了第二问
ex1.如果字符串只包含'(',')'括号,如何优化此算法内存占用。
这也很简单,我用了数字正负号来表示
然后第三问:
ex2.ex1基础上,如果字符串长度改为10GB,允许你使用多线程,如何充分利用多线程性能
我的思路是这样:多线程就好比分段,将10GB的字符串适当进行分段,拆分成多个段,每段用一个线程来跑,用num记录左括号和有括号相减的个数,用flag表示是否是有左边的右括号的情况
但是这个思路明显是不行的
后来问了打算法竞赛的朋友,他给这样一个思路:每一段用l和r来分别记录右边的左括号和左边的右括号,然后对多段得到的多个l和r进行遍历,用前一段的l和r与后一段的l和r进行一个运算
OK啊,还得是专业
2. 然后让我自我介绍,他在我介绍一半突然跑出去了,然后回来又甩给我一道算法题:
现在有1-100的乱序数组,需要在里面找到一个给定的数,如何才能最优的解出来
3. 说一说Redis有哪些应用--我答了有分布式锁、消息队列等
4. 消息队列用什么数据结构--说的stream
5. 介绍一下怎么用stream实现消息队列---巴拉了一大堆,不太记得了,说的磕磕绊绊的
6. 现在输入一个网页地址,请说明这个请求从发出到响应经过了哪些链路
7. 你在上一点实习中遇到了哪些令你印象深刻的困难--说了在做合同模板需求中遇到的困难,一个是和leader与产品组对需求的困难,另一个是实际开发过程中遇到的困难
8. 这两个困难是怎么解决的
9. 反问:这个效能平台研发实习生岗位是做什么的,更多涉及到底层的开发还是应用层面---应用层,主要是做东西方便给其他人使用
10. 反问:能给建议不--不能
11. 反问:几轮面试--两轮技术面一轮hr面
两道算法,没多少八股,实习和项目啥也没问还是我硬讲的,牛油们这是kpi吗
全部评论
现在有1-100的乱序数组,需要在里面找到一个给定的数,如何才能最优的解出来 这怎么回答?
1 回复 分享
发布于 2025-08-19 19:45 湖南
redis的应用不应该先说缓存?
点赞 回复 分享
发布于 2025-09-06 13:53 北京
这是提前批吗
点赞 回复 分享
发布于 2025-08-19 11:30 浙江
感觉有点像kpi
点赞 回复 分享
发布于 2025-08-17 19:59 北京
这个有点难
点赞 回复 分享
发布于 2025-08-17 18:50 北京

相关推荐

2025-12-16 15:41
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
2025-11-28 16:30
复旦大学 C++
华为 通用软件开发 40w 硕士985
点赞 评论 收藏
分享
2025-12-07 08:10
门头沟学院 Java
1.实习介绍2. 三个微服务 A/B/C,它们分别操作不同数据库和 Redis,要求最终一致但要尽量“准实时”。某次网络抖动导致 A 提交成功、B 超时、C 回滚了。在这种限制下,你怎么保证最后状态达成一致?3. 如果在一个跨IDC(双活)的系统里,必须保证强一致性,但业务方要求写延迟 < 5ms,怎么实现?为什么4.如果现在要对一个百亿级大表做online DDL 并且不能影响线上读写,你会用什么方案5.MySQL主从复制延迟30秒后主库挂了,从库又丢了binlog的最后10秒。业务方要求你做到“最终数据一致”,但不允许回滚用户侧可见到的状态。你怎么做?6. 如果MQ在多分区、多消费者下防止出现乱序、重复消费这些情况,有哪些措施7. 你觉得“真正的 Exactly Once”在分布式系统中是存在的还是不存在的?8.如果订单查询链路要调用8个服务,每个服务都要查一次 Redis,你怎么把这个链路优化到至少 50%?9.了解k8s么10. 线上一个 K8s 集群节点资源充分,但 Pod 一直 Pending,你要怎么一步步推断可能的原因13.有一个 key 对应的 value 是一个json,结构,json,当中有好几个子任务,这些子任务如果对 key 进行修改的话,会不会存在线程安全的问题?如何解决?如果是多个节点的情况,应该怎么加锁14. 假如有某个游戏区的战斗力排行和我自己的战斗力的排行在哪个位置上,我应该在哪个排名,比如1.按成绩来说前100名的分数是多少,2.自己的排名大概在什么位置,如果流量特别大变动特别快,这个怎么设计,要考虑什么高可用,qps,怎么去设计15.现在有这样的一个问题,我现在有1000个文件,然后每个文件有1000。有1000万行,然后每行一个数字无序,然后数字。数字的范围是从零到100亿。如何快速找到所有数据的中位数16.方法一那个对临时文件这个处理操作是类似于堆的操作吗?还是这样操作就是具体的操作的一个逻辑大概是怎么样的17.手撕:三数之和为0给你一个整数数组nums,判断是否存在三元组[nums[i]nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时满足nums[i]+nums[j]+nums[k] ==0 请你返回所有和为0且不重复的三元组
查看14道真题和解析
点赞 评论 收藏
分享
评论
7
39
分享

创作者周榜

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