阿里一面

我用的马哥的12306项目。感觉之前的秒杀项目用的太多了,面试官估计都烦了,给面试官换换口味。  
一、SQL优化问题,如何优化的,查询返回的数据量大吗。在实际工程中可以将需要join的表直接设计在一张表中,用空间换时间。  
二、讲一下实习项目的经历,业务理解,其实就是打杂。。。  
三、讲一下自己的项目,Rocketmq实现延迟消息的细节,有没有其他的方案  
四、Rocketmq消费失败,怎么保证可用性。  
五、缓存穿透、缓存击穿、缓存雪崩,讲一下三个场景如何解决。  
六、热点数据设置永不过期会将Redis爆内存,有没有其他的解决方案
七、为什么用分布式锁构建缓存,不用分布式可以吗  
八、布隆过滤器的作用。  
九、如何监听binlog实现数据库和缓存之间的一致性,实时性如何。  
binlog一般用于删除缓存的数据,不是更新缓存。  
十、扣减库存如何保证不出现超卖问题。  
秒杀场景,有没有更高性能的方案,CAS,版本号记录,不打到数据库,将库存放到缓存中,然后用lua脚本实现库存扣减,秒杀商品缓存预热。  
十一、分库分表是如何实现的,基因复合算法,异地多活问题,比如在上海和杭州部署了两个节点,大部分请求只打到上海该怎么解决  
十二、Rpc服务框架,好几个月前做的,没啥可说的。  
十三、下面都是八股,Integer之间的比较,用==还是equal,==是否相等  
十四、java的异常体系  
十五、jvm内存模型  
十六、线程池的拒绝策略,有哪几种  
十七、线程池如何设置大小,根据任务场景,I/O密集型和CPU密集型  
聊的还可以,偏向场景题多一些。  
  
这里介绍一下12306 这个项目,基本上涵盖了 SpringBoot、SpringCloud 相关技术亮点,比如:
- 设计模式:责任链、简单工厂、策略、模板方法等
- 缓存与数据库一致性
- 分布式锁控制数据一致性
- 数据库分库分表:用户、订单、支付等
- 消息队列
- 幂等解决方案::防止 HTTP 接口以及消息队列重复消费等  

项目地址:Gitee 开源平台下搜索 nageoffer/12306
全部评论
大佬这个项目要做多久呀
2 回复 分享
发布于 2023-08-23 10:28 广东
谢谢分享
2 回复 分享
发布于 2023-08-21 10:24 江苏
同学你好,想请教下你,12306项目大概做了多久,在做项目之前有系统学习过高并发分布式的知识吗
1 回复 分享
发布于 2023-11-12 10:24 上海
大佬12306做了多久?
1 回复 分享
发布于 2023-08-28 15:10 浙江
m
1 回复 分享
发布于 2023-08-21 23:31 陕西
mark
点赞 回复 分享
发布于 2025-02-27 11:42 广西
m
点赞 回复 分享
发布于 2024-02-22 02:47 福建
M
点赞 回复 分享
发布于 2023-11-16 13:59 江苏
插眼
点赞 回复 分享
发布于 2023-10-06 17:40 广东
试试这个
点赞 回复 分享
发布于 2023-09-26 08:00 北京
老哥第一题优化的思路是什么呢
点赞 回复 分享
发布于 2023-09-03 14:19 陕西
m
点赞 回复 分享
发布于 2023-08-30 00:16 辽宁
这个项目有视频教程吗
点赞 回复 分享
发布于 2023-08-20 15:42 重庆

相关推荐

03-17 19:59
已编辑
东南大学 C++
1.你先简单介绍一下自己。2.你去年大二的时候就去字节跳动实习了吗?3.你现在面的是后端岗位,可以接受转别的语言吗?4.你觉得自己比较熟悉哪一块技术?实习项目5.你在字节做的是个什么项目?是客户端相关的吗?6.你大概介绍一下你做的这个项目。7.你们是提供一个 SDK 给各个业务接入,对吧?8.你说一下你们这个业务整体流程和业务价值。9.你们这套特征处理能力,在业务上到底是怎么用的?10.这个特征只是用于模型训练,还是用户实时请求时也会使用?11.你说的这套逻辑,具体发生在客户端、端上算法包,还是后台服务上?12.你们提取完特征之后,数据放在哪里?本地、云端,还是两边都有?13.你知道提取出来的数据长什么样子吗?包含哪些字段?14.你们有哪些特征?这些特征是怎么分类的?15.如果现在要提取某一个特征,从提取开始到使用结束,完整链路是怎样的?16.数据上传到云端之后会做什么处理?17.本地的数据怎么管理?有没有过期机制?怎么淘汰?18.这个特征的量级有多大?端上的特征规模大概是多少?19.存了特征之后,是端上的 SDK 自己调,还是会上传到后台 / 中台再调?20.你们现在到底是哪种模式?21.在推荐场景里,会不会把这些特征带上?22.如果一个业务场景只需要一部分特征,它怎么知道应该提哪些特征?23.哪些特征需要上报到后台?这个是怎么判定的?24.上报失败了怎么办?25.你这块性能有测过吗?大概情况怎么样?26.会不会随着特征数量增加,性能明显下降?27.你们性能损耗最大的点在哪里?28.你负责的“设备特征读取性能优化”具体做了哪些事情?29.你说的缓存特征优化,本质上是在优化什么?30.你说的高中低频分层缓存,为什么能解决问题?31.你这个方案优化的是缓存更新机制,还是读取性能,还是两者都有?32.第一个版本完全没缓存时,耗时情况是怎样的?33.加了缓存之后,耗时情况怎样?34.你加缓存之后到底优化了多少?模块级收益是多少?整体收益是多少?35.这些对比数据是怎么拿到的?是你自己手机上的数据,还是灰度 / 全网数据?36.你这个埋点埋在哪里?是不是调用开始和调用结束?监控的是耗时指标吗?37.你这个缓存存多久?38.缓存怎么淘汰?39.缓存有没有容量限制?40.你有没有考虑过缓存被写爆、被异常流量打满的情况?41.你的方案有没有考虑边界情况和风险,比如新增特征、异常高频访问、缓存失控这些?42.你们做这个缓存 / 聚合优化时,有没有细粒度指标去验证方案是否真的有效?43.你们做聚合查询的时候,有没有考虑对调用方耗时的影响?44.你的优化指标为什么模块收益和整体收益差别这么大?45.如果以后别人改坏了这套缓存逻辑,你们现在的监控能发现吗?46.你在字节实习时做的 SQL 签名化和 UNION ALL 合并查询,是在解决什么问题?47.这个优化的思路是什么?48.这样做为什么能减少开销?49.把查询聚合后再在应用层分发,会不会引入新的耗时问题?八股50.你们之前做的 SDK 是用 C++ 开发的,对不对?51.你在学校里主要也是用 C++ 吗?52.你能接受从 C++ 转到 Go / 后端开发吗?53.你对 C++ 当前的内存管理机制了解多少?54.C++ 有垃圾回收器吗?55.C++ 是怎么做内存分配管理的?56.当程序不断申请不同大小的内存时,内存管理器怎么尽量满足这些申请?57.你比较熟悉 MySQL,是吗?58.你了解 MySQL 的索引吗?59.MySQL 的索引为什么能加速查询?60.索引本身存在哪里?61.读到索引之后,怎么定位到磁盘上的实际数据?62.TCP 的慢启动和快恢复是为了解决什么问题?63.TCP 的四次挥手流程是怎么样的?64.HTTPS 的连接建立过程你了解吗?65.HTTPS 的密钥是怎么协商出来的?66.为什么协商阶段和真正传输阶段使用的加密方式不一样?67.Redis 你用过哪些数据结构?68.你们去年写这个 C++ SDK 的时候,开发流程里有用 AI 辅助吗?69.你写的这部分代码里,AI 辅助占多少?70.你和 AI 在协作过程中怎么分工?71.单测是你们自己写的,还是 AI 写的?72.你之前参加过 ACM 吗?算法题链表找环的入口面了一个多小时,问了大半的实习内容。业务是qq的游戏中心后端,用的golang,面试官比较和蔼,但喜欢追问,整体答得也一般,后端知识没怎么复习(恶补)。第二天居然约二面了,本来已经做好复活赛的准备了
仁狂躁使者:72个问题啊佬,太夸张了
点赞 评论 收藏
分享
评论
51
397
分享

创作者周榜

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