进入大厂实习后,如何顺利landing?
很多拿了大厂offer的牛友,现在应该是入职的时间了,大家在新公司landing得如何呢?本人也经历过两次实习入职landing,对此也有很多感触,因此把自己的心得记录下来,希望能够帮到各位牛友顺利的在新公司适应下来~
一、熟悉项目
我实习过的两个公司,最开始都给了我一到两周的时间来熟悉项目,我相信这也是大多数公司的流程。说实话,在第一段实习里,我做的并不好,一个星期时间完全没理解到这个项目是干什么的,这当然有业务是中台、比较小众难以理解的原因,但更多还是方法不对;在第二段实习的时候,我才慢慢把握到了节奏。
在第一段实习里,我最大的问题是,在没理解业务的前提下,尝试一行一行的给代码做注释,试图以此来理解项目。这样是完全错误的,且不说有些项目的代码量是天文数字,就算只看核心接口,也必须要先弄清楚业务再来理解。因为技术服务于业务,只有理解了业务,你阅读代码才能一目十行。
我推荐的顺序是:
首先看业务的产品文档,这可能是立项文档,也可能是用户手册,反正是可以让你理解这个项目是做什么的文档。
第二步是申请测试账号,登录你要开发的系统,亲自体验功能,这会让你对功能的印象更深刻。
第三步是理解主要的业务模型以及核心属性,比如订单模型有哪些核心属性、商品模型又有哪些属性,了解这些核心属性的含义,以及它们在前端页面的位置,可以结合第二步。
第四步是才是看核心接口的代码,核心接口就是链路最长、请求最频繁的接口,比如下单的接口、查询订单的接口,这和具体的业务有关。当你了解到一个完整的请求,从前端触发到各个服务之间的协作,到操作数据库,到最后组装返回,整条链路都疏通了,就可以开始做小需求了,因为其他的接口都是以此类推。这个过程中可以借助架构图、流程图等辅助理解。
二、第一个需求
第一个需求可能只涉及到一两行代码的变更,甚至可能只是改bug。但是这是我们了解新公司各个平台的重要过程。你可以在做这个小需求的过程中,了解到代码平台、需求平台、发布平台、链路追踪平台等各个公司内部系统的使用方法,这个过程离不开你的主动询问以及mt的帮助,你可以在mt给你讲解平台使用的时候,把一些关键操作记录下来,等你第二次发布的时候,就不用去重复去问。
经过这样一个小需求,你已经大致了解到了各个平台的基本使用,算是初步landing下来了。后续你会不断接触到越来越复杂的需求,而你要做的事情有:
- 弄清楚需求评审、技术评审、开发提测等具体的开发流程是怎么样的,时间排期如何确定
- 弄清楚每个同事的职责范围,知道哪一部分出了问题应该找谁,而不是每个问题都是问mt
最后,当你能作为一个需求的技术pm,从头到尾完成一整个功能的评审、开发、上线以及验收,那么可以说你已经顺利的landing下来了,后续只差时间的积累。
三、其他经验
- 主动沟通。无论是主动向mt或者其他同事提题,还是在评审会上主动发言,还是在开发过程中遇到阻塞时主动提出,只有越主动,你才能越进步。不要害怕沟通,如果因为你的问题导致项目延期或者出现其他问题,那才是真正让人害怕的。
- 认真学习cr。代码cr是很能让人进步的,老员工给cr提的意见要认真学习,那都是经过实践检验的、符合部门编码习惯的。我推荐一些重要的代码,除了mt,还可以把ld、项目负责人等的名字一同加为cr评审人,这真的很有帮助。
- 对线上操作保持敬畏。无论是发布代码,还是配置,还是线上运行sql,所有能影响到线上的操作,一定要慎之又慎,认真遵循checklist,因为一旦出问题,影响面广且后果很严重。
很多细节我也回忆不起来了,暂时就记录这么多吧,希望各位已入职和未入职的实习生都能收获一段快乐的实习时光,以及还没到找实习的牛友也能尽快收获满意的offer~
找实习过程中的面经