我用12306项目拿下快手秋招!

个人履历:某 211 院校科班本科,目前在 B 站实习。

通过马哥写的开源项目 12306 铁路购票项目,成功拿下快手秋招!太开心了 

之前答应过马哥,上岸后帮忙宣传一波这个项目,特来发布这个文章。

在宣传之前,说下面试过程中都问过关于这个项目什么问题,基本上和马哥文档中写的想差不多,有个别不会的也都已经解决。

快手面试官问到的关于项目问题如下:
- 为什么会选择做 12306 这个项目?
- 为什么要用设计模式?不用有什么问题?责任链模式优点是什么?
- 12306 列车数据搜索用的 ElasticSearch 么?
- 为什么列车数据搜索使用 Redis 而不是 ElasticSearch?
- 列车站点余票如何保证实时?
- 延期关闭订单,除了用 RocketMQ 还有什么方案?各自优缺点?
- 如何解决用户注册缓存穿透问题?
- 为什么不用缓存双删来解决数据库和缓存的一致性?
- 多人购票选座算法是怎么实现的?(没写高铁在线购票,仅写了火车)
- 如何保障购票时系统承载高并发而不出问题?
- 为什么要分库分表?分库分表会带来什么问题?订单数据分库分表容量如何评估?
- 订单按照用户 ID 分片,那乘车人如何查询本人车票?

关于 12306 这个项目,架构图如图一所示。基本上涵盖了 SpringBoot、SpringCloud 相关技术亮点,比如:

- 设计模式:责任链、简单工厂、策略、模板方法等
- 缓存与数据库一致性
- 分布式锁控制数据一致性
- 数据库分库分表:用户、订单、支付等
- 消息队列
- 幂等解决方案::防止 HTTP 接口以及消息队列重复消费等

项目地址:Gitee 开源平台下搜索 nageoffer/12306

最后,也祝愿大家都能找到合适的秋招!
全部评论
我感觉不久后应该是继瑞吉外卖后,第二大项目组
23 回复 分享
发布于 2023-08-07 18:19 四川
大佬牛批,我也准备用这个项目,目前学习阶段,期望顺利上岸
17 回复 分享
发布于 2023-08-07 12:21 北京
文档很多都不全吧,有的都还没写
14 回复 分享
发布于 2023-08-08 09:15 江西
看到挺多人发拼车,但接到有同学反馈,这种就是卖盗版资料的,很多都不全,支付完就删好友,注意别被骗了
9 回复 分享
发布于 2023-09-09 22:22 北京
你不会就是马哥吧
6 回复 分享
发布于 2023-08-07 19:27 四川
求链接
3 回复 分享
发布于 2023-08-07 21:52 北京
m
3 回复 分享
发布于 2023-08-07 12:48 陕西
代码注释少的可怜,刚转码看不懂一点。新建了个Q群631(防审核、故拆开),大家愿意可以进090,讨论拼车都可以175。希望能钓到大佬
2 回复 分享
发布于 2024-08-31 18:41 广东
大佬花了多久?9月了不知道换项目来不来得及
2 回复 分享
发布于 2023-08-28 15:09 浙江
大佬怎么包装的,直接说仿12306吗
2 回复 分享
发布于 2023-08-07 17:28 北京
感觉主要还是有实习
1 回复 分享
发布于 2023-10-31 09:52 广东
博主你好,这个项目的课在哪买呢,还是只有gitee上的的开发文档
1 回复 分享
发布于 2023-10-29 15:51 广东
目前只学了ssm和springboot做这个项目够吗,还是先做其他简单一点的
1 回复 分享
发布于 2023-10-28 11:35 重庆
这个项目有视频吗?看了下好像没,跟着代码有点理不清楚
1 回复 分享
发布于 2023-09-27 11:07 上海
dalao简历上除了这个项目还写了其他项目吗?
1 回复 分享
发布于 2023-08-22 16:26 广东
兄弟,我想问下现在开始做大概多久能做完?
1 回复 分享
发布于 2023-08-14 18:54 陕西
大佬怎么学的??没有更完,几个部分代码都不完善
1 回复 分享
发布于 2023-08-14 18:31 广东
卧槽大佬
1 回复 分享
发布于 2023-08-07 18:14 江苏
m
1 回复 分享
发布于 2023-08-07 17:48 北京
不愧是合工大
1 回复 分享
发布于 2023-08-07 16:33 北京

相关推荐

10-22 09:46
已编辑
江苏大学 Java
📍面试公司:智识神工🕐面试时间:10.20投递并约面,10.21面试💻面试岗位:JAVA后端实习生❓面试问题:(项目是12306+点评)讲讲这个面向对象具体是一个什么样的思路。在你的理解中什么可以成为对象,什么不能成为对象。mysql中的锁机制。那常见的锁有哪些呢?然后还有一些跟mysql相关的锁,你对此有一些了解吗?Mysql索引相关的知识,你可以为我们简单讲讲。使用mysql的时候,数据表设计有相关了解吗?就比如说你的项目经历中的铁路购票系统的数据表设计是你做的吗?既然提到分库分表了,那分库分表的目的是什么?那分库分表需要注意什么?要考虑ID它不能重复,那么不能重复的这个ID我们会一般使用什么作为主键呢?分库分表的形式有哪几种呢?可以简单的用一句话表述redis具体是什么吗?Redis一般用来存储什么信息呢?既然redis需要存储一些常用数据的,如果常用数据过多的话,会引发redis的击穿,穿透,雪崩相关的知识你了解吗?在你的项目经历中有遇到过真实的情况吗?JUC并发编程中的各种锁机制,可以简单为我讲解一下。threadlocal也通常被用来存储一些像存储一些暂时性的数据信息,还有常访问的数据信息。那threadlocal和redis有什么差别呢?你这么说也对,但是就这个比如说你的第二个项目,生活优选项目来说,你使用了在threadlocal配合拦截器进行token校验,那么你是否还要将这个token放入redis中呢?JVM的常见垃圾回收算法简单讲讲吗?复制算法相较于上下两个算法的优点在哪里?spring boot和spring cloud事实上一个指的是单体微服务,另外一个指的是多个微服务共同组成的服务框架。那你了解服务和服务之间的通信机制吗?在使用rocket MQ的时候,死信队列如何处理?简单讲讲这个设计模式中工厂模式和策略模式的异同吧。在项目经历中你提到了数据库和缓存之间的数据一致性,通过使用这个binlog和RocketMQ配合完成。那数据库和缓存之间的数据一致性还有什么其他方法可以实现?简单讲讲布隆过滤器。那它的布隆过滤器检测结果的特性是什么呢?那你给我简单讲讲这个仿12306的铁路购票系统中已完成的功能。我想知道的是具体的功能点,而不是说你用了什么工具,实现了什么结果。所以你是自己新建了一个购票接口,还是在原始代码的基础上对这个接口进行了增强。使用redis完成这个购票令牌分配,使用的是令牌桶对吧?那你是如何应对海量用户的购票请求的呢?你的限流以及最后的这个令牌分配的方式。那这个方式剩下的那些没有拿到令牌的用户的请求是被挂起吗?那挂起过久之后,它不就直接进入死信队列了吗?现在有一个场景是这样的,我现在有大量的用户表单需要上传,然后这个表单里涉及到很多的字段,然后具体的字段内容包含文件。然后同一时刻,因为它的它是一个企业级的功能,所以同一时刻会有很多的账号同时上传这些表单数据。然后我现在要实现这个功能,你帮我做一个设计。🙌面试感想:boss沟通近300+,只有这家约面,公司好像是用自研ai辅助编程的.第一次面试很紧张,后面问到不熟悉的问题人都哆嗦了,不过收获挺大的,查缺补漏了很多,面试官给了很好的学习建议
发面经攒人品
点赞 评论 收藏
分享
评论
85
532
分享

创作者周榜

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