前端实习需要了解哪些基础信息

#发面经攒人品#

除了一面的常规八股,面试过程中还被问到很多实习项目的问题,不像八股那么好准备,但感觉即使没经历过,只要背过相关题目,还是可以混过面试官的(doge)。加上明年有可能需要提前实习了,所以结合上一段实习的日常记录和面试问题整理了一些经验,希望下一次实习自己上手会快一点,更迅速地适应工作,面试的时候答得更加清晰自然一点。

也希望对即将找第一段实习的同学也有点帮助~

全篇分为技术层面,团队协作层面和面试问题三个方面。

一、技术层面需要了解哪些东西

1.核心技术栈

  • 工程架构:中大厂一般首推pnpm+monorepo
  • 开发环境:搞清楚node版本,不然项目都跑不起来SOS
  • 开发框架:vue3/react 老项目用vue2需要你维护shishan
  • 开发语言:前端大多数都是TS
  • 构建工具:vite/webpack/rspack等 老项目webpack还很多,启动十几秒……
  • 跨端框架:涉及移动端的业务会用到,一般都是基于react native或者JSBridge那一套
  • 其他工具链:CSS方案比如tailwindCSS/UnoCss等

2.团队自研的基建平台

这些是内部自研的,网上或者ai都找不到全面的教程,需要自己看文档,但比较基础的都会包括以下几个方面。

  • UI组件库:都是封装好的,了解基本使用即可
  • 前端监控:包括埋点上报/错误捕获/性能监控/告警处理几大功能,一般需要了解的是埋点的新增和管理,以及后台数据获取与分析
  • 环境管理:这个是用来管理各种各种的环境问题或者跨域问题的,一般来讲涉及四个环境
  • 开发环境(dev)——本地开发使用
  • 测试环境(uat)——联调和测试阶段使用
  • 预演环境(prev)——内部预演阶段使用
  • 生产环境(prod)——最终上线使用

操作流程:前后端约定统一的环境染色标识,根据不同的场景切换不同的域名服务即可

  • CI/CD平台:现在构建部署都是自动化,减轻了很多心智负担,简直是主播这种又菜又懒的人的福利,至今没学怎么手动部署(doge)

操作流程大概是这样的

获取操作权限——git push到远程——选择想要的分支——切换构建的环境——发布到对应的服务——有bug修复——发布成功

3.开发规范

  • git分支管理:git flow策略
  • commit规范:我们当时没有,基本是软约束,我mentor都是随便写()
  • eslint校验:熟悉团队的代码规范
  • IDE配置:团队有要求统一vscode的setting.json的话也需要了解
  • 避坑点:
  • 不要随意安装一些包,最好前期调研清楚版本问题,兼容性问题
  • git merge之后如果package.json有变化,需要重新pnpm install一下,否则可能会报错
  • eslint规则要提前配置,设置保存自动fix,不然拉其他同学都代码下来空格缩进都不一样,肯定全是冲突

二、需求流程中的团队协作

1.需求评审:确认好大体的业务流程以及具体的交互细节,UI和产品可能只会列出主流程,很多边界case和错误情景需要补充

2.技术评审:和后端对接好接口协议,然后专注前端侧的技术方案 架构设计/路由设计/组件设计/第三方库的选型,预估好排期,最开始不要太老实,先乘个1.2的系数差不多,因为后面可能领导会压排期。。

3.开发阶段:和产品/ui不断确认需求,可能会经常变动 后端的接口也可能变动

4.联调阶段:前后端发布到uat环境进行联调,mock数据替换为真实后端服务,这个阶段才是真正完成开发的时候,需要完成基础功能,时间够的话需要完成自测,保证冒烟测试主流程通过

5.测试阶段:提bug——分配bug——改bug——提bug…… 也会有UI走查,需要承接来自ui和qa的双重打击

6.预演和灰度发布:配合团队继续改bug,一般是后端控制灰度过程

7.正式上线:有bug会预警,紧急切流——回滚——修复

总的来说协调过程还是非常心累的,唉不想上班啊

三、面试中遇到的问题

  • 需求整体流程/如何与其他岗位的同学协调/遇到不同观点你是怎么处理的
  • 重构后怎么去保证项目的可稳定性/如何处理兼容性bug
  • 实习期间最有成就感/挑战/提升的事情,
  • 是否有处理线上处理故障的经验
  • 如何去封装公共组价/请求库/埋点上报平台
  • 等等……

总之有些问题都非常的综合宏观,实习生又没做什么东西,所以结合自己的经验准备好回答去应试就行了吧

#发面经攒人品#
全部评论
优质贴
点赞 回复 分享
发布于 11-28 09:11 上海

相关推荐

12-04 02:31
已编辑
门头沟学院 前端工程师
第一次面试特别特别的紧张啊,面试前手都一直在抖站不稳timeline:12.1上午发简历直接约面12.2下午开始面试(27min)面试官一男一女,男好像是研发经理TvT,基本上是女生在问忘记录音了,记得的就这些先是自我介绍看到其它面经有说要自我介绍,面试开始前一个小时瞎写然后背下来的TvT自我介绍过程我还支支吾吾说我还干了啥来着项目1. Github Action有了解过是干嘛吗?(我没答出来,我懵了,我真的懵了,不是就干CI/CD的嘛,还能干啥TvT,好叭还是我基础没打好,不是我怎么因为懵了之后部署CI/CD都没说直接说不知道,叽里咕噜说可以看cicd流程哪里出问题去改错)2. 你的 CI/CD 都干了些什么3. Form 分层架构是怎么实现的4. memorepo 架构5. Module Federation 的实现原理6. React.memo,useMemo,useCallback7. Transition 组件性能指标用什么工具实现8. 组件怎么实现按需引入的?(继续脑袋宕机,然后编了一个说build.lib.format默认配置了 esm,打包默认就能实现基础1. 列表渲染为什么需要key? key用index会出现什么问题(答了前面一个,后面脑袋宕机了,面试官提示了还是支支吾吾的TvT我发誓一定好好看八股)2. Vite 和 Webpack 的区别3. Vite 构建方面,Tree-shacking, ESM4. 虚拟列表的实现原理5. React 和 Vue 状态管理的区别?渲染的区别(我这里说到组件通信去了。?我在干什么啊……但是说了Vue用的vuex和pinia,react用context,redux,zustand啥啥啥,渲染的区别先说了React是根据setState或者dispatch触发渲染,然后面试官说好可以了,我:懵.jpg,然后继续问问题了6.Promise解决了什么问题?all和race的区别,all如果有一个返回reject会怎样(和allSettled记混了TvT,说会继续执行Promise,然后结果一起返回)其他1. 最近有学什么东西吗(说自己在学习langchain langgraph)2. 我看你大二,有时间来实习吗,能实习多久3. 你觉得怎样的代码是好的代码反问第一次面试不知道问些什么,就问了一下业务,研发经理跟我说,就是负责公司内部Github Action相关的东西(我一想到没答出action心凉了半截)无算法无手写发发面经攒人品,求求绿盟让我过TvT第一段实习能去绿盟我也会很高兴的就是说,看到ssob上和我对接的人前面还回复了四个人,压力压力
飞花断音:你盟的超低工资受得了嘛
查看17道真题和解析
点赞 评论 收藏
分享
评论
2
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务