2019 web 前端面试总结(春招)

说是春招总结,其实春招只试了头条,算是对找工作以来的总结吧。而且时间过去了快半年了,中间也去实习了一段时间,了解了公司前端开发到底在做什么,不像之前只有在实验室的 low 到爆的项目经验。

关于 offer 的情况,除了秋招拿到的拼多多、贝壳之外,11 月的时候还拿到了滴滴的 offer,因为那时候三方已经签了,所以准备春招毁约去滴滴,结果一月底的时候 hr 让赶紧签三方,说是二月底之前不签的话就不等了,所以也就没有去成。

春招的话公司也不多,而且只想进大厂,就投了百度和头条。百度秋招春招都没给面试机会,难受。所以只面了一下头条,没想到就过了,所以就很开心的去头条啦( hr 小姐姐跟我说在 offer 审批中了,希望没什么意外)。

我的基本情况在秋招的总结里面已经很详细啦,可以参考一下 2019 web 前端面试总结(内附面经)

说一下这段时间来的感想吧

关于面试官

为什么要说这个呢,因为面试其实还真的蛮看运气的,在我眼里面试官分为几种

  • 根据他事先准备好的问题来问

    这种面试的话其实还挺多的,比如说之前面美团的时候就遇到过,如果考察的问题比较基础的话还好,因为基础是人人都需要好好准备的,但是可能某道算法或者某个偏僻的知识点某些人正好会,或者是看过面经。某些人正好不会,或是没看到面经区别就很大了,所以不是很喜欢这样的面试官,但是还可以接受。

  • 根据你的简历或是你擅长哪一方面来问

    这种是我最喜欢的面试官了,面试拼多多,贝壳,头条的时候都遇到过这类面试官,他们会根据你的简历来问你问题,如果某方面你了解的不多的话他们也不会一直追着不放。毕竟每个人的精力有限,不可能什么方面都做的很好,善于发现人的长处的面试官才是合格的面试官。

  • 根据他会的来问

    这种就最坑了,他只会问你他会的,很少看你简历上面的东西,而且有时面试缺乏开发经验的实习生时还总是喜欢问些实际开发中才能遇到的问题。

如果真的遇到这种面试官的话,可以适时的提醒一下,如果遇到过分觉得没什么希望建议直接说出自己的想法,说不定可以造福后续面试者。而且不要因为一两个面试官而影响自己的心情,这种面试官毕竟是少数。

其实面试也是一个双向选择的过程,不只是面试官选择你,还有你选择这家公司。

关于基础

我一直认为基础都是最重要的,在掘金上面加了个前端的小册群,群里面大多数应该是工作了的人,前两天有人在群里问了下面这道题

var value = 1
var foo = {
    value: 2,
    bar: function() {
        return this.value
    }
}

console.log((foo.bar)())

然后有的说自执行函数,还有人说为什么不是 undefined,为什么不是 1,其实就是个很简单的隐式绑定。怎么说呢,成功的路上没有捷径。如果抱着走捷径的方式来找工作,看再多总结也没用。

关于框架

说实话,秋招的时候 Vue,React 其实自己都不会的,但是当时关于虚拟 dom,diff 算法,数据的双向绑定这些都是有了解的。所以感觉并没有给自己的面试有太多减分。

很多时候面试官并不是看你是否会实用某个框架来开发,其实这些框架的话稍微熟悉一下就能够上手开发了,大多数时候这就足够了,在开发的过程中可以慢慢学。但是如果没使用过这些框架,然后其中的思想也不知道的话可能会减分。

这里补充一下 React 及 node 的相关考点(部分),因为秋招的时候只是简单的带过了

  • React

    虚拟 dom 及 diff 算法,生命周期及各个生命周期主要做哪些事,父子,同级之间的组件通信,setState 异步的原因及好处,性能优化,尤其是 shouldComponentUpdate

  • node

    node 中的事件循环,实现一个 Event 类(即实现一个发布订阅),V8 的垃圾回收,然后就是使用的框架的核心思想,比如 Koa 的中间件原理是如何实现的,然后可能会根据你做过的东西用到哪些 node 中的东西来问。

说这么多其实就说想说最重要的还是基础及框架优秀的设计思想,而不是框架本身的使用,虽然入职之后就是一个 api 的搬运工,但是面试的时候不行。

关于网络方面的知识

网络方面的知识真是和 js 不相上下,肯定会问到的。缓存,跨域,同源策略,TCP/UDP,HTTP2.0,HTTPS,DNS,CDN,安全。头条三次面试,有两次被问到 HTTPS 建立连接的过程,然后一面问了 XSS,二面问了 CSRF,还有缓存也问了。所以强烈推荐秋招总结里面的那个趣谈网络协议还有图解 HTTP(HTTP 权威指南没有必要),主要把 TCP/UDP,HTTP,DNS,CDN 那几篇反复听几遍。可能有的人怕看了以后收益太小,但是可以写到简历上诱导面试官去问,比如我的简历里面就有一条

熟悉 httphttps 协议,并能熟练使用抓包工具。对跨域,缓存,安全问题,前后台通讯方式等有所了解

关于实习

实习对于学生来说太重要了,当然也并非非要实习不可。如果实验室或学校的项目还不错也完全可以不用去实习,而且有些人去实习也只是去当 api 的搬运工,所以想要提升还是靠自己。

如果既不能去实习也没有学校的项目的话最好自己跟着视频啥的做一个简单的项目。不然一点开发经验都没有的话,除非基础特别好,否则跟别人相比会有一定的劣势。

对于我来说,实习让我把整个开发流程联系起来了,也让我知道公司主流的开发模式,还学了一些后台的知识,以及提升了个人的视野。

实习如果不能转正或者不想转正的话建议最好暑假前结束,因为需要留出时间复习。当然因人而异,因为我觉得暑假实习的话秋招就会没有时间复习了,基础还好,主要是算法,毕竟大佬换工作时都需要留出时间来复习,更何况我们呢。

关于网上的一些资料

如果经常逛掘金的话应该知道掘金有个关于前端面试的小册,或者是极客时间上 winter 老师的前端课程,可能还有一些类似的其他资料。怎么说呢,其实我觉得这两个东西对面试的帮助确实比较有限,主要作用是用来查漏补缺,当然如果不缺钱的话肯定是要支持一下的。但是趣谈网络协议真的强推!!!走路或者骑车的时候听一听,既利用时间又能学习,还是非常重要的考点。

但是其他关于 js 基础的课程,总的来说就是,可以,但没必要。

最后

还记得刚开始校招的时候只要有公司就投,当时觉得只要能给一万左右就很开心了。怎么说呢,只要好好努力,肯定会有一个好的结果的,上天是不会亏待努力的人的,加油。

我的微信在秋招的链接里面,有什么不懂的地方可以一起交流。

你可能感兴趣的:(前端,面经)