这里分享一份由字节前端面试官整理的「2021大厂前端面试手册」,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题、数据结构与算法。全部整理在下方文档中,共计111道
HTML
-
HTML5有哪些新特性?
-
Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
-
如何实现浏览器内多个标签页之间的通信?
-
⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元 素和块级元素有什么区别?
-
简述⼀下src与href的区别?
-
cookies,sessionStorage,localStorage 的区别?
-
HTML5 的离线储存的使用和原理?
-
怎样处理 移动端 1px 被 渲染成 2px 问题?
-
iframe 的优缺点?
-
Canvas 和 SVG 图形的区别是什么?
JavaScript
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
问:0.1 + 0.2 === 0.3 嘛?为什么?
-
JS 数据类型
-
写代码:实现函数能够深度克隆基本类型
-
事件流
-
事件是如何实现的?
-
new 一个函数发生了什么
-
什么是作用域?
-
JS 隐式转换,显示转换
-
了解 this 嘛,bind,call,apply 具体指什么
-
手写 bind、apply、call
-
setTimeout(fn, 0)多久才执行,Event Loop
-
手写题:Promise 原理
-
说一下原型链和原型链的继承吧
-
数组能够调用的函数有那些?
-
PWA使用过吗?serviceWorker的使用原理是啥?
-
ES6 之前使用 prototype 实现继承
-
箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?
-
事件循环机制 (Event Loop)
首先呢,我是一名前端程序员,工龄一年半,资历不是很深,但是加上实习经历我也去过三家互联网公司了。我毕业于一所普通的 211 学校,学习的软件工程专业,为什么学习这个专业呢,我相信很多小伙伴应该和我的想法查不多
- 1 早就听说做互联网赚钱
- 2 对用电脑感兴趣 经常玩电脑游戏
- 3 莫名的感觉程序员有点小酷
但是进了学校你就会发现,程序员,似乎和你想的不太一样
首先,大学的课程很难,因为我本身就属于那种不是很擅长数学的类型,而就软件工程的课程而言,高等数学、线性代数、离散数学、数据解构、算法等等,都是非常难的课程,如果想考前突击,基本可以说是很难,我呢,平时稍微学学,考前突击下 ,各科基本都是七八十分的样子。数学不好是我放弃考研的原因,也是我最后选择前端的原因
插入个题外话,计算机专业卷到现在,其实已经不是一个男生的专业了,就我专业的情况来看,男女比例大概 2:1 的样子
大三的时候,大家陆陆续续开始找实习,比较有先见之明的同学大三上学期结束就开始找实习了,我记得我们班里有个女生就找到了某滴的实习。而我属于不太有先见之明的那类,大三下学期开学,得知人家假期就已经在大厂实习了,我才开始着急,于是就开始学习前端的知识,这里就要夸一下我的学校了,学校真的是很有先见之明了,我们学校开设了 html+css+js 甚至是vue的课程,因为学习过,所以准备面试的过程还算顺利,简单背了一下面经就面试了
对于我来说,算法真的是痛点,数学不好是一点,其次就是,对算法一点不感兴趣,导致我只要遇到比较难的算法的笔试或者面试,就很难通过
面试最频繁的时候,一天能约五个面试,终于最后找到了一份还算不错的实习,大三下学期的假期,入职了海淀某短视频大厂。
我记得我还兴奋的发了个朋友圈,终于要踏入程序员的行业,内心无比激动,甚至还得到了日薪 400 的高薪,但是入职后一个月就觉得不太对,我记得入职第一天的中午,我和负责带我的师傅去食堂吃饭
师傅:你觉得咱们公司的食堂咋样
我:感觉不错,吃的挺好的,还免费
师傅:咱们这里要是周六没啥事的话都来加班
我:(沉默三秒钟)行,我来学习学习也挺好
后来我发现,真的需要加班。因为我根本就什么都不会做,学了那么久的vue,结果部门的项目全都是react,不止是技术栈的问题,一些很技术的知识也不是很熟练,可以说是,举步维艰。而所谓的师傅,我觉得也是挂名的,我去问她问题,她还在工作,然后就让我等会再问她在忙,唉,后来我也懒得问了。
就这样,一边学习,一边做着非常简单的工作,一个月后,也就是我实习两个月的时候,我终于受不了了,因为在公司根本没法提高,周报,日报,你敢信我一实习生要每天写日报。假期也结束了,我决定回学校突击学习,我辞职了。
回学校每天泡图书馆,看书,实践,看网课,做项目,一个月后。我准备找我的第二份实习,很快,我拿到了海淀某搜索引擎大厂的offer,这段实习是我的一个转折点。同样也是有一个师傅带着我,但不同的是,这位师傅非常认真负责,并且很信任我,把一个小项目的前端开发全权交给我负责,一个简单的报表系统,我现在还记得他让我自己选择技术栈,我选择了我刚学的 React
刷面试题
刷题的重要性,不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
前端字节跳动真题解析
-
【269页】前端大厂面试题宝典
最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。