阅读 5602

前端Bven同学的春招总结| 掘金技术征文

我目前大三,就读于郫县拖拉机大学(红光人民公园),成都双非物联网工程专业学生,熬过了那么多关,从年前就开始慢慢准备,我的春招应该算是结束了,回首去看这一路的战绩,确实有点不可思议,觉得很梦幻,我给自己定的春招目标是冲一冲AT,我觉得自己只能拿到深信服那种层次的Offer,没想到能走到这一步,有点感慨,下面记录一下我这一路走来的历程(附面经)。先上一张自己的春招记录表镇楼吧。

春招记录表

一、面经汇总

1.1.美团-外卖-一面

  • 1.自我介绍
  • 2.介绍项目
  • 3.根据实习经历和项目经历,说一说项目开发流程及需要注意的地方
  • 4.flex布局以及其他的布局方式
  • 5.平常的学习情况以及实验室的情况
  • 6.为什么学习前端
  • 7.讲一讲ES6经常用到的东西,结合项目(讲let的时候讲了为什么变量提升,讲const的时候讲了对象的情况)
  • 8.讲一讲原型链
  • 9.浏览器渲染过程
  • 10.经典问题,从URL到页面显示的过程(我扩展了DNS解析过程和304缓存问题)
  • 11.Vue的特性
  • 12.Vue-loader
  • 13.Eslint的使用及原理(原理没答上来,他建议我去了解一下计算机的基础编译原理)
  • 14.重排和重绘
  • 15.手撕事件发送和接收(裂开了,讲了思路,没有撕出来)

1.2.美团-外卖-二面

  • 1.介绍一下基本情况
  • 2.做过的项目
  • 3.问了下获奖的微信小程序
  • 4.闭包
  • 5.extends
  • 6.实现extends的思路
  • 7.手写一个继承
  • 8.http2.0 http1.1 http1.0之间的区别
  • 9.Vue的虚拟DOM和diff算法
  • 10.小程序和Vue的异同
  • 11.能不能来北京实习
  • 12.项目优化的点 做过哪些
  • 13.http缓存 304状态码
  • 14.你觉得你还擅长什么 比如我没问到什么 讲了跨域 websocket 和node 其他一时想不起来了

2.1.腾讯-看点-一面

  • 1.对着简历上面的获奖经历,一个一个的问,做了什么,过程,遇到什么难题

微信小程序大赛的作品是什么 怎么做的 有什么问题 如何解决的

  • 2.什么时候开始学习前端的
  • 3.通过哪些途径学习前端
  • 4.为什么学习前端
  • 5.学习前端以来最有成就感的事情
  • 6.在学校的主要课程是什么,在专业的排名,班级排名
  • 7.webpack使用过吗?讲讲使用webpack的过程
  • 8.除了前端,还学习过其他的什么东西
  • 9.你的团队之间是如何进行协作的
  • 10.如何带领前端团队的
  • 11.博客是怎么优化vue首屏加载的 我提到了SSR 有使用过吗?
  • 12.Date对象使用过吗?两个date对象 如何判断是否在同一天
  • 13.CDN了解过吗
  • 14.DNS的解析过程
  • 15.https的工作原理
  • 16.node的单线程
  • 17.多线程和多进程的区别
  • 18.在修改一个对象的属性后,如何实时在网页上更新对应的值
  • 19.CSRF了解过吗
  • 20.XSS攻击
  • 21.如果一个页面突然出现了一段广告,可能是什么原因,怎么解决

3.1.阿里-供应链-一面

  • 1.自我介绍
  • 2.项目介绍
  • 3.什么开始学习前端 为什么学习前端 怎么学习前端
  • 4.对团队的询问
  • 5.参加过的比赛比较有成就感的是哪一块
  • 6.框架带来的好处 又有什么问题
  • 7.除了无法检测增删之外还有什么问题
  • 8.数组的那些方法是如何写到vue中的
  • 9.如何检测一个对象的类型 instanceof的原理
  • 10.讲一下原型链
  • 11.vue2.x的数据劫持怎么做的(没答上来,让猜测)
  • 12.改变数组下标的方式去修改vue中没有变化,如何解决?
  • 13.虚拟DOM和diff算法
  • 14.vue-router的两种模式 原理的差异
  • 15.问简历上的第二个项目
  • 16.对图像渲染的了解 echarts svg canvans的关系 对他们的理解
  • 17.token的原理 解决了什么问题 jwt
  • 18.TCP四次挥手 为什么断开四次连接三次
  • 19.专业课哪个学的好 讲讲
  • 20.自己实现的pid算法的原理
  • 21.做题,实现一个diff,如何检测两个数组的增删改

4.1.阿里-新零售-一面

  • 1.介绍自己做过的项目

从简历上的第一个项目说起,然后引入我们团队,然后说第二个项目,最后简单提了一下其他的小项目,大概七八分钟的时间,没有说太多。

  • 2.追问第一个项目里面封装的组件的细节,如何实现的,细节
  • 3.假设要优化我的表单组件,要求在配置数组中控制表单的布局,怎么实现:

我答的是通过添加一个字段判断属于那种类型,然后将其渲染到对应的位置,后来仔细想想感觉没有get到面试官的点

  • 4.追问第一个项目路由的设计,如何实现的
  • 5.对单页面应用的认识

这里我简单讲了一下,然后提到了单页面应用的缺陷,首屏加载时间会比较长,然后谈到了优化方案,讲了现在的优化方案,以及正在调研的SSR,讲了一下应用思路

  • 6.追问第一个项目提到的按需加载是如何实现的
  • 7.问项目webpack打包的配置
  • 8.有没有考虑把项目打包的时候进行分离,打包成多个项目的形式

我说这个项目没有考虑,其他项目有考虑过,然后讲了团队的其他几个项目,说在调研微前端进行集成,之前考虑单点登录,后面调研微前端

  • 9.问团队的情况
  • 10.我主要擅长vue,他们主要使用react,问我的看法是什么以及对react的认识
  • 11.问简历上第二个项目的基本情况,分工等等

4.2.阿里-新零售-二面

  • 1.自我介绍
  • 2.介绍一下简历上的第一个项目,追问了项目上的细节,分别对用户和对开发人员而言
  • 3.第一个项目的优化
  • 4.做第一个项目遇到的最大的问题
  • 5.第一个项目是如何发布的
  • 6.优化的时候我提到了SSR(给自己挖坑了),一直追问这方面 对SSR的理解 什么时候用最好 解决了什么问题 (后面反问环节说我这里答到点了,最主要的是SEO)
  • 7.有没有对项目打包做过优化
  • 8.对Vue的认识,Vue相较于三剑客时代,对于开发人员来说,优化了什么
  • 9.Vue有哪些特性
  • 10.追问虚拟DOM
  • 11.描述一下vue-loader的实现原理,如果让你来实现,你会怎么实现
  • 12.SSR和正常的渲染的区别,服务端和前端需要怎么做
  • 13.用户访问你们的系统,渲染过程是什么样子(我答了从URL到渲染的过程,继续追问,服务器给用户返回资源 后,怎么渲染)
  • 14.SSR会返回什么?在服务端怎么实现?
  • 15.讲一讲事件代理
  • 16.闭包和作用域问题(这是我回答的最好的问题)
  • 17.react的了解?
  • 18.有没有用node写过一些中间件(我说写过一个token的中间件用来鉴权,他说不算,他说的是中台那种框架中 间件)
  • 19.移动端了解过吗?(我说媒体查询适配过,小程序了解过)
  • 20.讲一讲jquery的链式调用

4.3.阿里-新零售-三面

  • 1.昨晚上系统开了,接了哪个BU的内推
  • 2.自我介绍
  • 3.对实验室和开源团队比较感兴趣,针对这两个问了二十多分钟,还帮我总结
  • 4.拉回到项目,对第二个开源项目比较感兴趣,问了很多细节,实现了什么功能,从用户出发到使用场景进行分析并提出疑问,跟我探讨,帮我总结 二十多分钟又过去了
  • 5.专业是物联网,学习前端的契机是什么呢?
  • 6.第一个项目,你觉得你遇到最大的挑战是什么?
  • 7.你觉得你带团队的时候,带实验室和带团队,区别是什么,挑战是什么,遇到过什么问题?
  • 8.为什么选择CBU 了解我们的业务吗 我说了之后跟我讲了下团队做的一些东西以及我后面在团队可以去发展哪些方面

4.4.阿里-新零售-交叉面

  • 1.自我介绍
  • 2.平时怎么学习前端的
  • 3.专业是物联网,怎么想到走前端的
  • 4.讲一下你花时间最多的项目吧
  • 5.你们团队遇到技术问题怎么解决呢?一般会怎么沟通
  • 6.给你出个情景题吧,如果要你实现一个类似百度的项目,你会从什么角度来考虑,然后进行技术选型
  • 7.你自己对前端哪些发展方向比较感兴趣呢? 讲了中后台和跨端
  • 8.你对业务这块怎么看待呢?有没有兴趣?
  • 9.了解哪些阿里的技术栈呢?
  • 10.项目里面遇到的最大的挑战是什么?
  • 11.之前的面试环节遇到的没有回答好的问题有没有?

4.5.阿里-新零售-HR面

  • 1.自我介绍
  • 2.商业型项目规模,怎么谈的?
  • 3.在项目里面承担的角色是什么?
  • 4.实验室相关
  • 5.做这么多东西学到了什么?
  • 6.在这些管理的过程中,遇到的难题有吗?
  • 7.有没有面试其他公司?
  • 8.怎么考虑的?利弊是什么?
  • 9.为什么学习前端呢?
  • 10.讲一讲对你影响很大的人
  • 11.讲一讲你导师对你的建议
  • 12.对个人未来发展的看法

5.1.腾讯-微信-一面

  • 1.能不能来深圳
  • 2.面了哪些公司
  • 3.网络协议七层(我说我不太熟悉,比较熟悉协议)
  • 4.http1.0 http1.1 http2.0 https tcp和udp区别 dns (都答出来了)
  • 5.哪些情况用TCP 哪些情况用UDP 直播用哪个
  • 6.对Vue的认识 特性
  • 7.双向绑定 虚拟dom diff算法
  • 8.CORS跨域
  • 9.一道题 36匹马 6个赛道 如何快速决出前三名
  • 10.手撕JSON.stringify(),自己实现一个,给了个链接写代码

5.2.腾讯-微信-二面

  • 1.确认毕业时间
  • 2.自我介绍
  • 3.简历上第二个项目细节
  • 4.带团队的时候code review怎么节约时间提高效率,怎么做
  • 5.表单输入的时候会涉及什么安全问题
  • 6.如何上传文件很大应该怎么解决
  • 7.能实习到多久

5.3.腾讯-微信-三面

  • 1.自我介绍
  • 2.项目介绍
  • 3.讲一个项目难点
  • 4.讲一下垃圾回收和内存泄露的情况
  • 5.你们实验室的情况
  • 6.一个逻辑题 100枚硬币 两个人 一次拿1-5枚 第一个人第一次拿多少 一定能拿到最后一枚(4枚)

5.4.腾讯-微信-HR面

  • 1.自我介绍
  • 2.为什么找实习
  • 3.过往项目或者比赛中,收获最大的一次是什么?收获了什么?
  • 4.当初怎么接触到前端的呢?
  • 5.还面试了哪里?如何选择
  • 6.对前面三位面试官的评价
  • 7.为什么选择腾讯?
  • 8.实习时间是多少?
  • 9.假如你在后面发现做过的项目有缺陷,你会怎么做?
  • 10.对深圳的看法?
  • 11.父母什么工作的?
  • 12.父母对你的影响是什么?

二、准备过程

我是从2019年十一月份开始准备春招的,当时一直有打算参加春招,但是没想到那么早开始准备,直到接到了字节的面试邀请,邀请我投递简历(小声BB被KPI了吧,也是自己太菜),然后跟在腾讯工作的学长打了个电话交流了一下(感谢学长提供的大力帮助),完了之后走上了春招的历程。

跟学长谈完后,我把前端的知识进行了分块整理,比如分为ES5、ES6、HTML+CSS、框架等等,然后在每一块知识里面,罗列出具体的重要知识点,整理出了一个复习大纲,然后根据这个大纲,开始了春招的复习之路,每天搞定一个知识点,然后自己进行一个简单的总结,时间多的话会总结成博客,但是因为期末和在外实习的缘故,博客更的很少。

在这期间我也有尝试过投递过简历,但是因为还没修改,简历有点low,所以基本没有什么回应。

时间来到二月份,春招基本上要正式开始了,2月29号的时候,学长帮我推了他们团队,上午刚推,下午就来电话面试了,我当时什么都没准备,自我介绍也没准备,所以自然是凉了。于是我重新列了一份知识框架(学长帮我补充过),然后花了一周不到的时间,全部过了一遍,同时之前也在坚持每天一道leetCode。

我的整个准备过程差不多就这样吧,就是一个积累的过程,当然有很多知识整理的细节,就不在这里过多的赘述了。

三、面试过程

其实我个人觉得面试是对自己知识的一个检验过程,也是一个升华的过程,在面试的过程当中会发现自己很多地方其实并不了解,有些地方掌握的也并不牢靠,同时会了解到很多自己平时接触不到的东西。其实这也是自己准不不足的一种表现。在整个面试过程中,面试官们都是非常友好的,即使是我回答不上来问题,也会给到我一些提示性的东西。个人感觉,面试的时候,只需要平常心对待,把自己的真实实力发挥出来,不装,就行了。

四、个人总结

从开始学习前端一路走来,刚开始在慕课上看入门视频,自己一个一个的对着敲,在实验室加班熬夜学Jq,学完自己复原学校官网静态网页,一直到大二接到自己的第一个外包项目,接触到Vue,学习项目开发,才算是真正走上了前端开发的道路,再到后面自己尝试在成都找实习,找到的几个人的小公司,做了两天辞职,再到后面组建开源团队,然后又去找实习,实习了两个多月辞职,直到现在春招正式上岸,这一路走来确实挺不容易的。但是春招也发现了自己很多不足的地方,我的知识体系还是比较零散,一些地方深度还不够,这些的东西后面我都会自己再重新进行一个总结,也确定一下自己后续进阶的路线,为秋招转正做好准备了。

2020.03.31 春招结束了,上岸了