这篇文章不适合拿到 BAT 的大佬及自制力特别差的人

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

基本情况

据说先把 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,极客时间的趣谈网络协议,博客

基础差不多了,还要看网络的东西,如果做开发的话,前后台都需要好好了解网络的知识。具体有 http,http 2.0,https,dns,cdn,tcp,缓存,跨域,安全,本地存储这些东西。前面那些计算机网络的东西可以通过图解 http 来做个大概的了解。这里想推荐极客时间的一门课程趣谈网络协议。如果有想试听的可以加我微信,通过我的链接购买的返利我也会返还给你,微信和链接放在最后。因为我之前也是特别头疼网络这方面的东西,不过听了以后就感觉好多了,甚至还能说下 quic 协议来装个逼。每天早上,中午晚上去学校实验室的路上听一下,反复听,这点东西听一个月就算弱智也能听会了。当然也要自己总结一下,因为有些讲的不是那么清楚,比如 https 的 pre-matser 那里,这就需要你自己去查一下。对于跨域,缓存,安全这些东西网上一找一大堆,我自己也整理过,所以也不是特别难,可能刚开始了解的不多,会觉得好难,其实看下来以后会觉得没那么难。这里特别要注意的就是 cookie 的一些属性,需要记一下。

html 和 css

css 权威指南 2、3、7、8、10 章,w3c,博客

html 首先要理解语义化,然后就是一些语义化的标签。语义化的好处,新增的一些特性。给你一个页面结构要能使用语义化标签准确还原。

css 这部分的话其实考的比较多的是一些实际的东西,但是首先基础你要知道。比如最基本的盒模型,还有一些 css3 新增的选择器,属性等。然后最经常的就是让你实现三栏两栏布局,所以基本的布局方式你也要了解吧。然后就是垂直居中,移动端适配等考的比较多。这些东西其实都是需要自己整理,然后一段时间复习一下。

ES6

重点 ES6 标准入门 2、3、7、11、14、16、18、19、22、23

ES6 重要且常用的特性基本都在这里面的,具体常问的有 let const,class,箭头函数,promise,async await,module 模块化。

算法

重点剑指 offer!!!

面试考的算法题 90% 都是剑指 offer 上面的,所以剑指 offer 也一定要好好刷,经常刷,刷完了继续刷。这样面试的时候 90% 以上的算法题就没有问题了。但是如果笔试想表现的好一点的话可能就得刷 leetcode 了。但是我觉得还是得首先把基础概念弄懂了再刷比较好,最近极客时间也新开了一门算法课。想报名的可以通过我的链接,加我微信,返利我也会返给你。当然,算法是长时间的事,就算不是为了面试也建议一段时间刷几题。

框架

博客,视频

框架方面虽然我暂时了解的不多,但是下半年也准备花时间在这上面还有 nodejs 上面。就算你不会,下面这几个问题你也要弄懂。

mvvm 和 mvc 的区别,双向绑定原理,虚拟 dom、diff 算法,spa 原理。

模块化、工程化

这一块的话 ES6 标准入门里面有,让后网上也很多,最主要的是自己实现一下,然后比较里面的不同。因为实验室技术比较落后,这方面的东西没有用过,所以我也只是通过简单的 demo 测试过他们中的一些区别,了解的也不是特别深。但是一定要亲自动手实现。这样才能加深自己对这方面的理解

这些东西你准备好的话,基本一面就没问题了。但是如果想进大厂的话,计算机基础,后台的东西你都要有所了解,因为大家能力都差不多,所以面试官最重视的还是你的基础。

总结

刚开始的时候肯定是看书,形成完整的知识体系。然后针对某些重点逐个攻破。最后的话可以看一些他人整理的资料,面经,查缺补漏,经常总结。这里面最重要的就是经常复习,有代码一定要写代码。最忌讳的就是看完就结束,不总结,不复习,这样知识留存率太低了,可能你暂时记下来了,但是过段时间就忘了。重要的函数要背下来,比如我经常每天隔几天写一下深拷贝,防抖节流,compose 函数,apply,bind,call 的实现等。这些常用的我觉得考到的可能比较大,并且能加深自己的理解。

当然了,通过写博客的形式来总结最好不过了,因为有人与你互动,所以能够提高你的学习积极性,但是需要注意版权的问题,从书上整理的内容如果大规模引用的话,最好标注出处。而且如果有面试官问到的话,经常写博客也是个加分项。接下来准备把计算机基础,算法,框架,nodejs 这些东西补一补。虽然秋招结束了,但是学习是一辈子的事情

附:书单及面经

书单:JavaScript 高级程序设计,你不知道的 JavaScript 上中,ES6 标准入门,CSS 权威指南,DOM 编程艺术。(可选)JavaScript 忍者秘籍,高性能 JavaScript,深入浅出 nodejs,高效前端。

面经:2018 秋招前端面试总结

微信及链接:


彩蛋

目前部门在招人,有北京想来头条的可以加我微信哈,校招和实习的我也可以帮忙内推,或者可以直接把简历发到 zhangyanpeng.null@bytedance.com

2019 web 前端面试总结(内附面经)相关推荐

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

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

  2. 【持续..】WEB前端面试知识梳理 - CSS部分

    传送门: WEB前端面试知识梳理 - CSS部分 WEB前端面试知识梳理 - JS部分 最近在看大厂的一些面试题,发现很多问题都是平时没有在意的,很多知识都是知道一点但又很模糊说不出个所以然来,反思自 ...

  3. web前端面试问答_Web服务面试问答

    web前端面试问答 在这篇文章中,我们涵盖了您需要熟悉的Web服务概念的几乎所有部分,以回答任何层级问题. 您还将在分类中找到最佳的Web服务面试问题和答案,因此只有在必要时才可以使用特定条款. 今天 ...

  4. web前端面试总结(自认为还算全面哈哈哈哈哈!!!!)

    web前端面试总结(自认为还算全面哈哈哈哈哈!!!!) 一.CSS问题 1.flex布局 display:flex; 在父元素设置,子元素受弹性盒影响,默认排成一行,如果超出一行,按比例压缩 flex ...

  5. web前端面试高频考点——JavaScript 篇(一)【JS的三座大山 】 原型和原型链、作用域和闭包、异步

    系列文章目录 JavaScript 知识梳理,收录了web前端面试 95%以上 的高频考点,满满的干货.给你做一个高效的知识梳理,为你的面试保驾护航! 内容 参考链接 HTML & CSS 篇 ...

  6. Web前端面试自我介绍对话技巧注意事项

    大家在学会了web前端技术后,当然是要准备找一个适合自己的web前端工作了,那么面试环节是必不可少的,有一个良好的自我介绍表述,在HR心中也能加分不少,接下来小编就为大家介绍一下Web前端面试自我介绍 ...

  7. 2018web前端不好找工作之web前端面试简历补救篇

    web前端面试简历算是第一张脸,给HR/CTO的第一印象,弄好啦,就有面试的机会!? 关于前端面试简历简单的介绍几点吧. 1.关于简历如何写.首先可以去招聘网站上面看看.那么可以看哪些呢.比如在拉钩上 ...

  8. web前端不好找工作之web前端面试简历补救篇

    web前端面试简历算是第一张脸,给HR/CTO的第一印象,弄好啦,就有面试的机会!? 关于前端面试简历简单的介绍几点吧. 1.关于简历如何写.首先可以去招聘网站上面看看.那么可以看哪些呢.比如在拉钩上 ...

  9. web前端面试宝典——带你直击面试重难点(40个经典题目,涵盖近90%的考点,码字2w,干货满满!)

    系列文章目录 JavaScript 知识梳理,收录了web前端面试 95%以上 的高频考点,满满的干货.给你做一个高效的知识梳理,为你的面试保驾护航! 内容 参考链接 HTML & CSS 篇 ...

最新文章

  1. C++ 多线程:互斥对象 lock_gurad
  2. 技术图文:如何利用C# + Echarts 绘制「堆叠条形图」?
  3. 将DataFrame中的每一列分别做归一化处理的函数实现
  4. OpenCASCADE绘制测试线束:拓扑命令之拓扑和几何分析
  5. Avalonia跨平台入门第四篇之Popup在uos下问题
  6. mysql normsinv_在MySQL中实现NORMSINV函数
  7. Oracle_spatial的常见错误与注意事项
  8. java html 转图片_Java 将Excel转为图片、html、XPS、XML、CSV
  9. HDU 6090 Rikka with Graph 思维 公式
  10. 想要学习C++,到底能从事哪种行业?
  11. 常用的电气制图软件有哪些?以及各自的优缺点
  12. 在线查询QQ信息API QQAPI
  13. vnc以及xfce安装\xrdp连接
  14. 共享租车平台“车便利租车”完成A轮融资
  15. ONES 解码:为何数字化是“超级工程”
  16. 玩家的numpertpry 对象 中 不仅仅要同步 君主武将的等级,阶级也要同步
  17. [实用超分网络大赏]《Real-Time Quantized Image Super-Resolution on Mobile NPUs, Mobile AI 2021 Challenge》
  18. 动手学深度学习——矩阵求导之矩阵的迹和微分
  19. 使用Socket进行设备间点对点连接传输数据
  20. 实例!自动化物流系统规划设计(立库,输送,分拣,WMS)

热门文章

  1. 实习的时候拿C++写的游戏《星际夺宝》
  2. 集成学习精讲02 - Bagging方法:多个基模型的聚合(SAP大神黄佳新作《零基础学机器学习》节选)
  3. IDC:中国人工智能及自动化市场十大预测
  4. python web py入门-4-请求处理(上)
  5. 浅析多卡多链路聚合路由器的关键技术、原理
  6. 高精度乘法(c++实现)
  7. 你在B站弹幕玩过哪些梗?
  8. html5字体加重,javascript – Html5画布字体重量渲染比它应该重得多
  9. 基于人脸关键点检测的驾驶员睡意检测系统
  10. 郑强教授相关语录(转)