# 面试:信息汇总
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
# 一、介绍
汇总星球中关于面试问题、简历编写、上岸总结、招聘信息等内容。星球读者伙伴也可以在文章下提交PR,汇总星球的文章。
# 二、简历编写
# 三、面试问题
# 1. 抽奖系统
- 关于抽奖系统怎么写到简历里 (opens new window)
- 抽奖系统,面试被问到表的设计,要怎么答? (opens new window)
- 抽奖系统一般部署多少实例比较合适,系统大概能抗住多大的流量? (opens new window)
- 抽奖系统为什么自研路由组件? (opens new window)
- 抽奖项目分布式事务如何解决? (opens new window)
- 抽奖系统 TPS 5000~8000 服务器配置大概情况 (opens new window)
- 抽奖系统mq重发的时候是怎么保证幂等性 (opens new window)
- 面试时抽奖系统被问到类似qps、tps这些指标如何回答? (opens new window)
- 问分库分表,别给我回答分2个库,每个库4个表,那你分那个毛用,一看就是假的 (opens new window)
- 想问问大家在面试的时候自我介绍,是怎么介绍抽奖项目的,个人项目还是公司项目? (opens new window)
- 说一下抽奖系统拓扑结构 (opens new window)
- 聚合和聚合根在抽奖系统的体现? (opens new window)
- 抽奖系统DDD和MVC的区别 (opens new window)
- 描述你遇到的一个技术问题-抽奖事故及优化 (opens new window)
- 为什么用户领取活动完毕,发送MQ去更新数据库中的库存 (opens new window)
- 量化规则引擎是一个组件,如果有一个新的业务进来,如何复用? 它的复用性体现在哪?能否支持风控可A/Btest需求? (opens new window)
- 抽奖系统自己写成MVC架构怎么讲? (opens new window)
- 抽奖流程阐述 (opens new window)
- 抽奖系统配置相关 (opens new window)
- Lottery项目包装为实验室项目,面试时被问对接的是什么甲方,为什么数据量会这么大 (opens new window)
- 针对于抽奖系统,面试被问到表的设计,要怎么答? (opens new window)
- 这个项目的业务数据,例如用户量、活跃用户量,以及核心业务数据,例如订单系统的下单量等 (opens new window)
- 技术和业务19道面试题汇总 (opens new window)
- 抽奖和发奖关于库存的扣减,防超发漏发,监控和弥补有没有设计思路和流程图之类的,添加库存,扣减库存的操作日志怎么设计 (opens new window)
- 路由散列算法:idx / tbCount + 1 & idx - tbCount * (dbIdx - 1) (opens new window)
- Lottery项目的抽奖算法,抽奖概率是100万怎么处理? (opens new window)
- Lottery项目的抽奖算法,抽奖概率是100万的另外一种双色球设计? (opens new window)
- 抽奖码,抽奖策略;类似这种抽奖活动,假定这个抽奖码是随机的6位数,也就是有1-999999这么多的抽签码,用户每次获取都是随机的抽奖码 (opens new window)
- Lottery向内部应用提供了RPC接口,那么当h5端需要提供一个http的请求,这个接口应该写在哪里呢 (opens new window)
- 多种抽象策略是怎么注入使用的 | 手动、ist、注解、Map? (opens new window)
- 如果redis作为分布式锁的时候,主节点挂掉了,但是数据还没有同步到从节点,这种情况怎么办? (opens new window)
- 活动库存与奖品库存的配置关系 (opens new window)
- 抽奖系统用到了分库分表,那目前市面上还有那些成熟的规则引擎组件? (opens new window)
- 抽奖策略&斐波那契散列&活动库存&任务扫描时效性&并发编程场景 (opens new window)
- 关于抽奖算法自己整理的一些面试题和回答:采用了什么设计模式、实现了什么抽奖算法 (opens new window)
- 我把抽奖系统包装到实习经历里了。今天面试的那个部门是做广告架构的,可能有广告投放的场景,所以对我简历上的规则引擎量化人群参与活动模块比较感兴趣 (opens new window)
- 问:抽奖的奖品是优惠券,那金额多大呢?候选集有多大?多少人参与?
- 问:你说你用的决策树,那决策树是什么时候创建的呢?是每个用户参与抽奖就创建一次(个性化),还是一开始就创建好?
- 问:筛选的标签是什么,根据什么来过滤呢?
- 问:那有没有可能你制定的这些标签,数据传进来的时候是丢失的,用户没有某个路径上的数据,是不是就到不了叶子节点了,按你说的就没法领取活动了?
- 问:既然你的这些规则都是确定的,为什么要用决策树?决策树和布尔检索有什么区别知道吗?
- 抽奖系统包装到自己的电商业务中,描述案例 (opens new window)
- 抽奖系统的领域事件有哪些?是如何实现的? (opens new window)
- 结合美团DDD抽奖进行扩展 (opens new window)
- 想问一下抽奖系统中,各个领域是按照什么划分的?有什么规则或标准么? (opens new window)
- 现在的抽奖系统是可能存在活动刚上线,所有的奖品就被抽完了,问如何避免这种情况发生? (opens new window)
- 面试的时候问到了,抽奖项目里边 接口间的幂等性是如何保证的? (opens new window)
- 像抽奖系统这种ddd架构的项目一般是怎么开发的?开发周期是多久? (opens new window)
- 规则条件,跟需要过滤的数据不在一张表中,那实际业务中该怎么根据规则引擎去筛选符合条件的数据? (opens new window)
- 面试问题汇总,问的比较全面。 (opens new window)
- 抽奖系统设计到了哪些设计模式
- 为什么不使用自增ID
- Redis滑动库存分布式锁是如何实现的
- 分布式锁有哪些实现方式?为什么使用Redis实现分布式锁
- Redis 是单机的吗,如果单机的话 Redis 分布式锁有没有什么问题
- 保证活动库存最终一致性
- 为什么使用RocketMQ,而不考虑kafka等其他 MQ 组件呢
- 项目中哪些地方使用了MQ
- 说说MQ解耦发奖流程,为什么要解耦
- MQ 解耦发奖后的具体流程
- 消息丢失怎么办
- 为什么选择xxl-job执行定时任务,了解其他任务调度组件吗
- 筛选的标签是什么,根据什么来过滤
- 如果用户没有定制的标签,数据传进来是丢失的,用户没有某个路径上的数据,是不是无法到达叶子节点,就无法领取活动
- 规则树是每个用户都有自己的规则树吗
- 决策树能否复用
- 抽奖算法是怎么设计的
- DDD的优势
- 谈谈整个抽奖系统的总体流程
- 整个系统的吞吐量,QPS,等相关参数
- 有遇到过线上问题吗?怎么解决的
- 为什么在总体概率算法 DefaultRateRandomDrawAlgorithm 这个类中,要使用SecureRandom这个类生成随机数? (opens new window)
- 抽奖系统秒杀库存分片 (opens new window)
- 在抽奖系统中,前端访问的接口是写在网关中的,但是网关一般负责的是一些公共操作,例如鉴权,限流,给白名单等等,写在这里合适吗? (opens new window)
- 为什么使用DDD,主要用于解决什么问题?抽奖系统中有哪些聚合? (opens new window)
- 你的抽奖系统中,包的命名是怎样的?res和vo有什么区别,为什么想着这么分包呢?有什么语义和使用上的区别吗 (opens new window)
- 抽奖系统,我想在简历上体现微服务,但是,熔断,降级,限流有好几个组件可以同时实现一个功能,我想问一下,该怎么组织这些组件 @面条 (opens new window)
- 抽奖系统中 db-router 定义了一个切面又定义了 MyBatis 拦截器,这两个东西有前后执行顺序吗?他们之间的关系是什么呢? (opens new window)
- 抽奖系统的核心域,支撑域和通用域分别对应哪些呢? (opens new window)
- 近期关于抽奖系统面试题汇总 (opens new window)
- 你们项目中的微服务是如何划分的?是只有一个抽奖的微服务吗?
- 项目中的分布式是如何理解的?
- 项目中的接口幂等是如何实现的?
- 为什么要使用到ES?
- 项目中用到了哪些Redis数据结构?
- 项目会出现Redis缓存穿透击穿的情况吗?是如何解决的?
- 关于抽奖系统,活动配置黑名单,白名单,在获得抽奖次数前看是否存在黑名单,在黑名单用户不能获得次数。对应业务应该怎么逻辑是怎样的 (opens new window)
- 抽奖系统面试问到2个问题,不知道怎么回答好,傅哥帮我想想话术【把抽奖项目重新做一边,有哪些方面可以做的更好】【项目遇到最大的挑战是什么】 (opens new window)
- 抽奖遇到的一些面试题 (opens new window)
- 抽奖系统中遇到什么困难?
- 抽奖系统TPS要求5000-8000,用什么技术实现?
- 抽奖系统日活多少?
- 抽奖系统和其他部门的交互是怎么做的?
- 抽奖系统涉及到的路由组件?
- 抽奖系统负载均衡怎么做的?
- 面试问我: 这个营销系统是之前就有,你去接手了。还是你从0到1构建的 (opens new window)
- 今天被一个技术专家问麻了,付哥快出来对波线(下面的记录我听录音回放的) (opens new window)
- 1500 QPS指的是单接口的嘛?还是怎么来的?我回答单接口。
- 你的抽奖服务有多少台应用机器?我回答4台。
- 既然你1500 QPS,那你是RT是多少? 我回答100ms。
- 接上面那个问题,面试官说那我就不太理解了,你的RT既然是100ms,那峰值是如何支撑到3000 QPS的,因为你只有4台机器啊?(接我的回答 2)
- 峰值 3000 QPS 持续 半分钟的话,你 4台机器 100ms 是完全支撑不了的,你可能得去看看你 3000 QPS怎么压出来的。
- 我看你写了DDD的分层架构,那讲下每个领域的实体。(这个我蒙了)
- 有哪些表你设置了唯一键?(我一开始以为他说的主键,我给他讲了UUID,他不是很满意)
- 既然你是做核心接口的,那肯定其他下游会依赖你的服务吧,那你是怎么解决你和其他服务之间的 分布式事务的?
- 你能给我讲讲为什么用kafka吗? 我理解的是kafka业务方面其实很少用,主要在大数据方面,存在消息丢失的场景,kafka丢消息的话 不会造成客诉吗?
- 二面更偏向业务多点,帮我看下怎么回答好,圆润圆润话术 (opens new window)
- 你们这个项目的人员配备是什么样子的?你是属于核心成员吗?
- 你负责的是核心模块,其他系统的模块依赖于你吗?那你是怎么保证你的服务出错,不会影响到别人的服务的呢?
- DDD每个领域内有哪些实体,以及实体的职能是做什么的?
- 压测的数据你是怎么来的,用了什么工具去压测?压测的机子配置是怎么样的?
- 你整个营销系统里还有哪些模板,能跟我讲讲其他模块嘛?
- 如果跨部门的项目,你和其他团队的成员意见不一致怎么办?
- 讲一讲项目中最能够体现你owner意识的几件事情。
- 讲一讲你入职到现在哪些方面取得成长了,最好能有事例论证。
- 抽奖后台配置了用户可以获得抽奖次数限制,每天最多3次,每周最多18次,每个月最多70次。如何设计实现。 (opens new window)
- 面试官问了我抽奖系统中MQ的丢失风险有多大 (opens new window)
- 面试被问到抽奖项目的问题 (opens new window)
- 你的DDD是怎么分层的?
- 核心域的主要职责有哪些?
- 核心域这边有哪些实体,哪些聚合?
- 领域层有一个原则,就是尽量保证领域层的一个纯粹,那你如何保证领域层的一个纯粹性?
- 防腐层的职责是什么?
- 你扣库存的时候,如果库存在缓存扣成功了,但是消息队列没发送成功怎么办?
- 你依赖于缓存,那假设Redis全down机了怎么办(虽然概率比较小),虽然有故障恢复,但是故障恢复有可能会数据丢失?
- Lottery抽奖系统被面试官问穿了...结合项目问了很多场景题: (opens new window)
- Q1:规则引擎中,如果有两个同类型的节点怎么办?比如说规则树中有两个节点代表的同一类型的条件,比如考虑一个年龄大于10,一个岁数大于25,位于不同的规则树节点中,在高并发的情况下,通过rpc调用接口,对于用户的年龄数据查询会查两遍,但是实际上查一次就可以,但是调用端相当于耗费了两次的查询,应该怎么解决?(这个问题我听蒙了
- Q2:如果是千万级的数据,应该会需要怎么优化?可以从数据存储和查询优化的角度?
- Q3:你们的分库分表是怎么做的?(这里回答了基于用户ID分表)在分库分表的场景下,如果想要查询当前这个活动所有的抽奖结果的明细应该怎么去查询呢?
- Q4:怎么保证消息队列的消息不重复消费?或者说是一定被消费了?
- Q5:如果保证系统的幂等性?有没有考虑同一个用户如果抽了两次奖的情况?(回答会做一个重复性的校验)
- Q6:如果前端的用户非常快地点击了两次,也就是说查询这条数据的时候同时都是空的,这种情况下怎么保证一致性?
- 面试官问我,抽奖项目里面的redis减库存,redis如果发生丢失现象,比如一条命令还在路上的时候丢失了,那会不会导致库存超发现象呢? (opens new window)
- 从无到有进行领域驱动设计,是怎样的一个流程? (opens new window)
- 对于你的滑动库存锁,假设有1000个库存,有几个或者十几个线程因为某种原因抢到了锁,但是后续流程失败了,也就是说1000个库存还剩下了几个或几十个参与名额,这个时候你怎么去保证所有的库存都能消耗完呢? (opens new window)
- 关于数据库路由组件这个小项目,在面试中,可能被问到的问题大概有什么?可以给个准备方向吗? (opens new window)
- 在使用redis的incr来扣减库存,如果redis宕机了,丢失了一部分数据,是不是就有可能incr得到重复的key,这个时候相应的key滑块锁如果恰好又已经被释放了,是不是就超买了,这时候怎么解决呢? (opens new window)
# 2. API网关
- API网关项目这个应该怎么组织语言写道简历里 (opens new window)
- 我在之前的提问网关项目的简历编写这块 你有提到技术栈有使用redis和mq,这两个是在那块体现的。(因为我看到是有用redis做订阅发布,那假设我是用mq去做这个,那redis还需要去做什么呢) (opens new window)
- 对于网关项目本身的高可用我们需要做哪些处理,对于一些数据失败的情况要做怎么样的兜底呢。 (opens new window)
- 在网关架构这块我看到在组件那块有看到池化技术和路由策略是体现在什么地方上,应该怎么去做。 (opens new window)
- 这个测试项目的rpc注册中心和网关注册中心分开,课程里是分开的,两个注册中心这个是否有必要性的。 (opens new window)
- 对于面试中问起对于网关的数据库是否分库分表以及qps tps数据应该怎么去考虑。 (opens new window)
- 你这个网关跟springcloud的网关有什么区别。如果我们的系统,想要使用你们的网关,要做那些步骤。 (opens new window)
# 3. 通用问题
- 你工作中遇到过什么技术难题,是怎么解决的? (opens new window)
- 你是如何快速上手一门新技术的? (opens new window)
- 如何合理的配置mysql的连接数? (opens new window)
- 最近面试老被问一些开放场景题: (opens new window)
- 公司当业务量上来,是选择分库还是选择分表需要看那些指标?有哪些场景是分库分表不能解决的?
- 我们要选择一款消息队列,应该考虑哪些方面?
- 你平常用什么线程池,启动后你会看哪些参数?
- 你如何保证需求如期交付?如果排期紧张怎么处理?
- 你想找一份什么样的工作,如果我们公司不能满足你的要求你会怎么办?
- 系统定时任务超时需要排查什么? (opens new window)
- redis cluster模式下会通过一致性hash算法拆分成16384个slots槽,那这样,当其中某个节点挂了, 它上面存放的数据是不是就丢失了? (opens new window)
- 为什么mq用文件系统存储消息,不选择数据库等方式进行持久化,不同的方式有什么优缺点 (opens new window)
- 想问一下各位,hr面问道你的缺点是什么,一般怎么回答? (opens new window)
- 小傅哥,校招面试的时候,面试官经常会问你的未来规划是什么? 这一块该怎么回答比较好呢? (opens new window)
- 请问Spring中AbstractBeanDefinition的beanClass属性为什么用volatile修饰 (opens new window)
- Redis能替代Mysql吗?简单说说为什么不能? (opens new window)
- 手撸spring、手撸MyBatis如何体现在简历上?小傅哥可以给个Demo吗 (opens new window)
- 面试被问如何设计生成8位纯数字的优惠券码,每次生成8000个,需要不重复 (opens new window)
- 两个线程同时查看一行数据后并进行操作怎么加锁能保证并发性? (opens new window)
- 使用分库分表组件将订单信息散列到不同库表中了 B端商家如果需要查看某个活动/某一天的订单信息。 (opens new window)
- 我怎么去拦截执行的sql语句,然后根据不同添加在sql上面去加点条件 (opens new window)
# 4. 公司面试
- 中软国际1面A组 (opens new window)
- 中软国际1面B组 (opens new window)
- 中软国际2面B组 (opens new window)
- 兰州乐智教育科技 (opens new window)
- 23届的暑期实习面试【腾讯、字节、阿里(云、支付宝、钉钉)】 (opens new window)
- 滴滴面试 (opens new window)
# 5. 简历包装
- 只有增删改查项目怎么办? (opens new window)
- 我现在专科大二,马上要准备找实习工作了,面试的时候对于实习生问什么类型的问题居多呢? (opens new window)
- 小傅哥,感觉今年的面试,已经不是背背八股文就可以了,需要有实战项目经验。 (opens new window)
# 6. 上岸记录
- 实习末班车上岸字节【北京某211大学本科2023届】 (opens new window)
- 秋招面试经历 (opens new window)
- 拉拉扯扯一个多月后总算收到阿里的offer啦! (opens new window)