2019 web 前端面试总结(内附面经)

本文只是提供复习的思路,以及我自己的一些面经,并没有具体的题目

基本情况

据说先把 offer 亮出来才能吸引你们看下去。目前一共有五个。分别是顺丰,拼多多,远景智能,老虎证券和贝壳。其实拿到拼多多以后很多笔试面试就没有继续参加了,比如苏宁,虎牙的面试都没有去。还有一些直接笔试就拒了。因为过了也不会去,所以也就不败人品了。

再说一下我的情况吧,本科专业是矿物加工,当时连 c 语言都没学过,只学过一门你们可能听都没听过的 VB。然后考研考到了计算机的专业,两年,所以已经过去一年多了。然后刚开始的话也不是做前端,其实真正接触前端开发是去年 11 月左右。但是真的开始系统的学习应该是今年 4 月左右。因为其实实验室开发的话用的东西不难,很多东西用不到,所以当时直接开发问题也不是特别大,但是现在看起来真是太菜了。比如今年四月左右尝试了一下腾讯的实习,因为实验室和自己技术的原因,所以只尝试了这一家。不过你们就可以通过这一家判断出我当时的水平了。当时有这么一题,写一个闭包,每次调用的时候自加 1。怎么样是不是很简单,那我当时是怎么写的呢

var a = 0;

function add1(){

return a++;

}

没错,我就是这么写的,今年 4 月的时候。所以也应该大概知道我当时的水平吧。

之所以说这些呢,是给大家打个气,菜没关系,但是不能一直菜。所以也是告诉大家,如果真想学好,并且有兴趣的话是可以学好的。先说一下我准备的过程吧,给大家做个参考。

准备过程

大概就是实习结束之后就开始准备了。因为那时还有课,实验室还有项目,所以复习的比较慢,花了大概两个月左右把红宝书看了第一遍,基本上每一章都看了。这个过程虽然记住的东西不多,而且很多东西可能理解不了,但是会让你多很多东西有个基本的概念。为第二遍做准备。没错,这本书看一遍远远不够,你还要看第二遍,而且要整理,最重要的是复习。我相信看一遍的人很多,看第二遍的人也有。但是看的时候整理并且经常复习的人可能并没有那么多。当然第二遍整理的时候你需要有复习的思路(后面我会提供给大家,可以做个参考)。第二遍的时候不能有不理解的地方了,原型,继承,原型链,执行上下文,垃圾回收,作用域链书上讲的不清楚,看不懂的去网上找,还是不懂自己用例子测试。第二遍一定要弄懂,除非你想来第三遍。第二遍的话总结只总结重点的几章我就整理了九万多字,并且那段时间每天早上都会复习一下,8 点复习,9 点左右结束,其实有点太多了。导致自己都快背下来了。后来的话感觉每天把前一天整理的复习一下,每个星期把所有的复习一下可能更合适一些,也有更多时间看别的。

那段时间除了看这个的话还在看 vue 和 webpack,ES6 标准入门,图解 http(稍微翻了一下 http 权威指南)。后来因为感觉自己一个跨专业的基础比较差,所以还是把精力放在基础上比较好,就暂时把 vue 和 webpack 放下了。开始看你不知道的 JavaScript。ES6 标准入门的话也不用都看,也是要有重点的看,当然这些都是针对找工作来说的。还是一样的,总结和复习缺一不可。

后面的话开始看你不知道的 JavaScript,解决了我对于 this 指向的疑惑,刚开始的话看上中两卷就好,后面有时间可以再看下。

然后提前批就开始了。因为自己本身算跨专业,加上没有实习,学习的时间不长,所以从开始的时候就积极投简历了。不管是什么岗位,我都建议提前批开始投递简历,当然,是在我前面说的那些准备工作都做的差不多的情况下。如果你什么都没做,我觉得可能安心复习是更好的选择。

开始面试以后,肯定有好多东西不会,可以通过写面经,总结的方式来弥补自己的缺陷,不能面完了就结束了。这样同样的问题你永远不会。比如刚开始我对 BFC,防抖节流,性能优化等根本不了解,后面的话也通过面试,面试完查资料了解了。这里想说的就是不懂就要问,要查,而不是过。

后面的话自己了解的东西就比较多了,高性能 js,js 忍者秘籍,前几天的话也是刚看完 js 函数式编程,最近又把 http 抓包实战看完了,了解了抓包相关的东西。

前面的话是自己复习的一些经历。里面对框架说的比较少,这里说一下原因。首先我是跨专业的,基础差,基础都没打好怎么看框架。比如你让一个会用 jquery 的 ajax 的人封装一个原生的 ajax,可能他们不会,但是我会。所以框架固然重要,但是基础是最重要的。当然框架里面的一些好的思想你还是要了解的。比如虚拟 dom,diff 算法,vue 双向绑定实现这些东西。你可以没用过框架,但是这里面的原理你需要花时间去了解。

复习思路

下面是我从开始找工作时整理的一些面经,大家可以参考一下。

2018 秋招前端面试总结

有些可能没有,因为现场面的时候是连着面的,所以没有整理的时间,回去的时候都忘的差不多了,而且大多数都是类似的问题,可能少数几个不一样,也不值得整理了。所以有些可能没有。

其实开始复习之前也整理过别人的面经,大致都差不多。我这里就不提供具体的问题了,因为有好多人整理过了,所以可以参考他们。但是你在看别人整理的内容之前,最好自己已经了解一部分了。因为别人整理的东西为了简洁可能会把一些帮助理解的东西去掉,所以相当于你看到的只是结论。你看别人整理的东西的时候,最好是用来查缺补漏,而不是用来学习

JavaScript 基础

重点 js 高级程序设计 3 - 7 章,10 - 13 章,21 章

首先,基础知识一定要扎实。怎么样算扎实呢,举个例子吧,每个对象都有的 tostring 和 valueOf,谁能说出什么情况下触发哪一个

var obj = {}

console.log(obj);

console.log(+obj);

console.log(obj=={});

console.log(obj==={})

console.log(obj==‘test’)

console.log(obj===‘test’)

很多人只是过了一下,就比如别人整理的东西上面肯定不会说的特别详细,他只是给你个结论,所以你亲自试过吗?怎么试呢,其实很简单啊

var obj = {

toString:function(){

console.log(‘toString’)

return Object.prototype.toString.call(this)

},

valueOf:function(){

console.log(‘valueOf’)

return Object.prototype.valueOf.call(this)

}

}

alert(obj);

alert(+obj);

alert(obj=={});

alert(obj==={})

alert(obj==‘test’)

alert(obj===‘test’)

很简单就能测试出来什么时候用 valueOf 和 toString 了。

再比如数组哪些方法会改变原数组,哪些不会。其实这些书上都有,但是没有专门总结。因为总结不是书的事,书只负责教你知识,总结是你自己的事。一辈子不总结,一辈子都记不清。因为我也是从这种状态走过来的,所以希望大家学完一点东西以后总结一下,过段时间看一下。

如果你这两个都想的磕磕绊绊可能得看一下基础部分的内容。

网络

重点图解 http,极客时间的趣谈网络协议,博客

最后前端到底应该怎么学才好?

如果你打算靠自己摸索自学,那么你首先要了解学习前端的基本大纲,这是你将要学习的主要内容,理解以及掌握好这些内容,便可以找到一份初级的前端开发工作。你还需要有一套完整的前端学习教程,作为初学者最好的方式就是看视频教程学习,初学者容易理解接受。

不要选择买书学习,这样的方式没有几个人能学会,基本都是看不下去书,也看不懂书。如果喜欢看书的学弟,可以买一些经典的书籍作为辅助即可,主要还是以看教程为主。每天抽出固定几个小时学习,做好长期学习的准备。学习编程并不是每天光看视频,你学习编程最重要的目的是为了编写软件产品,提供给大众使用,所以用手写出代码实现功能才是我们要做的事情。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值