阅读 59591

霖呆呆的中大厂面试记录及2年前端薪资对比(附赠学习方法)

前言

呆呆最近挺感慨的,因为从四月中旬开始准备面试,到面各个中小公司,大厂,距离今天已经将近2个月了。期间经历过不少事情,也带来了些许的成长。

那么这篇文章主要是说明一下这段时间自己在面不同规模的公司时的一些感悟,以及这个期间的学习和复习方法。我也会站在一个第三者的角度,将自身的优势,劣势都列举出来,希望能通过我映射出一些现阶段前端找工作的现状。

不同规模的公司包括:YY、CVTE、滴滴、阿里、编程猫、其它深圳各中小公司共13余家。面试的形式也包括电话面、视频面、现场面。

文章适宜人群:

  • 初中级前端
  • 不满现状,想要跳出舒适圈
  • 平时都有在学习,但是非常散乱
  • 有自己的目标,并已经下定了决心

那么为什么说适宜于这类人群呢,因为呆呆自身就是上面的一个实例对象:

  • 18年毕业从事前端工作2年
  • 前公司发展与自身职业规划不符
  • 每天下班基本都会学习,周末也会学习,但是学习的内容非常零散,今天看到这个好玩学一下,明天看到那个有意思学一下,没有自己的知识体系
  • 今年有了自己的目标: 进入一家中大型公司,挑战年薪30w+;下定了决心: 放下一切无关紧要的事情,专心在学习面试上

当然你们肯定比较关心结果咯,好吧,呆呆的结果并没有像其他大佬的文章一样"已拿字节阿里腾讯各大厂offer",可以说大厂基本惨败,像百度腾讯就算是内推也直接被卡了简历。不过最终也是完成了自己的目标,拿到了自己心仪的offer,即将入职CVTE

通过阅读本篇文章你可以了解到:

  • 求职者简介
  • 面试记录及薪资待遇
  • 中大厂面试题总结
  • 我是如何准备面试的
  • YY、CVTE、编程猫、滴滴、阿里面试题及面试感悟(不含答案)
  • 一封感谢信

求职者简介

为了让大家更好的看到对比,首先介绍一下呆呆这位求职者的信息。

基本信息

  • 18年本科,专业软件工程
  • 工作年限2年

加分项

  • 掘金优秀作者
  • bpmn.js中文社区维护者(不要脸了一波)

劣势

  • 普通本科,非985/211
  • 工作年限2年
  • 1年一跳,但离职原因都是可接受的
  • 呆过的公司都不大,甚者只有我一个前端

小伙伴们可能会注意到,呆呆把工作年限2年归类到了劣势当中,其中的原因有两点:

  1. 投递的中小公司的岗位要求都是3~5工作年限,并不是说中小公司没有1~3年的岗,但是呆呆认为自己有这样的能力可以去试一试(加班加的,哈哈哈哈😂)
  2. 大厂的一些岗位要求基本都是需要3年工作经验以上,所以如果是一名2年工作经验的人去应聘的话,那么对于面试者的要求就更加苛刻了

OK👌,以上就是呆呆的基本信息以及优势、劣势,让我们来看看这么一位求职者他近期的求职历程是怎样一个情况呢?

面试记录及薪资待遇

幸亏呆呆有记录的习惯,我们直接上图吧:

通过这份面试记录,我们可以发现,对于这么一位2年工作经验的前端童鞋来说,我们在他拥有博客这个加分项的前提下,假设他对于广州深圳不同规模公司的面试问题回答的准确率分别为:

  • 0-449人,面试回答准确率为70%~90%
  • 1000-9999人,面试回答准确率为50%~80%

这里的面试回答准确率是呆呆在面完每场之后,记录下面试题,然后后期找寻正确的答案之后,再根据当时自己的回答做一个对比得出的一个百分比。当然,这个百分比可能并不是非常准确,因为其实有很多问题的答案都是开放式的,且和自身的项目相关联,不过也可以做一个大概的参考。

在这样的情况下,我们来看一下各规模公司能开到的薪资待遇的最大值和最小值:

  • 0-449人,最小值13K x 13薪,最大值16K x 13薪+
  • 1000-9999人,最小值16K x 14薪+,最大值年薪30w+

以上的薪资待遇是呆呆这位求职者近期的一个真实记录,我不敢保证所有求职者都是这样的情况,我所做的只是保证真实性和完整性。(怎么好重一股神三元老哥的味道😂,哈哈哈,因为他的这篇文章就是这样的语气《2020三元同学春招阿里淘系、阿里云、字节跳动面经 & 个人成长经验分享 | 掘金技术征文》)

大家可以根据呆呆的求职者简介,与自身的情况做一个加减法,至于怎样的加减法,我相信每个人心里都有自己的一套规则,呆呆这里也不好做过多的阐述。

中大厂面试题总结

对于每场面试,呆呆都会记录下面试题,然后做一些总结,之前就有发过一篇了,相信各位小伙伴都看过,就是这篇:霖呆呆的近期面试128题汇总(含超详细答案) | 掘金技术征文,哈哈😄,说来还要谢谢大家帮助呆呆夺得了本次征文大赛的第三名,成功拿到了天猫精灵,好了,等天猫精灵到了就是我称霸广场的时候了~

(当初承诺过大家,如果真的得奖了好处少不了大家的,哈哈哈,所以这不是有了这篇文章嘛~)

不过上面👆这篇主要是一些中小公司的面试总结,对于一些大厂的总结呆呆最近也还在整理,因为题目太多了😂,还没整理完全,所以在本篇文章的后面会先贴上面试的题目以及每场面试的感悟,我保证,等整理好了答案定会发出一份详细的面经。

(好吧,如果你们实在等不及想看答案的话可以先看看呆呆GitHub上的这篇:霖呆呆的近期中大厂面试汇总(含超详细答案),整理的还不是很完整,不过看了的小伙伴记得给个Star呀~好人一生平安)

当然如果比较关心呆呆近期是如何复习和学习的小伙伴可以先看看下一部分「我是如何准备面试的」。

我是如何准备面试的

在面试计划正式开始之前,我给自己写下了这么一段话:

实际上,除了第一点"请你每天打开这份计划,看一遍这个前言"我没有做到,其它的都做到了,因为其它的都做到了,那么第一点也就无所谓了。

一、明确目标

所以我认为非常重要的一点,你得明确自己现阶段想要的是什么,你为什么想要跳槽?是更高的工资,还是更好的平台,亦或者是压力强度没那么大的工作。明确自己的目标真的非常重要,只有以此为基础你才能更好的给自己制定学习或者面试计划。

就呆呆个人而言,因为呆过的两家公司规模都不大,之前也有提到过,第二家公司甚至只有我一个前端,所以我一直没有经历过一个比较完整的项目开发流程,两家公司都没有UI设计师,所以有时候自己还得做一些除了前端以为的其它工作。在思考了一段时间后,我也看到了自己身上几个比较大的弊端:

  • 团队很小,前端开发并不规范
  • 不熟悉中大厂他们的整个开发体系
  • 缺少前端团队协作开发的相关经验
  • 项目都是以ToB为主,移动端开发较少

所以在知道了自己的不足之后,我也明确了自己的目标,决心跳槽,并且对下一份工作要求排了一个优先级:

  1. 团队、平台(大团队,大平台)
  2. 地域(深圳、广州、杭州)
  3. 薪资待遇

针对于第一点,前两份工作呆呆基本是一年一跳,所以对于第三份工作,呆呆希望能呆着长久一些,并且也是想要进入大点的平台,不一定非得说是BATJ这样的超级大公司,但起码是得有个千人以上的。

第二点,个人还是比较偏向于在广东这边发展(原因在《2020希望你能像对待她一样对待程序 | 掘金年度征文》这篇文章中也说到了,哈哈,我喜欢这边的气候),不过杭州也很不错,因为呆呆本身是江西上饶人,所以离家近 😊。

第三点,非常现实的一点咯,那人生在世还能为了点啥,呆呆也是个平凡人。

当然,并不是说上面👆的这些情况就是不好的情况,有很多小伙伴可能就是喜欢团队规模小的公司,公司氛围很好,也能得到自己想要的。人各有志,呆呆这里仅仅是站在个人角度而言。

二、构建知识体系

在知道了自己想要什么之后,就应该对自身的知识做一个剖析,我认为可以分为三点,以此来构建一个自己的知识体系:

  • 已经熟练掌握的知识
  • 之前已经掌握的知识但并不熟练
  • 自身没有掌握的知识,但是知道是必须要掌握的知识

剖析的过程你可以借鉴各个优秀博主的知识体系,例如我了解的木易杨神三元童欧巴等优秀博主他们在自己的GitHub上都有一套各自的知识体系思维导图。

呆呆也是借鉴了各路大神,绘制了这么一张思维导图:

在对自身的知识有了一个了解之后,我们就需要针对每一块知识内容做补充学习,就像呆呆是这样做的:

......

当然,你也许不必非得像我一样,针对每个知识点都写一篇文章,但是你必须得保证自己对这些知识点都能熟练掌握,把它们变成自己的。适当的时候可以做好笔记。

因为想要写一篇让自己满意的好文章真的非常消耗时间和精力...

对于每个知识点的学习,不论是通过书籍、文章、视频都可以,每种方式都有各自的优缺点。就像通过书籍,我们知道那肯定是最全面最系统的,但是也是最耗时和最乏味的。

呆呆在想要去学习一个知识点的时候,会先查看一下自己喜欢的博主有没有这方面的文章,有的话会把这些博主的文章都看一下,然后自己从中再提取出一些东西,变成自己的。例如🌰,我在学习HTTPS的时候,我发现浪哥小生方勤,还有三元都有这方面的文章,就很开心,综合三者的文章,再结合《图解HTTP》中的内容,最终将HTTPS弄懂。

三、通过简历了解自身

另一种了解自身的方式就是通过简历,既然要面试,那么就少不了简历,我们经常听到的一句话:

"简历上写的东西都必须是你非常熟悉的东西才行"

这点呆呆是非常赞同的,因为你通过看呆呆下面👇的大厂面试题可以发现,面试官在考察了你的基础知识之后都会根据你的简历深挖你的项目。所以写简历的过程,也是一个你对自己知识掌握的一个剖析,以及对自己做的项目的一个剖析过程。

(如果你还在职,请认真对待你的工作,不论是从业务的角度,还是优化的角度,相信我,不然你在重新找工作的时候就会为之前欠下的技术债买单...)

而如何写好一份简历,我相信大家看的也很多了。以下都是呆呆在求职期间参考的一些好的文章:

四、制定计划

我认为大多数的求职者都是这两种情况:

  1. 时间宽裕型:你还在职或者在校,不需要那么着急的换工作,可能在几个月之后才打算换,例如你现在正准备9月的秋招
  2. 非宽裕型:你已经离职了或者想要马上跳槽,需要在短时间内解决工作问题

对于这两种情况,相信大家也能感受的到,第一种在时间上非常的宽松,听起来好像可以有很久的时间可以准备,但同时也带来了一个问题,就是容易给大家造成一种懒散的心理活动:反正我有这么长的时间可以学习复习,那我慢慢看就是了,不急于这一时。

第二种在时间上相对紧凑一些,而且也正是因为自己急于解决工作问题(特别是如果你是有房贷车贷有妻子儿女),所以容易给自己造成很大的心理负担,自乱了阵脚。

不论你是属于哪种情况,呆呆认为你都应该制定好自己的学习、复习、面试计划。

时间宽裕型

例如第一种情况,你有3个月左右的时间可以用来准备面试,此时你可以根据上面👆构建好的知识体系一步一步的做系统学习。可以按照每个知识点,给自己排列一个类似这样的学习计划表:

(上图仅做案例参考)

当然上面这种情况是只针对于一些应届生或者是已离职在家的小伙伴,他们每天可以保证至少有8个小时的时间来用在学习上。而我相信大多数的小伙伴都还是在职,一天大部分的时间都会花费在工作上,可能在下班后有2~3上个小时的学习时间已经很不错了。

但是对于这类在职的小伙伴也不要心急,想想第一种情况的人,他们每天虽然是有8个小时的学习时间,但是真正能够全身心的投入到学习上的时间我认为是需要打一个折扣的,因为人的精力毕竟是有限的(这里说的是绝大部分的人),至少呆呆我是不能保证自己这8个小时都可以非常专心致志的去学习。所以对于在职的小伙伴来说,这2~3个小时如果能够运用的好的话,我认为也是会有奇效的,大可不必妄自菲薄。当然说都是这样说,谁都知道,最主要的还是行动与坚持。(给自己打个鸡血吧~加油!奥利给!)

呆呆自身给自己的定位其实是属于时间宽裕型和非宽裕型的混合型求职情况,从1月底到4月初这段时间是时间宽裕型,因为今年疫情的原因,公司没有那么早开工,所以整个春节期间我都是在家完善自己的知识体系,以及做做总结,写写博客。所以我也十分清楚"全职在家学习"的一些痛点:

  • 精神不能时刻集中,可能会突然走神
  • 在查阅资料的突然被个什么文章的标题所吸引了,然后就点进去了😂
  • "业务繁忙",总是忍不住想要看下微信消息,然后去各大技术交流群划划水
  • 明明一天都在学习,一天过去了却感觉什么都没有学到,内心恐慌,开始自我怀疑

我认为这些心理活动不仅仅是针对于我们前端童鞋,对于考研、考公务员等童鞋同样也存在,所以呆呆想说,有这些情况是正常的,关键是在于我们如何去克服这些不好的点。

emmmmm......呆呆这里只能分享一些自己的做法,可能不是最好的做法,仅做参考 😊。

解决精神不能时刻集中

针对第一项精神不能时刻集中,我是这样做的:给自己规定一段时间必须集中精神在学习上,完成了这个"小任务"之后,我会"奖励"一下自己。例如:集中精力50分钟,然后有10分钟的时间可以去喝喝茶,去客厅走一走,吃点水果啥的,然后给自己打口气,继续下一轮。

解决被其它事物吸引

针对第二项,真的就只能靠自己克服了,如果这篇文章实在对你是有很大的吸引力的话你可以先将它放到浏览器的一个收藏夹中,在其它的时间段去看...(哎,例如你要是碰到呆呆这种"万恶"的标题党确实是很难把控住自己,我表示理解)

解决忍不住看微信消息

针对第三项,呆呆的做法比较狠,直接退出了微信,每天只登陆2次,然后在统一的时间去回复消息。有些小伙伴可能就会吹嘘了:"咦~那万一要是有重要的消息怎么办?"。哎,醒醒吧,说真的,对于大多数人来说,哪有什么非你回复不可的消息,对于呆呆这种单身狗来说就更是的,有对象的小伙伴我认为你和对象仔细沟通好我相信她也是能够理解的。同时我将微信的签名改为了这样:

公众号的自动回复也改成了上面这个。

Q"呆呆,看你这样子,是不打算找对象了?"

呆呆"要找呀,但人总得明白现阶段最需要的是什么吧"

我相信就算是消息回复的比较晚,你在和对方说明了情况之后,对方应该也是可以理解的。

解决自我怀疑

针对于第四项,这个在睡觉前表现的尤为明显,躺在床上:"我提莫的今天都做了啥?!",哈哈哈,真实。

呆呆是这样觉得的,如果让我一天都在死学,然后学完之后看不到任何的东西,我就会出现这种恐慌。如果我今天学了一天,有实打实的笔记或者文章在这里我就会感觉很满足...很充实...所以我是通过做一些精简的笔记来解决这一点的。同时复习也很重要,可以在要休息前简单的回顾一下今天的学习内容。且,我会有一个习惯,每间隔几天,我会专门抽出一个时间来回顾前几天学的所有知识,保证自己能够记住。

(例如,我在学习一些手写API的时候,就会每隔一段时间把这些手写的API再重新复习一遍,并记录好每次重写的时长)

非宽裕型

另一类求职者就是这种已经离职了或者想要马上跳槽,需要在短时间内解决工作问题的小伙伴。这类小伙伴没有那么多的时间允许我们去写博客,去系统的学习。你需要保证的是自己能够快速的找到工作。学习和写博客这种事情是持续性的,就算找到工作之后也还是可以去做。

刷面筋

所以呆呆认为这个阶段可以多刷一刷别人比较好的面试经验(简称面筋...之前有小伙伴问过我面筋是啥),因为这些面筋都是和你一样的求职者在实际面试中被问到的问题,而且通过刷这个你可以发现每个"时代"各个公司的侧重点在哪里。

非常明显的一点,呆呆记得2年前刚开始面试时,大多数的公司都会问:

  • 兼容性相关的问题,或者各个浏览器的内核
  • JQuery
  • HTML5新增了什么标签或者API

......

并不是说现在这些问题不会被问了,但是你通过看呆呆近期的几百道面试题你会发现,上面这些问题被问的机率明显减少了,至少JQuery呆呆是没有再被问到了(这里并没有看不起JQuery的意思哈)。

而现在大多数被问的:

  • Webpack相关
  • Vue源码相关
  • Nodejs相关
  • 前端安全相关

......

当然像一些基础的,例如Event Loop、this、继承、Promise、HTTP相关的问题是每个"时代"都必须要我们掌握的知识。

所以如果你还是拿着2年前的一些面筋刷的话,可能会漏掉很多新的知识点。

给自己准备亮点

光刷面筋的话,应付一些中小公司的面试可能没啥问题,但是如果是碰到一些稍微大点的公司,或者要求严格一点的公司,问的稍微深一点了,咱就"原形毕露"了。所以你在这个期间也必须给自己准备一些亮点。

例如如果你平时用的是Vue的话,那你必须得看看Vue的源码了,至少最基本的双向绑定原理、Computed原理、nextTick这些原理你得掌握(大多数公司都不会问的太难,只是考察你是否真的看过,但是如果是对于一些大厂这些远远是不够的)

之前刷子弈面筋的时候就有看他提到过,他在面试阿里的时候虽然有很多问题没有回答上来,但是他的Vue源码部分回答的特别出彩,也顺利通过了,因此针对于自身的情况,给自己准备一些亮点是必不可少的。

什么?你说时间不够?兄弟/姐妹们,对自己狠一点吧,时间都是挤出来的...

边面试边进步

在你刷了一些面筋,且对自己有了一些了解之后,就可以开始投递一些不太想去的公司试试水了,这点我相信每个面筋的博主都会这样说,不过确实也是这样的,纸上谈兵远没有真枪实战更有感觉,所以这也是我接下来要说的第五点——限定时间。

五、限定时间

完成了上面的四步之后,呸,其实我即将要说的这一步应该归类到上面的「制定计划」当中,但是因为确实很重要所以我单独提出来说了。

这一步就是必须给自己限定一个投递简历的时间。这一点是我在求职期间请教神三元老哥他告诉我的。因为我们在复习阶段,总是会感觉自己还没有准备好,想再学一下这个,或者还想再学一下那个,生怕面试的时候被问到。然后就不敢把简历投递出去。

所以我们可以给自己限定一个时间,到了那个时间之后就必须把简历投出去了,就算是面一些不想去的公司也可以,至少跨出了这一步,跨出这一步非常的重要。因为知识是永远学不完的,你可以在保证一些自己必须掌握的知识掌握了之后,然后边面试边学习,在这个上面做增量,自己的自信心也会随之增加。

六、做好面试总结和记录

第六点,也是呆呆认为非常重要的一点,在每场面试完之后,记录好这次面试的面试题,并且回去之后找寻,消化答案。

也就是你在面完之后的第一时间,最好就能把刚刚的那些问题记录下来,而不是马上跑到微信群里去吹水"啊啊啊,我刚刚又面了xxx,真好玩"。当然呆呆自己肯定不是反对这种做法哈,我只是觉得应该趁着记忆最深刻的时候做更重要的事情才对,不然过一会可能又忘了。

如果是电话面的话还好说,基本都是在家里,在挂完之后,就可以马上用电脑,或者笔记本记录下面试题。而如果是现场面的话,大家又不想随身带着笔记本,可以利用手机来记。例如,我就有在手机上下载一个叫做Markdown的软件,它允许我们在手机上查看编辑markdown文件,当然,同类型的软件还有很多,可以自己发掘。

另外一点,有精力的小伙伴还可以像呆呆一样,记录好每场面试的时间以及薪资待遇什么的。一方面对自己有个底,另一方面,这难道不是一件非常有成就感的事情吗?哈哈哈,看着自己斩获了这么多offer,也能给自己提升自信心。

七、学会分享、也要沉得住气

哈哈哈,这节的标题,其实我想表达的是:"静若处子,动如脱兔"

"静"的意思是,你自己得沉得住气在一些知识点上去专研,靠自己去理解这些知识点,把它变成自己的。

"动"的意思是,如果碰到了困扰自己好久都没有解决的问题,不妨去请教一下别人,看看比自己厉害的大佬是如何看待这个问题的,或者可以给你提供什么好的方案。因为有时候你会发现这个问题它本身并不难,但是自己钻到了一个死胡同里出不来,此时如果有人给你提提醒可能马上就解决了。

另外一点,是呆呆个人的一些见解,就是要学会分享。不论是分享你的面试题,还是分享你的学习方法,或者是你是如何当面试官的,我认为都是非常好的。因为我认为我们程序员这一行,相对于其它的行业来说,真的非常单纯,没有那么多的尔虞我诈,勾心斗角,大家都是为了共同完成一个任务或者实现一个功能一起努力。所以我们也会发现一些牛人,或者大厂,他们不吝的分享一些自己团队的技术方案,为这个行业的发展做一些贡献。

提到分享就不得不说到写博客这件事了,这真的是一件非常非常非常有意义的事情。不仅巩固了自己还帮助了他人,并且还能建立自己的社区影响力。大家千万不要小瞧这一点,试想一下,如果你去面试的时候,面试官恰巧看过你的文章或者知道你,那好处就不用呆呆说了吧,好感度蹭蹭蹭的往上涨。

当然,虽然大家都说了很多写博客的好处,包括是面试的加分项什么的。但是其实非常真实的一点,当我们在面试的时候,并不是所有的面试官都会买你博客的账的。他们可能会直接无视你的文章、无视你的开源项目,而是去考察你的基础知识、深挖你的项目等等。所以我们还是得明白自身实力的强硬才是最重要的。

八、努力与坚持

在做到了上面👆的这些步骤后,就是需要努力与坚持了。

在求职期间,难免会有受打击的时候,呆呆也会有。印象比较深刻的是在面完那家"深圳某房地产公司"之后,呆呆就有自闭了一晚上。大家可以看我的面筋,发现都不难,甚至呆呆在刷子弈的面试分享:两年工作经验成功面试阿里P6总结的时候那些问题都有看到过,但是自己当时并不太重视,才有了那次的惨案。而当我开始重视跨域,前端安全相关的知识点之后,在后面面试"深圳某国内直播公司"的时候再被问到就可以从容面对了。这很明显是一个成长的过程。

所以呆呆给自己的要求就是:可以允许自己有短暂的停留,但是不允许自己就此放弃。

另外在每次重要面试前,我都会腾出一天的时间来对自己刷过的面试题或者做的笔记做一个回顾,避免自己对已经掌握的东西在面试时又忘了,造成遗憾。

不怕小伙伴们笑话,在求职阶段:

(我对自己的定位真的是一个很笨的人😂,全靠勤奋了)

我相信在一次一次的面试和总结之后,你会看到自己的成长⛽️,而你要做的仅仅是努力与坚持。

YY

5月14日

面试部门:广州某部门

一面

面试形式:牛客网视频面试

面试时长:50分钟

面试感悟:YY和CVTE都是托树酱小哥哥帮忙找的朋友内推,另外YY算是呆呆第一个面的比较大的厂了吧,也是第一次在牛客网上视频面试,所以还是有些激动的。面试官稍微晚到了2分钟,不过问题不大。呆呆一般在面试前喜欢听些自己喜欢的歌,算是能让自己放松下来吧。整个面试过程也并没有之前以为的那么压抑,虽然面试官问的问题基本都回答上来了,但是面试官并没有告诉我正确与否。

说一下你们项目动态表单的实现

说一下动态表格的实现

你们这个JSON树是在哪里生成的,前端会生成吗?

有了解过微前端吗?

了解浏览器的哪些兼容问题

说一下EventLoop

在项目里有用过node吗

如何实现一个findIndex

移动端布局有哪些方案?

如果一个移动端的项目要显示在PC端上保证结构稳定你会如何做?

你自己的项目里有做过哪些webpack上的优化

具体说一下splitChunksPlugin

有自己写过webpack插件吗

HTTP3.0.1和HTTP3.0.2的区别

说一下Vue-Router的实现原理

Vue-Router初始化是发生在什么时候

你觉得我还有哪些问题没有问到的,也就是你可以说一下你的加分项

CVTE

5月14日

面试部门:希沃未来教育某部门(广州)

一面

面试形式:电话面

面试时长:1小时6分钟

面试感悟:面试官人很和善,基本全程都在"嗯",也会和你开玩笑,然后我答不出来的时候他也会说:"嗯,没关系,问题不大"。不过可能是因为自己在某些问题上回答的太繁重了,导致经常被面试官打断(大概有2,3次吧),所以大家在面试的时候也要抓重点回答不要偏离问题的方向。

离职原因

新的一份工作你主要看中的是什么?

先说一下你的期望薪资吧

你为什么觉得你这次跳槽能有这么大的工资涨幅

如果给不到期望薪资你会怎么办

说一下你们项目动态表单的实现

你遍历JSON树的具体过程

webpack构建流程

webpack插件原理

有用过哪些插件做项目的分析吗

有做过哪些webpack优化吗

有自己写过插件吗

让你从零开始构建一个webpack项目你可以吗

从输入URL到页面呈现的过程

为什么TCP要三次握手而不是两次

HTTP和TCP的区别

你们项目一般是如何做缓存的

什么情况会阻塞页面的加载

script放在body头部就一定会阻塞吗

添加删除了DOM节点会发生什么?(回流)

js中改变transform的left和right对比于css修改transform

什么是GPU加速

进程和线程的区别

做过H5页面没有?你怎样适配移动端的

HTTP/2对比HTTP1.1

HTTP/2是怎么解决队头阻塞的

HTTP/2是如何压缩头部的

为什么说HTTPS比HTTP安全呢

说一下对称加密和非对称加密

HTTP请求的什么时候用的对称加密什么时候非对称加密

对称加密的原理

如果让你去实现一个CSRF攻击你会怎做?

还知道其它的攻击方式吗?

Vue中key的作用

如果我将key设置为了一个Math.random()可以吗

如果让你设计一个双向绑定你会如何设计

如何实现if(a===1&&a===2&&a===3)

是有看过这道题吗?这么快的就回答上来了

你觉得我还有哪些问题没有问到的,也就是你可以说一下你的加分项

5月16日

二面

面试形式:电话面

面试时长:46分钟

面试感悟:面试官相对于一面的面试官来说会严肃一些,总体面试氛围也还可以。有很多问题,例如问到ngnix或者node,我表明了自己不熟之后也没有再问了。面到后面面试官的语气也和蔼了很多,我认为和一面一样都是比较好的面试体验吧。

说一下你们权限的控制,路由权限以及按钮权限

按钮权限除了用你现在的方式你还能想到更好的吗?比如封装一个组件

你们的token一般是放在哪里

token放在Cookie和放在localStorage、sessionStorage中有什么不同吗

Cookie存在哪些安全问题?如何预防?

SameSite设置为了lax之后是怎样来控制Cookie的发送的

如果顶级域名不同会发送吗

还有哪些前端安全性问题

如果使用jsonp的话会有什么安全问题吗?

你们有做过单点登陆吗

有用过ngnix吗?用它做过哪些事?

有用过node吗?比如用它写一些中间层

项目里做过哪些优化?

你认为你做的项目最大的亮点在哪里

项目中碰到的技术难点

是什么让你有动力写bpmn.js教材呢

有看过哪些源码呢

有给git上的比较好的项目提过pull吗

如果现在给你一个React的项目你觉得自己能多久上手呢

你的职业规划是怎样呢

说一下你的期望薪资吧?

有对比过深圳和广州这边的薪资吗?

在技术二面完之后其实还有一道编程题,只不过是面试官单独的发了我邮箱,要我在规定的时间内把结果回复给他就可以了。那道编程题呆呆没有做出来😂,只实现了一下功能,感谢面试官小哥哥手下留情。

5月18日

HR面

面试形式:微信视频

面试时长:50分钟

面试感悟:HR小姐姐很漂亮。然后问了我是否单身,那边也有很多单身的小姐姐。我说如果有缘的话要给我介绍一波。整个氛围还是比较轻松的。问了挺多问题的,我大概挑一些列举,其它的问题在别的面试官那里也有问到我就不重复了。另外在面试完之后,她告诉我,HR还会有二面,请等待通知...

有了解过我们公司吗?

之前不是在深圳吗?为什么打算来广州?

人生中有没有经历过什么对你触动比较大的事情?

父母是如何看待你的工作的?

你现在单身吗?

工作之余的兴趣爱好

期望薪资给不到怎么办

5月23日

HR二面

面试形式:微信视频

面试时长:58分钟

面试感悟:二面的HR小姐姐也很漂亮😂...开始的HR小姐姐并没有骗我,哈哈哈,开个玩笑,收。其实到了这一步,面试的公司基本就挺想要你了,所以问题也都是一些关于你自己对公司的看法,以及你未来的一个人生或者职业规划。关于这些问题,呆呆认为你如实回答就可以了。就比如HR问你:你是否打算在广州长期发展呀,会不会干了一年之后就又跳了呢?之类的。

编程猫

5月20日

编程猫是从上午10点面到了12点,一共是四轮面试,5位面试官(二面两名面试官一起),呆呆在二面之后就已经累的说不出话了...感觉身体还是不行啊,得加强锻炼。总体来说效率还是很高的,2小时搞定了。

一面

(前端精神小伙)

面试形式:现场面

面试时长:50分钟

面试感悟:由于一面的面试官年纪应该和我相仿,所以还算是聊的来,在自我介绍了之后就问了一些项目相关的问题,之后还是死磕基础知识问。期间也有提到过看了我的掘金文章,可是面试的时候竟然还是要我说一说数据转换类型(我怀疑他没有仔细看哦)。最后聊到福利待遇这一块他也还是挺尴尬的😅,因为并没有呆呆预期的那么好。

动态表单的实现

权限的控制

你们项目一般是如何做缓存的

项目中的环境变量是如何控制的?

假设有两个子项目,他们需要共用同一个用户体系如何保证关掉页面之后打开另一个项目用户还是登录状态?

项目如何优化

首屏加载优化

SSR的使用场景

EventLoop

requestAnimationFrame属于宏任务还是微任务

输入URL到页面的呈现

script与css还有页面的渲染顺序

script标签的async是什么时候加载的

说一下==数据类型转换吧

说一下Vue的diff算法

diff算法的缺点

二面

(架构师)

面试形式:现场面

面试时长:30分钟左右

面试感悟:这次二面是呆呆唯一一次同时被两名面试官面的情况。两名面试官一个问完就看看另一个(内心活动:该你了,你有什么要问的),还是挺逗的。而且架构师老哥我回答一句他就"嗯"一句,让呆呆贼飘...收不回来了。但是可以看到在他们那个层次还是能看到很多我看不到的东西,问的问题也都是偏项目构建方面。

说下你们项目的亮点

你们的UI组件库怎么实现按需引入的呢?

Webpack打包原理

Webpack打包有哪些优化

HTTP/2对比HTTP/1.1

怎样看待你做的这几个项目呢

还有挺多问题的...当时脑子有点糊,面完后都忘了...

三面

(项目负责人)

面试形式:现场面

面试时长:10分钟左右

面试感悟:项目负责人老哥文文静静的,说话还是挺幽默的,不过感觉自带气场,给呆呆造成了一定的压力。

项目亮点

你在项目里负责什么

项目难点

你的优点

还有什么想要问的吗?

项目负责人主要都是问一些项目相关的问题,还有你自身的一些问题。

HR面

面试形式:现场面

面试时长:15分钟左右

面试感悟:HR小姐姐:看你面了三场了肯定特别累了吧,我们就简单的聊一下(不得不夸一下此小姐姐温柔体贴😝)。然后大概介绍了一下公司的情况,以及公司的优势。

非技术的自我介绍

住哪里?

工作之余的爱好

其它的就是上家公司薪资、期望薪资、还有什么想要了解之类的...

滴滴

5月20日

面试部门:杭州某部门

一面

面试形式:视频面试

面试时长:50分钟

面试感悟:面试官给人的感觉...唔...人畜无害?哈哈哈,很和蔼。但是问的问题都很有规律,比如问完项目,就说我看你会用Vue,接下来我问点Vue相关的吧,然后就是双向绑定原理、nextTick原理、虚拟DOM等等;之后又问了HTTP相关。最后他也说了他们现在也是做这种动态表单相关的项目,所以看看我们之前是怎样设计的...呆呆自我感觉滴滴面的还是挺好的,但是没有了后续...之后拖内推的老哥帮忙打听原因,那边也没有回复...仔细想了一下,可能还是项目不够硬吧,因为对比来说亮点还不够闪亮。

说一下你们的第一个项目

说一下你们的UI组件库

动态表格的实现

如果有一个组件需要和前面的组件相关联你会怎么做

说一下你们的工作流

说一下你在项目中碰到的难点

Vue的双向绑定原理

Object.defineProperty()有什么缺点?Vue3为什么用Proxy?

nextTick实现原理

nextTick中的waiting是什么时候变为true的呢

说一下虚拟DOM的作用以及实现原理

Vue3有哪些新的API或者有做哪些优化?

有关HTTP缓存的首部字段说一下

HTTP中的keep-alive有了解吗?

在一次传输中它是如何保证每个数据包之间的顺序的?

HTTP/2有了解过吗?

具体说一下HTTP/2中的多路复用

你认为你的优点是什么?

阿里

5月21日

面试部门:财政钉钉

一面

面试形式:电话面试

面试时长:30分钟

面试感悟:阿里的面试是子弈君帮忙内推的(辛苦了😊),呆呆算是放在最后来了,和之前了解的一样,面试官可能会针对于你说的内容然后深挖,所以你说的每一句话都必须考虑清楚才好。呆呆是一面就挂了,归根到底的原因不解释,技术还不到家,对一些知识点的理解还不够深刻。但是抛开了技术以外的原因,我认为面试时状态的不佳也是导致这次面试失败的一个原因。因为当时是晚上7点进行的电话面试,一整天呆呆都在忙于复习没有休息,并匆匆的吃了晚饭,所以到了面试那个点自身的精神状态已经非常不好了,导致面试时没有一点精神劲。举个例子,面试官问我的第一个问题,能说一下position属性有哪些值吗?我把position这个单词重复了好几遍大脑一片空白,然后说了一句:"不好意思面试官,您能把这个单词拼一下吗"...

不要说呆呆很屌...我都服我自己。奠。

这听起来可能特别的好笑🤭,但是是真实发生在呆呆身上,所以也是想要告诉各位小伙伴,面试前的准备确实要充分,但是自己的状态以及心态也非常的重要,不要因为一些非技术以外的原因让自己遗憾...

position属性有哪些值分别介绍一下

relative的定位规则

脱离文档流是会呈现什么样的效果呢?

常规流(文档流)是个怎样的排列关系

inline-block的使用场景

GET和POST的区别

为什么说GET会留下历史记录?

GET可以上传图片吗?

GET和POST的安全性问题为什么说POST相对安全一些

GET就一定是幂等的吗?

说一下你所知道的缓存方案

你们为什么要做这个动态表单?(业务痛点)

动态表单具体的难点在哪?

有没有了解行业内其它做动态表单这一块的

你还有什么想要问我的吗?

深圳开思

5月25日

面试部门:某业务部门

一面

面试形式:现场面

面试时长:40分钟

面试感悟:面试开始前,看到面试官在面另一个小哥,隐约听到小哥被面试官怼的好惨...所以面试前内心还有点坎坷。但是当真正去面试的时候,面试官好像没有那么凶了,甚至自我感觉眼神中透露着对我的不怀好意...原来他说他有看过我写的文章,说得想点我不知道的考考我...😅

说一说原型链

null为什么被typeof错误的判断为了'object'

说一说几种this指向

使用箭头函数时需要注意什么?

说一下JS内置对象

描述一下作用域链

闭包的使用场景

使用闭包需要注意什么

EventLoop

用过哪些ES6的功能

谈谈你对模块的理解

二面

(项目负责人)

面试官:你好,你可以脱下口罩,我们面对面交流一下。

我:...(难道颜值加分吗?那我明天就可以来上班了...)

都是项目相关的问题,然后:

  • 之前的团队人员分配情况
  • 职业规划
  • 期望薪资
  • 有什么想问的

HR面

常规问题...和上面问的差不多...

开思也算是深圳的一家比较大的汽车金融公司吧,这里呆呆面的也是3~5年的岗位,其实从一面之后呆呆就有预感对方挺中意我的了,但是在最后HR面的时候他们可能也觉得达不到我的期望薪资,所以也是在我回家之后与我电话沟通,表明如果以后有想继续留在深圳的话可以再考虑一下。应该说虽无缘但也算互相结交了一下吧。

一封感谢信

文章的最后,我想要写一封与本期内容无关的感谢信,因为我不知道用何种方式来表达自己对这段时间帮助过呆呆的那些小伙伴们的感谢之情,所以唯有用文字了(总不能让我卖出色相吧,哈哈哈)。

首先要感谢的是帮助过呆呆内推以及解惑的几位老哥:子弈axuebin童欧巴树酱shanyue晨曦时梦见兮若川画手大鹏神三元前端森林家有佳欣宝贝、网易严选-付超,自己还是比较幸运的,能通过写博客认识这么多优秀的大佬,且都很热心的帮助我,有的大佬甚至被呆呆打扰了好几次了,哈哈,还好呆呆皮比较厚,也是感谢你们的宽宏大量,真的非常感谢。

哈哈哈,再就是要重点感谢另外三位非常nice的小伙伴:Yiming君TerryLifeLINGLONG。可以说,呆呆这段时间能够撑过来很大一部分原因是有你们三位的鼓励与支持。在面试期间,我成立了一个只有四个人的微信群,并找到了三位和我一样努力求生存、志同道合的小伙伴。这个群的目的很简单,就是互相分享、互相鼓励,一起进步。呆呆前面提到了自己每天是登2次微信的,每次上来除了处理一些消息回复之外,就是在这个群里分享一下今天又学了什么,面试又被问了什么,然后一起打打气,坚持下去。

所以有时候在某个阶段能有一群人陪你一起努力一起坚持的感觉真的很好。算了,不说太多了,懂就行了,哈哈哈。

再就是要感谢我深圳的几位好室友😂,在我求职期间对我的慷慨照顾,甚至为了让我有一个良好的体魄陪我一起跑步😂,真是苦了你们了😂。

还有要感谢所有支持霖呆呆的小伙伴们,你们的评论还有建议我都有好好的看,也谢谢大家的鼓励,哈哈😄。

最后,送大家一首王恩信Est/二胖u的《飞》,希望在这个飞速发展的年代,大家都能做成那个桀骜不驯意气风发的自己。

后语

你盼世界,我盼望你无bug。这篇文章就介绍到这里。

呆呆最近也是建立了两个微信交流群,一个用于读者交流,一个用于好文推送,感兴趣的小伙伴可以扫一扫(如果过期了的话可以扫一扫呆呆的公众号二维码,然后给我发消息:“读者群”,我拉你进群哟😄):

喜欢霖呆呆的小伙还希望可以关注霖呆呆的公众号 LinDaiDai 或者扫一扫下面的二维码👇👇👇.

我会不定时的更新一些前端方面的知识内容以及自己的原创文章🎉

你的鼓励就是我持续创作的主要动力 😊.

相关推荐:

《全网最详bpmn.js教材》

《【建议改成】读完这篇你还不懂Babel我给你寄口罩》

《【建议星星】要就来45道Promise面试题一次爽到底(1.1w字用心整理)》

《【建议👍】再来40道this面试题酸爽继续(1.2w字用手整理)》

《【何不三连】比继承家业还要简单的JS继承题-封装篇(牛刀小试)》

《【何不三连】做完这48道题彻底弄懂JS继承(1.7w字含辛整理-返璞归真)》

《霖呆呆的近期面试128题汇总(含超详细答案) | 掘金技术征文》

本文使用 mdnice 排版