-
简历版本:语言简洁,突出技术贡献和量化成果,适合快速阅读。
-
HR 版本:语言更通俗,注重项目背景、你的角色和带来的价值,避免过多技术细节,适合口头讲述。
思考问题
面试官可能提出的问题:
- 技术细节相关:
- 你能详细说明一下评估程序侧采用模板模式的具体实现吗?为什么选择这种设计模式?
- 在解析数据集数据、发送请求并接收结果、结果指标计算这三个阶段中,哪个阶段最具挑战性?你是如何解决的?
- 评估程序的性能如何?有没有遇到过性能瓶颈?你是如何优化的?
- 项目协作与沟通:
- 在与业务团队确定接口格式时,遇到过哪些分歧?你是如何协调并达成一致的?
- 你是如何与产品团队协作优化评价指标的?能否举一个具体的例子?
- 问题解决与创新:
- 在项目过程中,有没有遇到过技术上的重大挑战?你是如何解决的?简化与可扩展性
- 如果未来需要扩展新的评估场景,你会如何设计评估程序以支持这种扩展?
- 项目成果与反思:
- 你觉得这个项目的最终成果是否达到了预期?有没有什么可以改进的地方?
- 你在项目中最大的收获是什么?如果重新做一次,你会采取哪些不同的做法?
HR 可能提出的问题:
-
团队协作与沟通:
- 在这个项目中,你是如何与业务团队和产品团队协作的?能否举一个具体的例子来说明你的沟通和协调能力?
- 如果在与团队协作时出现分歧,你会如何处理?汪大强的事情
-
项目成果与影响:
- 这个项目对公司整体业务有什么具体的帮助?能否量化说明?
- 你提到为解决方案团队提供了 xxx 次评估测试,这些测试对团队的工作效率或服务质量有什么具体的提升?
-
个人成长与角色:
- 在这个项目中,你觉得自己最大的贡献是什么?
- 通过这个项目,你学到了哪些新的技能或知识?这些技能对你后续的工作有什么帮助?
-
软技能与职业素养:
- 在项目过程中,你是如何管理时间和优先级的?有没有遇到过时间紧迫的情况?你是如何应对的?
- 如果项目中出现突发问题,你会如何应对?能否举一个具体的例子?
-
内容挖掘
- 讲述项目内容
- 项目用了什么技术\技术方案设计的调研和选型\为什么用这个技术而不是其他技术
- 项目的产出、价值是什么?用户量?GMV?活跃率?业务价值是?技术价值是?管理价值是?
- 项目的创新点
- 从两方面讲数据流向:
- 在系统模块中,数据是如何从数据库、中台、消息中间件、缓存,最终流向前端的?这种场景中的数据流向,主要考查的是对系统架构的理解,同时也能扩展出整个数据流中的各个技术点,可能涉及异步、响应式,或者双向绑定等。总之这个问题再结合扩展,可以很好地考查你技术的深度。
- 在上下游系统中的数据流向,这考查的是你对上下游业务的理解程度,看你对自己做的事情是否有全局观,是否知道自己所做事情的意义以便更好地理解业务和需求。这很像那个小寓言故事,有人问两个砌砖的工人“你们在干什么”,一个答在搬砖,另一个答在建教堂。不同的回答,给面试官的感受是完全不同的
-
项目流程
6. 项目来源、背景、需求(需求的合理性分析)
7. 项目时间安排
8. 遇到的问题肯定都通过搜索引擎解决了,那么解决的比较难的问题有什么?怎么解决的
9. 取得的成效 -
项目分工上
- 多少人参与
- 怎么分工的
- 项目中的角色和位置
- 做出的贡献和解决了什么的问题
- 那些环节背后,有什么人在主导,目的是什么,要注意什么,该做什么,不该做什么,以及有什么风险 —— 思维模型
-
反思
6. 有什么感悟,学到了什么
7. 如果重新做这个项目,会怎么做呢
-
项目的流程(银弹,瀑布,敏捷,……)
-
工具(内存测试,代码检查,BUG 报告,版本维护,开发调试……)
-
文档(需求文档,设计文档,测试方档等)
-
介绍时不要讲太多的技术细节。
- 从宏观层面去讲,比如项目要重点讲背景和意义、目标,改进的点要抽象几个出来讲一下,然后讲结果。
- 如果是纯 research 不好讲前面这几点,可以多讲一些这个领域的整体发展趋势,讲讲过去和未来。
- 总体来说,就要当成和其他领域的好朋友去聊天一样的讲,不能自己讲的很嗨,对方完全不知所云,最后在一头雾水中给你挂了。
有的时候其实面你的面试官也不特别清楚一些问题的确切答案是什么,如果你在回答的时候逻辑自洽、并且气势很足,很有可能可以把面试官唬住。
你觉得这个方案有什么地方可以改进?
答:首先是结合自己的经验,看是否有类似的需求,我们是怎么做的,经历了什么困难,如何克服的。(当然,这里肯定要维护前公司的商业秘密的前提下)如果在有相似情形的基础上,就通过之前项目个人的“马后炮”来回答,那时候哪里哪里做的不足,后来想,曾经怎样怎样感觉会更好一点。个人认为这样的回答,会体现出个人对问题的审视与反思,以及总结失败的能力。
抛开经验之外,其实个人能说的就比较少了。由于项目之间,必然多多少少有相似之处,个人的思路偏向于侧面代入自己的项目经验,来看当前方案。
STAR 法则
面试官在做行为事例提问时,通常会遵从 STAR 法则,STAR 分别代表:情景、任务、行动和结果。具体目标就是考查候选人:在什么情境下面临了什么任务,因此采取了什么行动,最后的结果如何?因此,一个面试者如果能够在面试官提问之后,也按照 STAR 法则来回答问题,则是最符合面试官期望的。
面试官在用 STAR 法则来提问时,常见的问题有下面这些。
(1)情景(S)
- 这个任务/项目当时的背景是怎样的?
- 什么外界和内部因素导致了这样的情形?
- 当时都有哪些人员参与到这项任务/项目中?
(2)任务(T)
- 在这个项目上你的主要角色是什么?
- 你被安排的任务是什么?
- 这样安排是为了达到什么目的?
(3)行动(A)
- 你在这个项目中具体都做了哪些工作?
- 这个项目当时面临的最大困难或障碍是什么?你怎么解决的?
- 你还采取了哪些有效措施,确保最后的目标能顺利完成?
(4)结果(R)
- 这个项目最后实现的结果是什么?
- 你是用哪些指标来衡量项目成功的?
- 你从这个项目上汲取了哪些教训?如果让你重新来过,你会如何做出差别?
找项目经历
1. 转换角度找价值(任务价值)
这是要回答“我为谁、解决了什么问题”。
- 公司角度。你的项目,为公司贡献了多少收入?降低了多少成本?完善了哪些产品和服务?对公司品牌和竞争力有什么影响?解决了老板的什么问题?
- 客户角度。你的工作为客户解决了什么问题?假如你是客户,最有用的功能是哪些部分?客户对你的工作满意么?
- 团队角度。你的工作,完成了项目使命吗?对资源配置有什么影响?对产品质量和人才培养有没有促进作用?别人可以享受到什么好处?对团队凝聚力和战斗力有什么作用吗?
- 个人角度。做完这个项目,你最大的成就感是什么?有哪些值得自豪的?这些收获和自豪,是源自物质,还是精神,还是成长?
2. 量化结果找提高(评估指标)
这是要回答“我在哪方面做了什么提高”。
对于互联网产品,观察 PV(访问量)、DAU/MAU(日活跃用户数 / 月活跃用户数)、AT(平均使用时长)等;对于敏捷项目过程,观察 Velocity(每迭代完成的用户故事点数)、缺陷率等。
3. 复盘过程找创新
这是要回答“我的做法有什么与众不同”。
仔细寻找工作过程中,不走寻常路的做法,是你的哪些做法让工作效率提高、成果质量提高。这些做法,就是创新。
创新不一定是发明专利,也不一定是开创新算法之类的大创新,任何不拘泥于前人的条条框框,灵活运用,让工作更顺畅、更简单的做法,都可以称为创新。创新包括新工具的引入、算法的改进、流程的简化、协作的优化,等等。
4. 回顾挑战找动机
这是要回答“我解决了什么挑战”。
回想过去一段时间内(一年或者一个季度),有没有什么时刻,自己内心充满了紧张?这段紧张表明你碰到了挑战,请把这个挑战找出来,仔细分析:
- 哪些方面给你造成了挑战和压力:是工作量,还是工作难度?
- 难在哪里?是复杂的技术?是复杂的沟通?是新队伍、新项目,还是陌生的领域?
- 你做了什么,才缓解了压力?
- 这段挑战过后,心里有哪些满足感?这和你当初接受这个挑战时的期望吻合么?
- 如果接下来还有这样的挑战,你会选择继续么?
一些案例
- 我做的这块降低了 20% 的硬件运营成本;
- 我负责的日志监控,为 60% 的线上错误成功报警;
- 我做的新人培训文档,使新人一周即可开展项目工作;
- 我带头引入 Confluence 知识库工具,为团队协作和知识共享开拓了空间;
- 我调整了小组分工,解决了工作量不均的问题;
- 我遇到的挑战是产品安全性低,而团队又缺少这方面的经验,我的做法是……最终……
简历上如何写项目经历
-
项目背景(是什么促使了项目的产生)
-
项目目标(项目预期效果)
-
介绍自己的项目经历,自己负责的模块,如何实现对应的技术模块。
因为没人懂你的项目到底什么背景,也没人有时间仔细去琢磨和研读,尽可能一两句话简单总结一下项目 -
项目背景
- 让面试官和 HR 知道解决了什么问题,HR 会匹配相同经历的面试者
- 解决了什么问题、整个项目如何运行的
- PS. 比赛平台项目的需求基本上都是自提供的,在运行过程中发现存在什么问题然后解决。不同于一般的 C 端产品服务,项目的需求是产品提供,比赛平台的项目需求往往都是内部开发以及使用过程中发现问题后产生的,比如调用外部服务时存在数据集泄露、策略运行顺序问题等等。
-
参与的角色+负责模块 / 项目职责
- ❌ 简单的写自己做了 xxx 模块。✔️ 从整个项目触发,解决什么问题。
- ❌ 订单商品维度销量统计、订单炼厂维度销售统计、…
- ✔️ 业务团队收集需求,明确数据分析的需求和指标。设计并实现数据统计和多维度分析统计。要统计每天或每周的订单、商品、供应商、业务员、新客户等销售数据。配合前端提供图形化展示,帮助业务团队快速洞察问题。
写简历的时候,我觉得需要从面试官的角度去出发评判这份简历写得好不好,比如很多指标可以量化,这样也方便面试官问,比如我喜欢按照下面这种格式来写自己的实习和项目经历:
针对 xxx 算法每帧耗时 xx ms,实时性不佳的缺点,采用 PTQ 量化方式进行加速,最终速度提升到 yy ms 每帧,预期有 zzzz 收益。
针对 STN 算法从 onnx 转成 tensorRT engine 时,存在不支持算子的缺点,借鉴人脸关键点检测算法,对角点进行检测,使用 opencv 透视变化取代 STN 网络,带来速度上的 xxxx 收益,精度提升 xx%
如果我拿到这个简历,我给你定级可能最多中级开发。如果一个项目是你主导的,你项目一定要突出你主导干了哪些事情,设计了什么东西。简历我觉得可以简化具体怎么做的,因为这个可以在面试的聊,但是要突出自己的高阶能力,比如架构能力,重构能力。而不是简单的一个项目参与了哪些开发,redis 缓存,mq 解耦异步,这样的只是初中级干活的角色。如果岗位招聘是初中级,我会让你来面试,看看你实际的开发应用的能力,然后会问你两个架构设计问题,看看你的向上提升有没有希望。
项目价值在项目介绍中体现,不需要任何技术名词;相关的技术关键词挑重要的说,xx-job 就别放进去了,还是简述问题,然后自己如何解决,最后拿到可以量化的成果;
项目价值:
作为团队核心成员,主导了高度可配置的可视化审批平台的开发。该平台不仅让非技术背景的人员能够轻松设计和管理复杂的审批流程,而且支持企业根据具体业务需求定制。
主要成果:
- 审批平台的核心技术升级:当前系统 tps 多少,高峰时候出现什么问题,通过什么手段找定位到问题点,然后开始技术选型,A/B Test 后灰度发布,最后 tps 提高了多少,问题解决。
- …
这一套下来比我加个 Redis 下来更有逻辑
实话说,OP 这种直接写结果,没有思考过程就很伤,虽然解决问题的方法很简单,毕竟你没有几年工作经验,但是你思考的深度和广度不一样,这个简历就跟人感觉不同
你看原文是这样:
引入 Redis 作为缓存解决方案,优化了审批流程中的热点数据访问,减少了数据库、第三方服务的直接查询,提高了处理效率;
采用 RocketMQ ,实现了审批流程中的异步任务处理,审批流程的平均处理时间缩短了 50%,系统吞吐量提高了 30%;
而且写的不怎么样,项目功能一句话带过,工作内容写成了技术选型
例如我这里用了 JWT ,这里用了 redis
问题是,你写的这些都是主流的选择,除非特别新特别小众的技术栈,否则在面试官看来就是能力平平
你就算是写技术上的细节,你也写的细一点
例如同样是用 JWT ,写得好就可以写成
“自定义 Spring Security 相关接口,使用 redis 和 token,结合拦截器实现用户认证、token 刷新和权限认证机制”
你要这么写,我就信你是敲过代码的,否则这些玩意,哪个脚手架没有
你可以写你实现的功能点上去,起码让面试官知道这个系统开发了什么功能,你有思考过哪些业务场景
从我的角度来看,应届生我不期待他有多少能力,八股文我也不问
但是实际敲过代码很重要,会额外的技术栈也很加分(例如小程序、有实际的云服务对接经历)
我的建议是项目经历写的详细点,选的技术是怎么用的
看你也有接入短信发送,也可以详细写写
例如是不是在系统增加了短信模板管理,对接了阿里云/腾讯云
技能描述:springcloud 可以专门拿出来,cloud 内容挺多的,你可以描述为熟悉 SpringCloud 系列微服务组件,对微服务思想有较深的认识;熟悉常用的分布式技术栈,如:Nacos ,Kafka ,Gateway ,openFeign ( Dubbo )等,挑你会的写。
项目经验:面试还是得吹一吹的,你的项目经验可以稍微夸大一点讲,设计的时候有考虑到那些点,一般面试的时候会被拷打,你给人的感觉写的需求是在做 crud 一样,想做好有两个点,第一量化产出,采用你的方案能达到什么效果,最好有数据支持,第二,STAR 原则,结合需求展示技术方案达到什么结果,你多看看其他人的简历,对比一下就知道问题了。
负责项目
代驾 Sass 系统
描述 :为代驾公司提供司机端, 后台管理系统, 主要的代驾订单来自于高德代驾, 平均每天 10W+代驾订单. 本人所在代驾财务组, 主要为代驾业务提供订单的支付, 司机的充值, 提现, 账单生成以及保险投保等功能
主要技术 :Dubbo, Pandora Boot, MySQL, AnalyticDB, Sharding-JDBC, redis, 阿里 SchedulerX
主要职责 :
负责司机奖励发放业务
资金安全业务
工作内容 :
- 提现配置由单一配置转为分城市配置
- 难点在于保证上线兼容性
- 租户余额, 司机提现余额不足, 司机调账频率, 基础配置变更等业务报警通知
2. 其中有一个报警是多时间点,多种情况的报警,只用了一个定时任务实现了这个报警 - 解决租户短信扣费并发失败问题
- 司机端司机申请解约流程
- 其他功能需求开发
描述 :基于企业微信的一款面向销售人员和营销人员的 scrm 管理系统, 分为企微端和 PC 端, 具有:员工离职继承, sop 任务, 客户群发, 员工业绩以及客户统计, 会话存档, 营销等主要功能
主要技术 :SpringCloudAlibaba, minIo, kafka, ES, Redis, MySQL, xxlJob, DDD
主要工作内容 :
- 会话存档, 客户统计功能开发
- 客户自定义字段, 客户标签, 客户公海等产品功能迭代
- 导出中心功能, OSS 基础服务开发
- 性能优化
- Sql 优化从 10s 优化至 3s 左右(SQL 中 where 条件里的 in 条件有 1W+的数据)
- 拉取客户会话存档状态定时任务从半小时左右优化至 15 分钟
- 其他产品功能开发
描述优化
ELK 搭建, 业务报警监控以及服务异常报警搭建 ⇒ ELK 搭建, 业务报警监控以及服务异常报警搭建,服务可用性提升至 99.8%
公司内部算法竞赛场后端建设
项目描述:一个类 Kaggle、天池的竞赛平台,支持创建算法比赛、提交评测服务、评测服务评估、日志查看、排行榜统计等功能。主要不同在于,评测服务以 Docker 镜像为主,Helm Chart 等其他格式为辅的格式。
项目背景:公司有很多业务场景,而如果将特定的算法人员限制在特定的业务场景下,不利于充分发挥高水平算法人员的能力,因此采取竞赛平台的形式,将业务方的业务问题转换为算法比赛,由算法工程师进行自由选择攻克的项目。
公司运营平台会统计算法的提交信息,比如每天提交数目、提交人等等,方便了解算法工程师的进展。算法工程师会调用提交接口去提交评测 config 信息、日志查看、终止策略等接口。
评测程序开发人员除了会用算法工程师使用的接口,还会调用创建与编辑算法比赛接口、数据集接口等等。
而由于排行榜的积分机制,会为每个榜单设置积分、基线等等,需要专员去做,这也是一个权限。
- 排行榜积分的缓存功能
- 性能优化/
个人项目经历
漏洞补丁定位项目
- 该课题旨在完成一个根据漏洞信息来定位仓库中漏洞补丁的算法。
- 由于当前现有研究中正样本数目少,所以从 CVE、Snyk 等网站中收集可用正样本 1669 条。
- 通过分析漏洞补丁与漏洞信息之间的联系,从 5 个维度抽取特征,再结合机器学习和深度学习方法与自己提出的投票排序融合机制得到最终模型。最终模型在 Top 1 召回率上优于现存模型 15%。
推荐系统离线处理数据流优化
- 为优化推荐架构离线数据处理流,将图文场景 400 多属性的处理逻辑从原框架迁移到新框架中。经过 AB 实验验证,图文场景 Latency 降低 15ms,Staytime 正向显著,在线推荐中候选到正排数据的数据属性 miss 率从 16% 降低到 6%。
- 针对日常发现离线数据流任务中个别数据处理异常的情况,修复程序问题并增加指标监控;针对在线服务部分指标缺失监控的情况,主动增加一些指标和监控报警。
第四范式经历顺序
caiyu:
23 年 9 月 —— 24 年 7 月
开发 leaderboard-be
24 年 3 月 —— 24 年 5 月
开发 leaderboard-lite
me:
23 年 6 月 —— 23 年 7 月
- 开始 PK platform 平台侧的竞赛程序
23 年 8 月 —— 24 年 6 月
- 开发 leaderboard-be
24 年 2 月 —— 24 年 4 月
- 开发 leaderboard-lite
24 年 5 月 —— 24 年 9 月
- 开发 leaderboard-be 平台侧的竞赛程序
之后休假
回去之后看看能不能找点 ai 后端的工作
基于 DSSE 和 ES 的推荐系统服务
当前存在什么样的问题,怎么优化的?但是仅仅是在历史场景下做到更优,没办法判断是否在线上是更优的选择。
咨询推荐 —— 为期时间有点长,肯定不能是自己独立开发,最多属于优化某个部分。
AIOT 产品可用性测试(要不要写?测试岗位)
混沌工程的故障压测 —— 稍微了解了 k8s
但是这个时候做的不是特别好,算是入门,怎么整?
断电、断网、CPU 满载、内存满载测试 + 压测判断。
至于什么原因导致的呢?可能要问问了 = =,希望他还在。
标注平台
基础的接口和功能差不多,和前端刚开始联调并处理一些问题的时候,
后来买了一个外部的标注平台工具,算是收编了吧,产品+研发一起入职了公司进行后续适配和升级。
标注平台的开发?最开始进行标注平台的开发,还在开发过程中,公司收购了一个专门做标注工具的团队。
PK-Platform 侧的竞赛程序
面试官版本
我参与了公司自动化评估平台项目的开发,这个项目的背景源于公司为外部企业客户提供大模型相关服务,包括 API 识别、自然语言转 SQL、知识库问答等多种场景。然而,当时各解决方案团队的服务效果缺乏系统化的评估流程,导致管理层难以准确衡量各团队的服务成效。为了解决这一问题,公司决定搭建一个自动化评估平台,旨在高效评估各团队的服务质量,并为管理层提供精准的决策依据。
这个平台主要分为两个核心部分:平台侧和评估程序侧。平台侧的功能是支持各团队提交服务策略,并能够自动获取这些策略在特定数据集上的评估结果。当某个团队提交策略后,系统会自动触发对应场景的评估程序,完成对策略的评估。而评估程序侧则采用了设计模式中的模板模式,将整个评估流程抽象为三个关键阶段:解析数据集数据、发送请求并接收策略返回结果、以及结果指标的计算。这种设计不仅提高了代码的复用性,还使得评估流程更加清晰和易于维护。
在项目中,我主要负责针对不同的评估场景,设计评估程序侧这三个阶段的逻辑。这一过程中,我与业务解决方案团队紧密合作,确保接口格式既能满足当前需求,又具备足够的灵活性以兼容未来的评估场景。同时,我还与产品团队深入探讨,不断迭代优化评价指标的选择,确保评估结果能够真实反映服务策略的效果。
最终,项目取得了显著的成果。我们成功构建了 Copilot 场景下的多个业务评估程序,并为解决方案团队提供了超过 xxx 次的评估测试。这些评估不仅帮助团队快速迭代和优化服务策略,还为管理层提供了有力的数据支持,推动了公司整体服务质量的提升。
简历版本
自动化评估平台项目
- 参与公司自动化评估平台的开发,旨在为大模型相关服务(如 API 识别、nl2sql、知识库问答等)提供高效评估流程,支持管理层决策。
- 负责设计评估程序侧的核心逻辑,采用模板模式抽象评估流程,包括数据解析、请求处理、结果计算三个阶段,提升代码复用性与可维护性。
- 与业务团队协作定义接口格式,确保兼容性与扩展性;与产品团队优化评价指标,提升评估结果的准确性。
- 完成 Copilot 场景下多个评估程序的构建,累计为解决方案团队提供 xxx 次评估测试,显著提升服务策略迭代效率与服务质量。
HR 介绍版本
我参与了公司自动化评估平台的项目,这个平台的背景是公司为外部企业客户提供大模型相关服务,比如 API 识别、自然语言转 SQL、知识库问答等。由于当时缺乏系统化的评估流程,管理层难以准确衡量各团队的服务效果,因此公司决定搭建这个平台来高效评估服务质量,并为决策提供数据支持。
在这个项目中,我主要负责设计评估程序的核心逻辑。我们将评估流程抽象为三个阶段:数据解析、请求处理和结果计算,这样不仅提高了代码的复用性,也让整个评估过程更加清晰和高效。同时,我与业务团队紧密合作,确保接口设计既能满足当前需求,又能兼容未来的扩展;还与产品团队一起优化了评价指标,确保评估结果能够真实反映服务策略的效果。
最终,我们成功构建了 Copilot 场景下的多个评估程序,累计为解决方案团队提供了 xxx 次评估测试。这些测试帮助团队快速评估服务策略,也为管理层提供了有力的数据支持,推动了公司整体服务质量的提升。
比赛平台服务
怎么介绍项目经历
语气!语气!语气!重要的问题说三遍!同样的话,被不同人,用不同的语气说出来,说服力也完全不一样,哪怕你觉得你的项目就是个渣渣,其实没有任何创新型可言,效果也贼烂,但你在与面试官的交流过程中也一定要底气十足。你需要不停的催眠自己,我做的东西就是最棒的!这一点非常重要!
你要把亮点和相关经历融合在一起,总结成故事(澄清一下,这里说的故事,可不是杜撰的故事,是截取具有完整性的一段真实经历)。每个故事可以选择下面的结构来组织:
开头,“有段经历,正好遇到了这个问题……”。(讲清问题背景)
发展,“一般的做法是做不到的,因为……”。(讲问题的复杂性和挑战)
高潮,“我一开始用到……后来……”。(讲解决方案的形成过程)
结局,“成果是……”。(讲结果、影响、意义)
详历主要有三个作用:
- 有助于职业规划,可视化技能体系、经验分布和成长路径。
- 是定制简历的母版。
- 提供面试素材。当被问到“这个项目最大的提高是什么”,或者“你失败的一次沟通是怎样的”,你可以从准备好的详历中,快速选取恰当的故事,讲给面试官。
一开始构建详历时,不求一次把过去的所有经历都提炼出故事,可以重点考虑下面的经历:
- 受人瞩目的、引以为豪的成果,你是如何做到的?
- 提高和创新的部分,你是怎么做的?
- 最困难、最复杂、最有挑战的部分,你是怎么样做的?
- 从技术、业务和管理三方面,找出自己提高的地方,你是怎么提高的?
讲述项目 [面试官方向 Match]
- 第零层:STAR 原则介绍项目内容
- 第一层:应该罗列一下在项目过程中你觉得比较得意或者解决的难点,比如热帖排序、搜索如何做的,是否上了缓存、消息队列。这些相当于告诉面试官你会什么技术栈,面试官会根据这些点来问你,比如你说用了 redis 做缓存,面试官肯定会问你 redis 的原理,你掏出准备好的答案,你面的轻松,面试官也会觉得你还不错。
- 第二层:面试过程中主动说技术选型的过程,你可以说你用了 redis,你如果再跟面试官说一下为什么用 redis,为什么不是 memcached 等其他组件,他们原理是什么,他们之间有什么区别,你怎么思考的,那就更上一层。(如果良心告诉你是视频教程网站用的 redis,所以你用了,请你吞下去,换成我的这套。。)
- 第三层:面试过程中主动说优化的思考,现在你的流量可能很小,是个小应用,如果大了,你打算怎么做?比如你的 redis 缓存,是否可能存在雪崩,怎么解决;比如对于大热点,怎么做多级缓存,怎么热加载;比如是否考虑过分库分表,怎么解决一致性。
- 当然如果你在大气层,比如自研了 xxx 中间件,可以和面试官从 cpu 内核聊到业务场景落地,当我没说。。如果很牛的话,可以和面试官交流公司相应技术栈。分析原因等等。
讲述项目 [面试官方向 NonMatch]
前言
思考一个问题:你能否用一个或多个现实生活中常见的例子,用简明有趣的语言,简要描述你的项目在做怎样一件事?并用同样方法,描述你的项目的创新点在何处?
正文
- Background:项目背景。你的项目是基于什么样的背景开展的;
- What&Why:你做的是什么,为什么要这么做,motivation 有哪些;
- Think&How:为了做好这个项目,你是怎么想的,你打算如何开展你的工作,你的 roadmap 或者 schedule 是怎么样的;
- 工作开展情况:分了哪几步,每一步都做了什么,都做得怎么样;
- 难点突破:你在工作过程中遇到了什么困难,你是怎么克服这些困难的;
- 工作结果:你取得了什么样的结果,量化指标如何,带来了哪些收益(重点);
- 总体评价:从宏观上评价你的项目,解决了哪些痛点,带来了哪些优化,能否和其他项目或者产品联动产生 1+1>2 的结果,是否沉淀出了项目以外的东西,等等。
QPS 怎么统计
后端开发的佬友们,一般都是怎么统计QPS数据的 - 开发调优 - LINUX DO
- nginx module 可以统计,但是可能没有安装这个模块
- 看项目大小,小项目自己用拦截器统计一下就完事,稍微大一点可以用 grafana+prometheus+springboot actuator 来监控,再大一点的话可以用 opentelemetry
- 我们私有协议,Prometheus 统计的,Counter+定时 push
- 工具压测
- 本质都是日志
关于编造经历的事情(双向)
- 不要担心经历是否是编造的
- 一个谎言背后需要用更多的谎言来圆谎的
- 基于描述的经历逐步求精、细化问题,从而知道应聘者是否在编故事
其他
我发现啥经历拿得出手的项目的啥的都是玄学
我刚开始面试的时候,项目挺一般的
然后每场面试我会琢磨面试官希望我的项目应该有啥亮点
一场改一点
最后简历上那玩意跟我真正做的东西都没毛关系了