首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
飞翔的菜鸡
四川大学 Java
发布于四川
关注
已关注
取消关注
@mio4:
【100%干货】后端程序员如何平稳通过试用期?
0x0 新人的痛点 我在校招的时候,通过刷题和八股文的策略拿到了满意的offer,但是缺乏企业级项目的实战,在第一份工作的试用期的时候,吃了很多苦头。牛客上关于面试的帖子太多了,大部分帖子关注的是如何进入大厂,如何在校招中收割offer,以及各种公众号自媒体的引流,很少有人分享如何在试用期内平稳落地,这块明显是应届生的短板,所以今天简单分享下个人经验。 后端程序员经常会面临下面的场景: ① 校招/社招新人入职,需要学习已有系统,作为工作 landing 的核心部分; ② 同事离职或转岗,需要把系统交接给你,面对完全陌生的系统,如何快速参与开发和bug fix; ③ 经典面试问题?介绍下你的项目,如何给完全不懂的面试官解释自己的项目是干嘛的。 上述的场景都可以被解释为通用的问题:如何从零开始熟悉系统,我们是否能从中抽象出通用的梳理框架?我不推荐一上来就看代码的方式,方法太粗暴并且视野狭隘。下面手把手教大家从业务、逻辑、物理等不同的纬度把握一个系统的脉络,框架是系统的主干,剩下的细节则是具体的代码。 0x1 业务功能 所谓业务功能的学习就是从业务角度去学习系统,我们需要了解系统的客户是谁、使用人是谁、带来了什么价值,系统提供了哪些功能等。如果不清楚业务,就等于不知道系统在干什么。 技术不是空中楼阁,我们写的代码都是为了服务某个主体存在,最终目的是业务落地,清楚了业务才知道怎样用技术更好地服务业务,所以业务学习是熟悉一个系统的首要任务。 这块主要的学习方式: ① 沟通:和产品、运营、开发、测试沟通,遇事不决多私聊。 ② 实践:自己使用系统,比如你是淘宝下单页的开发,你肯定要自己先尝试下单和支付的整套流程。 ③ 文档:尝试从内部平台找到一些常见业务图,如产品功能架构图、业务流程图、功能树,用例图等,学习产品设计文档,找找PRD。 尝试给自己提出下面的问题并且找到答案: 系统所在行业的情况是什么样子? e.g. 如果是支付系统,目前国内是什么情况,alipay和wechat有啥区别? 系统的目标用户是谁?比如是给公司高层做决策用?给运营或客服用?还是给C端互联网用户使用? e.g. 这是toC还是toB或者内部平台系统,系统做出来会给谁带来使用价值? 日常有多少人在使用?高峰期多有少人在使用? e.g. 日常的流量是否存在维护风险?如果是电商系统,双十二大促流量是多少? 系统调用方:应用名 e.g. 可以通过公司的调用监控平台查看,上游业务方有哪些? 系统有什么业务价值?衡量系统业务价值的指标有哪些? e.g. 例如对于cmdb系统,系统的业务价值在于提供功能完善的运维平台,已经接入的物理机器数量,逻辑业务数量等。 系统有哪些接口?分类:rpc、http e.g. rpc接口和http接口有啥区别,什么时候应该提供http接口,什么时候应该提供rpc接口。 系统有哪些领域概念?梳理下系统的领域模型? e.g. 设计钱包,钱包的模型有哪些?银行卡是否属于核心领域模型 系统的关键业务流程有哪些?关键业务流程是怎样? e.g. 例如朋友圈功能,发布、点赞和评论肯定是核心业务流程 系统的非功能性需求有哪些?如性能、质量、扩展性、安全性等。 e.g. 老板关注的重点是什么,是系统的稳定性吗,还是系统的用户增长数量 系统未来的发展规划是怎样的? e.g. 未来应该做成什么样子,理由和计划,是否存在重构任务,重构是为了解决什么问题 0x2 逻辑架构&研发细节 逻辑架构着重考虑功能需求,系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。常用表达图形,静态图有包图、类图、对象图,动态图有序列图、状态图、活动图。 这块的学习任务是: ① 明确模块划分、接口定义、细分领域模型; ② 着重考虑运行期质量属性,关注点是系统的并发、同步、通信等问题,这势必涉及到进程、线程、对象等运行时概念,以及相关的并发、同步、通信等; ③ 关注系统源代码、第三方 SDK 、使用的框架、中间件、工具包。 尝试给自己提出下面的问题并且找到答案: 系统有哪些子系统或模块?系统之间是什么样的关系? 系统对外上下游接口有哪些?对接人是谁? 系统关键业务流程怎么实现的?能否用类图、时序图等方式表达出来? 代码在哪保管?git还是svn? 代码包怎么划分的?怎么分层?mvc?mvvm?mvp? 用了什么框架?如 ssh、dubbo、django、thinkphp? 用了哪些工具包?如 apache commons、guava、pip? 用了哪些中间件?如 zebra、redis、hbase、rabbitmq、rocketmq、kafka? 依赖哪些内部平台?如权限平台、用户平台、限流平台、监控平台、日志平台? 系统能支撑多少 qps/tps ?峰值 qps/tps 是多少? 与上下游系统怎么交互的?rpc?http?同步交互还是异步交互? 0x3 物理部署 物理部署这块主要关注如何保证系统的鲁棒性、性能以及发版和日常运行的安全管理。 这块的学习任务是: ① 明确服务的支撑性能上下限; ② 熟悉开发和发版部署流程,以及内部规范。 尝试给自己提出下面的问题并且找到答案: 系统如何发布部署?有哪些部署环境?现有的CI/CD平台如何使用? 系统有多少台机器?每台机器是什么配置,内存有多少?CPU多少核? 系统部署怎么部署的?有没有多机房部署?有没有做异地容灾、多区部署?关注部署方式(e.g. 集群部署、分布式部署),是否接入阿里云、腾讯云、AWS? 有没有容器化?k8s和docker呢? 0x4 数据模型 这块主要关注底层数据的模型,不仅仅要关注实体本身,更要关注实体间的数据流动,例如主从同步策略,数据迁移策略,以及不同数据模型的转换。 尝试给自己提出下面的问题并且找到答案: 数据存储在哪?用的什么数据库?关系型还是非关系型,如 mysql、redis、hbase? 如果存在关系型,例如典型的MySQL,画一画 E-R 图? 数据量有多少?是否有分库分表?分库分表的主纬度是什么?支持哪些查询? 有哪些数据同步任务?离线数仓是如何对接的? 大数据框架的使用情况如何?Flink、hive? 0x5 运维能力 系统运维重点关注: ① 如何避免出问题?测试用例维护 & 自动化测试,资源监控 & 流量监控。 ② 什么时候会出问题,出了问题怎么解决?历史故障有哪些?是否存在复盘文档? 尝试给自己提出下面的问题并且找到答案: 什么时间容易出问题?比如电商双11大促,系统压力暴涨,这时候很容易出问题。 对关键链路是否已有监控?需要看系统有配置了哪些报警项,监控了哪些方面。 如果出了问题怎么解决?日志在哪?是否有全链路跟踪?是否有一些紧急修复操作,比如开关配置、降级、限流、熔断配置。 系统有哪些历史坑点?找已经熟悉系统的研发同事回顾历史问题,以免踩坑。通过同事总结的 case 以及文档,或者与负责的产品、运营、技术与了解。系统总会有一些坑,需要把这些坑填上,填坑的过程就是熟悉系统的过程。历史代码经过多次迭代总会导致复杂度高(分支、嵌套、循环很多),耦合严重,设计漏洞,性能隐患等,很难维护,这些就需要我们去重构了。 客服反馈的常见问题有哪些?处理常见客诉有哪些方案? 0x6 总结 熟悉了系统的业务和技术后,就要实战了,通过实战进一步加深对系统的熟悉程度。这点不用额外操心,一般leader/mentor都会给新人布置需求,从小规模的修改到大范围的需求支撑。 所谓操千曲而后晓声,观千剑而后识器,通过实践上述流程,并且在学习过程中多提问和思考,具体到某个模块为什么要这样设计,目前的代码有什么可以改进的点,目前的中间件是否完美符合业务的应用场景,是否有更好的中间件可以代替,个人对项目的把握会越来越强,通过试用期是理所当然的事情。
点赞 79
评论 15
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-25 16:34
University of California San Diego 算法工程师
求批评,为啥日常实习都找不到。。。
想找算法岗位的日常实习,连个面试都拿不到,是我四月开始投太晚了还是说没有论文没啥竞争力?😭😭😭
靖程Edward:
项目有点浅了,包装一下,不能让面试官一眼看懂
我的简历长这样
点赞
评论
收藏
分享
04-28 11:51
北京农业大学 财务
人生无法通过考研和考公来上岸
刷到一篇推文,深有共鸣,以前对各种上岸的焦虑就像密集的细针扎入身体,造成隐蔽的伤害与持久的麻木,总会想上了大学就好了,考上研究生就好了,毕业找到工作就好了,结婚孩子长大就好了,因为这些外界强加的目标,导致在目标完成前的生活总像是一种“暂时态”,因为是暂时状态,所以很自然地认为凑合凑合过得去就行,但以后的一天是一天,现在的一天也是一天,并且以后是无法掌控的,那不如过好当下的每一分每一秒。在家里,一切的一切都在治愈我,咖啡浓郁的焦香占据鼻腔,用独门秘技加入牛奶得到世界上独一无二的豪放派拉花,宫廷玉液咖,一百八一杯;和妈妈一起买菜,走出超市看见落日正西沉,照得世界金光一片;一家人开很久的车去吃新菜品...
聪明的加菲猫又在摸鱼:
中国人时时刻刻泡在水里的一生…
点赞
评论
收藏
分享
04-10 23:54
中国人民解放军国防科技大学 C++
tx这个一直这样是啥意思不理解
是面试官没时间提交面评吗
点赞
评论
收藏
分享
03-20 11:44
门头沟学院 嵌入式软件开发
美团-寄了
一觉醒来直接灭了#美团求职进展汇总# #暑期#
牛客10001:
G了+1,被前端/客户端给捞起来了,不太想面
投递美团等公司6个岗位
美团求职进展汇总
点赞
评论
收藏
分享
昨天 10:40
电子科技大学 研发工程师
春招 4月30日美团一面
五一前接到团子一面,从下午五点一直面到六点四十,人麻了1、自我介绍2、项目深挖(缓存预热怎么预热的,普罗米修斯和ELK怎么用的,热点API、热点数据如何锁定的,数据库启动时水位线如何设置的,三大缓存问题,限流降级如何做的,鉴权怎么做的,接口优化如何做的,如何避免大key,如何检测大key,如何分片,如何部署集群)3、手撕三道sql题(分组、排名前三)根据三道sql题开始mysql八股,根据三道sql题进行sql优化,如何建索引、explain、mvcc(挖的很深,构成、如何判断用哪个快照)、索引失效、事务、隔离级别、分别解决什么问题4、spring,事务的原理、事务失效举例(不仅仅是背八股,还...
投递美团等公司6个岗位 >
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.3W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.8W
3
...
五一假期,弯道超车时间表
1.3W
4
...
后端简历上最值得写的项目
1.0W
5
...
北京到底有谁在啊?
9045
6
...
五一别写你那破开源代码了
8337
7
...
五一准备刷完这些面试八股题!!
7454
8
...
拼多多服务端信息确认
6814
9
...
快手投诉后续- HR把我拉黑了!
6323
10
...
和ai聊天,忍不住爆哭
6240
创作者周榜
更多
正在热议
更多
#
设计人如何选offer
#
98410次浏览
689人参与
#
找工作,行业重要还是岗位重要?
#
7782次浏览
102人参与
#
五一之后,实习真的很难找吗?
#
45760次浏览
326人参与
#
盲审过后你想做什么?
#
12699次浏览
113人参与
#
外包能不能当跳板?
#
22198次浏览
191人参与
#
领导秒批的请假话术
#
9956次浏览
74人参与
#
考研可以缓解求职焦虑吗
#
21170次浏览
251人参与
#
五一假期,你打算“躺”还是“卷”?
#
30632次浏览
436人参与
#
找工作前vs找工作后的心路变化
#
7204次浏览
64人参与
#
面试等了一周没回复,还有戏吗
#
115659次浏览
1074人参与
#
硬件人,你被哪些公司给挂了
#
46723次浏览
722人参与
#
安克创新求职进展汇总
#
32581次浏览
415人参与
#
大疆的机械笔试比去年难吗
#
69653次浏览
603人参与
#
应届生薪资多少才合理?
#
3115次浏览
24人参与
#
牛友们的论文几号送审
#
27272次浏览
623人参与
#
写简历别走弯路
#
714525次浏览
7850人参与
#
你喜欢工作还是上学
#
37677次浏览
413人参与
#
如果有时光机,你最想去到哪个年纪?
#
43340次浏览
769人参与
#
如果不工作真的会快乐吗
#
101238次浏览
867人参与
#
每人推荐一个小而美的高薪公司
#
72851次浏览
1357人参与
牛客网
牛客企业服务