关艺俊在这场分享中把远程实习放回了一个更基本的问题:在校生希望通过实习得到什么?对他而言,地点固然影响安排,但能否接触真实工程、学会协作、形成可证明的能力,才决定一段实习的长期价值。
关艺俊以在校实习生身份分享的录播发布于 2023 年 3 月 8 日,活动举办日期未确认。年级、实习岗位、招聘环境和疫情下的安排均为当时情况。
实习的价值不止是把功能写出来
他介绍自己先后经历过三段包含远程安排的实习:有的先在线后转到现场,有的全程在线,还有的受当时出行条件限制,只能暂时在家工作。他也参与过开源项目,因而把企业实践与社区贡献放在一起比较。
当时他仍在大学读书。第一段实习先远程、后去办公室;第二段在小团队全程远程;第三段因当时的公共卫生和出行条件暂时不能去北京。他特意纠正主持人“三份远程工作”的概括,因为把这些经历一概算作纯远程,会掩盖他为什么有机会比较两种协作方式。
实习首先让学校里学到的技术进入真实环境。前端工程不是在本地执行一次开发命令就结束,还包括研发流水线、基础设施、部署与负载分配,以及与产品、设计、后端等角色的配合。了解这些环节,才能理解一项功能怎样真正上线和运行。
接下来要回答的是:自己在这套环境里完成了什么?他把实习、简历与面试看成一条连续的链路——真实工作产生材料,材料要能够说明贡献,面试再把过程和判断表达清楚。只留下“使用了某个框架”的技术名词,很难说明自己解决问题的程度。
从执行任务到发现问题、证明价值
片中借用当时校招讨论里的普通 offer、SP、SSP 等说法,表达他对能力层次的个人理解。这些并非公司的正式评分规则,也不是做完某一项任务就能换取某个结果的公式。
第一层是可靠完成安排:理解需求、按时交付、会使用团队已有的工程设施。再往前一步,是拥有可展开的专长,例如性能优化、Node 与 BFF、脚手架、构建插件、可视化等。专长的意义不在于给简历多添一个名词,而在于遇到相应问题时,能够说明原理并作出改进。
他把最基础的例子讲得很直白:导师分配一个跑马灯或其他组件,实习生用现有工程完成、按时上线。这已经是合格的交付,也让人熟悉企业的工具链;但面试时如果只能说“按要求做完”,听者仍不知道你能否识别未被分配的问题。他用普通 offer、SP 和 SSP 做的是个人化的能力比喻,不是招聘部门公开的评级公式。
他用 SSR 优化举例:先看业务的数据面板,判断哪里存在异常或瓶颈,再实施优化,对照前后指标。这与“我做过 SSR”有很大差别,后者只说明接触过技术,前者才展示了问题识别和效果验证。
在他的推演里,接到一个页面需求并完成开发,是团队期望的起点;如果还能主动看业务看板,发现服务端渲染的某项指标不理想,追查原因、提出修改,再用前后数据说明效果,贡献就从执行任务变成了解决问题。他没有把“会写 SSR”当作亮点;亮点是找到业务正在付出的代价,并能解释优化为什么有效。
另一个案例是团队构建缓存的成本。片中讲到有同学将原有付费方案的一部分能力转到内部设施,帮助团队节省支出;他还设想过资源弹性调整等改进。重要的是发现反复发生的成本或效率问题,与负责人沟通后解决,并把收益讲清楚。案例里的金额是现场口头举例,不是独立核验的成本测算,不能直接照搬到其他团队。
他讲述这位同学的思路:团队按开发者人数为构建缓存付费,人数增加后,月度支出也跟着上升。同学发现这项能力可以迁到团队自己的服务器,完成迁移后再向部门说明节省了什么。关艺俊随后把例子推广到 BFF 机器:若固定运行多台实例而流量有明显高低峰,能否根据负载自动扩缩?这仍只是他提出的改进方向,却说明他希望实习生观察工程成本、找负责人讨论,并承担一个能被验证的改造,而不是只等任务派到手里。
他又将“价值”和“影响力”分开。一个改造先要真正解决团队的问题,之后把适用条件和实现过程写清楚,其他人才能复用。写技术文章可以扩大成果的影响,但不能替代成本、性能或协作上的实际收益。
信息输入和表达,也属于准备的一部分
关艺俊建议少把全部时间花在重复的面试题整理上,更多关注开发者的技术分享、邮件周报和团队实践,从中找到真实问题与可参与的项目。他自己就是通过持续关注社区信息,接触到后来参与的开源项目。
他也关心影响力:解决问题后,能否把经验总结出来,让别人理解和使用。不过写文章应以真实工作为基础,不能把传播当作对技术价值的替代。准备面试时,提前梳理问题、方案、取舍和结果,是为了在有限时间内解释自己的工作,而不是编造没有做过的成果。
他提到自己会读开发者邮件周报和技术团队的分享。一次开源参与机会,就是从这类信息里看到新项目后逐步接触到的。对学生而言,这种输入的作用不是每天追逐新名词,而是知道团队在解决什么问题,再判断自己是否能从一个可交付的小问题加入。
这也是他反复提醒“为下一次面试准备材料”的意思。实习时先留意自己遇到的问题,弄清原状、行动与结果,再把其中真正由自己承担的部分写进简历。面试只有一段有限时间,候选人应能按问题、做法、取舍和结果讲出完整过程;“吹”不能变成把别人的工作算到自己名下。
能选的时候,为什么他更愿意到现场实习
选择先受现实约束:课程、学校安排、地点和当时的公共卫生环境,都可能使一个人只能接受其中一种方式。在两者都可行的前提下,他个人更倾向线下实习,理由主要有两点。
第一是练习人与人沟通。对初次进入职场的学生,发现自己表达、协作和处理关系上的不足,本来就是实习的一部分。尽早在具体合作中修正,比正式承担更复杂职责后才第一次面对这些问题更有准备。
他回忆第一次线下实习前有些腼腆,进入团队后才意识到,自己在某些讨论里没有把意思说清,某些互动方式也不妥。实习给了他一个可观察和修正的场合:如果总等到正式入职才发现这类问题,调整的代价可能更高。这是他推荐线下的个人经历依据,并非说远程环境无法培养沟通能力。
第二是提问和理解业务更方便。他曾因同事迟迟不回消息而担心自己的问题太基础,见面后才发现对方其实很愿意解释。某些背景用一两句话就能说明,但写成长消息的门槛更高。这不是说远程同事不愿意帮助,而是沟通媒介会影响求助的成本与感受。
他的例子很小,却很能说明差别:一个埋点不知道该放在哪里,在线上可能要写一段背景、等对方看到消息,再来回确认;走到同事工位旁,指着页面和代码问一句,也许马上就被点通。他以前把延迟回复误读为对方不耐烦,面对面交流后才知道同事愿意帮助,还会顺着问题多讲一层业务背景。
谈到同时再接一份远程工作的设想,他更重视成长回报:若只是用额外时间赚取短期收入,却挤掉学习和做好当前工作的时间,未必有利于后续发展。这个取舍来自他面向在校生的个人视角,不应被理解为否定经济压力不同的人的选择。
远程实习怎样找,岗位究竟要求什么
按他当时的经验,前端远程实习机会并不容易找。他提到通过招聘平台和熟人介绍获得面试,准备充分时可以主动投递,不必只盯着某个季节。但这些是历史渠道经验,不是当前职位数量或全年开放的承诺。
他把“什么时候找”和“在哪里找”分开回答:远程减少了搬到工作城市的要求,只要课程和工作安排允许,可以在自己准备好时投递;自己最早的面试机会来自 Boss 直聘,后来的 Web3 远程实习则经熟人推荐。其他实习平台也能尝试,但他当时的回复体验不如前两种渠道。推荐和平台都只是入口,简历、技术面试与岗位匹配仍要自己完成。
更需要检查的是岗位内容。有些团队希望实习生独立承担前端,自己搭工程并对接后端、产品和设计,能力要求可能很高;另一些岗位则只有零散任务。远程这一标签不会说明指导是否充分、工作是否有成长性,要把实际职责问清楚。具体申请过程仍然是简历、面试和双方匹配。
他特别提到没有固定办公室的初创团队:如果前端人手很少,招来的实习生可能要从工程搭建开始,把页面、接口联调、设计沟通都接起来。这样的岗位看似自由,实际上要求能够独立推进整套工作。另一些写着“远程”的岗位只让实习生处理杂活。比较机会时,不能只比较能否在宿舍工作,还要问清导师是谁、代码如何评审、自己负责的边界有多大。
暂时找不到实习,还可以怎样建立项目经验
关艺俊提出两种替代实践:参加能真正组队做项目的训练活动,以及持续参与开源。前者的价值取决于实际投入和团队合作,报名本身并不等于收获经验;后者则能让技术能力在公开讨论、代码和文档里留下证据。片中列举的训练营属于当时信息,是否仍举办需要另行查证。
开源也不必从最庞大的框架开始。他建议选择能够理解的项目,既可以在项目早期与维护者沟通,负责一个具体模块,也可以在成熟项目里寻找边界清楚的小任务。
他认为许多学生一听到开源,便直接打开 Vue 或 React 的仓库,看到庞大的代码量就退缩。新项目的代码与讨论通常更容易跟上,也可能让新人和发起人直接商量一小块功能;成熟项目则需要先从足够清楚的问题进入。两种路径都比盲目找一个“大项目”更能形成持续贡献。
具体入口有 issue 和 discussion:查看使用者提出的问题、维护者接受的功能请求,以及后续规划。先确认问题是否仍待解决、方案是否被接受,再阅读相关代码、认领任务并提交 PR。他现场展示过为组件补充属性的小功能,说明贡献不一定要是一整套大型系统。
演示时,他在 Ant Design 的组件仓库找到一个标成 feature request 的 issue。提出需求的人描述想新增的属性,维护者若接受,参与者便可以查相关组件的源码,判断修改范围,再在讨论里表示愿意处理并提交 PR。那个 issue 在他准备分享与正式展示之间已经被别人解决,恰好说明小任务会流动:认领前先看状态,不要按一周前的列表盲目开工。
另一个办法是从实际使用发现缺口。例如比较同类文档站工具的能力,看自己使用的项目是否缺少有价值的功能,再提出需求或补上实现。功能是否适合项目仍需要与维护者讨论;不是把别的框架所有功能复制过来,就自然构成有效贡献。
他以自己参与的文档站相关项目为例,说明还可以阅读 discussion 里的下一阶段需求,挑一个能理解的点试做。最早一次 PR 涉及把某个配置或属性继续传给下层,规模不大,却让他走完了阅读代码、修改、提交和讨论的流程。比较它与 VitePress 等同类工具,也能发现值得提议的缺口;提出需求之后,仍要听维护者判断它是否符合项目方向。
远程体验:弹性需要主动规划
他喜欢远程带来的生活弹性:安排运动、在任务间隙陪家人、把时间用于自我提升。片中以提前完成任务为例,表达对按成果而非机械在场衡量工作的期待;这并不等于完成一个任务后就自动获得数天假期,仍要遵守团队约定、处理后续协作和变更。
他描绘的理想一天从晨跑、洗澡、吃早饭开始,工作间隙可以和家人、宠物相处。拿到十天排期的任务,如果三天完成,他希望把余下时间用于学习,而不是在办公室为“看起来在工作”而久坐;同时,产品或运营后续的小改动仍要处理。这更多表达了他想要的工作节奏,能否这样安排取决于具体团队和交付约定。
另一方面,他也经历过时间没有划清、事情不断拖延,结果从早到晚都感觉在工作的阶段。把工作集中完成、留出明确的生活时间,比单纯没有通勤更重要。对实习生,远程的代价还包括少一些面对面请教、观察团队和练习沟通的机会。
他说那段低效时期从早上八点到晚上十点都像在上班,不是任务一直需要十四个小时,而是没有划出集中处理问题的时段,工作和生活不停互相打断。远程给了安排时间的余地,也把维持节奏的责任交给个人。对仍需要向导师学习的学生,这种代价还要与少掉的面对面反馈一起考虑。
问答:经历如何区分,面试如何准备
三份经历都是纯远程吗?不是。他在问答中区分了先远程后线下、全程线上,以及受当时条件影响暂时远程的经历。若外部条件允许,他仍希望去现场了解团队氛围、获得更直接的交流机会。
远程岗位面试是否特别不同?他说明自己没有面过专门的海外纯远程公司;在亲历的面试里,技术基础、项目和算法仍是主要内容。因此这个回答不能代表所有跨国远程团队的筛选方式。
第一次实习与后续实习分别看什么?他观察到初次实习更容易从前端基础、Vue 或 React、构建工具和计算机网络等方面展开;经验增加后,面试会更多追问先前项目中的工作及具体判断,算法也可能出现。准备不应只停在背题,还要能够解释自己使用过的工具、做过的项目和实际贡献。
