总结一下
面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。
为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
前端面试题汇总
JavaScript
性能
linux
前端资料汇总
前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。
-
数组去重的多种方法实现
-
Array.reduce方法怎么使用
由于是第一家面试,也没有做足充分准备,上面这些题我基本都没有答上来,他家的HR很负责,就算你没有通过也会告诉你结果。
2. 跟谁学
同样是一家做教育的公司,这家公司秋招的时候投过,但是一只没有去面试,直接微信联系的HR。由于我比较菜,面试同样只进行了一轮,主要问了这些问题:
-
CSS实现一个围绕y轴旋转的动画效果
-
CSS transform了解多少
-
数组的所有方法是否有返回值,返回值是什么,会不会改变原数组,会不会返回一个新的数组(当时已懵逼,意识到自己不能在吃老本了,面试结束后就找个篇文章恶补了一下)
-
Array.map、Array.forEach和for循环区别
-
Vue的指令用过哪些
-
跨域如何处理
-
Array.reduce实现一个对象数组的去重操作([{key: ‘a’, value: 1}, {key: ‘a’, value: 2}, {key: ‘b’, value: 3}]返回[{key: ‘a’, value: 1}, {key: ‘b’, value: 2}]相当于key值一样的只保留一个)
-
canvas了解多少(基本不了解)
-
web性能优化
上来的动画效果我没有写出来,数组的各种方法又把我搞懵逼,整个面试不超过半小时就GG了。
3. 老虎证券
美港股证券公司,财大气粗,去年秋招的时候面过,当时还拒了。通过BOSS直聘联系约面。同样一面跪,主要问了这些问题:
-
var、let、const区别(这个区别我竟然真的不知道,下来后把阮一峰的书好好翻了一遍)
-
块级作用域主要解决什么问题(同样翻阮一峰的书)
-
闭包相关(特别经典的for循环有setTimeout那道题,以及如何改成想要的结果)
-
this指向(参考你不知道的JS上卷)
-
CSS margin重叠问题怎么解决(当时还不知道BFC这个是怎么用的,用于处理什么问题)
-
解构赋值和函数默认值一起来问(阮一峰的书有个很经典的例子)
-
Object.create是怎么实现的(红宝书原型式继承有讲)
-
手写快排
-
手写一个多列等高布局
-
http状态码
面试发挥的很差,不过面试官小姐姐特别有耐心,聊了两个多小时,基本上全程教我写代码,最后斗胆要了下小姐姐微信,这次面试失败对我打击很大,让我严重意识到了自己的不足。正好是个周五,基本上通宵看完阮一峰的ES6那本书。
4. 快手
南抖音北快手,虽然我不玩,在网上查了一下面经,据说这家公司超级难。面试先做笔试题,还好之前有准备,两道题没做出来,一道是利用localStorage根据请求响应头做一个浏览器缓存的插件,一个是返回给定字符串的全排列结果。一面主要问了这些:
-
display: block、display: inline和display: inline-block的区别
-
CSS水平垂直居中
-
CSS画一个三角形
-
flex-basis这个属性是干嘛的(回答的很差)
-
CSS多列等高布局,要求取内容最多的高度
-
call、apply和bind区别
-
手写bind(没写出来,大概说了下思路)
-
JS继承每种方式的优缺点
-
Vue computed的实现原理
-
Vue生命周期
-
Vuex怎么使用
-
webpack了解多少
-
手写快排
一面确实有些东西不知道,不过一面小哥说会有二面的,顺便蹭了个饭,快手的饭挺好吃的。二面是个秃顶小哥,主要问了这些:
-
扩展运算符和rest参数怎么理解
-
扩展运算符在ES5中怎么实现(这个有印象,但是没写出来,后来被说基础太差了)
-
flex布局(父元素宽度300px,两个子元素,一个是flex: 1 0 100px,另一个是flex: 2 0 100px,问页面展示是什么样子的)
-
React和Vue的区别
-
React的虚拟dom怎么理解
-
Redux怎么使用(没用过)
-
手写promise(完全不会)
-
http与https的区别
-
浏览器不同页面怎么通信(答曰localStorage,面试官不满意)
二面还是暴露了些问题的,等了半小时,二面小哥告诉我技术栈不符合,培养成本较高,还让我好好看下ES6的代码转成ES5后的结果。虽然被拒了,不过也没那么伤心,面试前安慰自己能撑过一轮就是赚了。
5. 百度
百度是百度网盘部门,不在百度大楼,在鹏寰大厦。去年校招也收到百度面试,不过因能力问题没有敢去。一面是个小姐姐,主要问了这些问题:
-
浏览器输入url到渲染页面做了什么工作(我不到1分钟说完了,小姐姐说你可以说的再细一点吗,然后引导我,我表示全程懵逼,原来还可以这么细,第一题就聊了半个多小时,当时已经没心情回答后面的了)
-
CSS水平垂直居中
-
CSS清除浮动
-
CSS实现一个简单动画
-
JS继承相关及优缺点
-
http缓存
-
cookie、sessionStorage和localStorage的区别
一面面到这里心里凉了半截,已经做好回家复习的准备了,小姐姐说暂时联系不到二面,要不让我回家等通知。绝望中走了1公里,接到电话说可以面一下二面,遂小跑回去等待二面。二面是个小哥,他老婆竟然是我上家同事,二面主要问了这些问题:
-
线性表、链表、二叉树、图的算法了解多少(卧槽我一个都不知道,小哥满脸尴尬……)
-
http和https了解多少,通信时的加密情况
-
Vue的生命周期
-
Vue的双向数据绑定实现原理(不会,虽然之前被问到过)
-
设计模式了解多少(吹了一波观察者模式,结果漏洞百出)
-
如何创建BFC
二面后来跟小哥坦白了,数据结构很多都忘了,说了很多自己学习技术上的事。小哥选择给了个友情三面。
三面是百度网盘的负责人,是个女的,感觉之前在哪里见过,技术的东西没有聊,聊了很多前端学习路线上的事,针对我的离职原因教育了我一番(我不是说的裁员),并表明评级不到t4,社招是没有t4+以下的hc的,让我再努努力,希望下次再来面百度的时候可以收获offer。在这里还是感谢下百度的三位面试官,确实我和他们的差距不是一般的大。尤其一面的小姐姐,就一道题让我学到了很多很多,也为我后面遇到类似题目埋下伏笔。
6. 贝壳金服(理房通)
给贝壳做支付的,金融公司,财大气粗。自己在boss上联系的,抱着试试看的心态来面试的。他家面试一共5轮,2轮技术,1轮合伙人,1轮HR,最后又来了1轮电话技术面。一面直接让看一套笔试题,然后告诉他答案,此外还问了这些问题:
-
CSS水平垂直居中
-
怎么创建BFC及其解决问题(前面面过)
-
清除浮动
-
深拷贝当遇到引用类型为Function时怎么办(当时懵逼了,不记得有问Function的,一般都是问Array或Object,答案是直接浅拷贝Function即可)
-
this指向
-
React的componentWillMount和componentDidMount有啥区别(React我不知道,给他介绍了下Vue)
-
React的key是用来干嘛的(同不知道,猜测跟Vue是一样的功能)
-
Redux怎么使用(同不知道,吹了下Vuex)
-
平时开发时git操作流程
一面虽然有些React的东西不知道,但是面试官还是给了二面。二面是个架构,问的东西基本全是网络相关,具体如下:
-
http和https的区别
-
http缓存
-
tcp和udp的区别(这个不知道)
-
linux命令了解多少
-
项目部署发布流程
二面的面试官不太懂前端,我也不太懂网络,不过跟他说了说我项目中的一些优化操作,还是给了后面的面试。隔了3天接到电话说还有一轮电话面试,电话面试主要问了这些问题:
-
Vuex怎么使用
-
深拷贝遇到死循环怎么办(a对象有b,b对象又有a,当时回答不太好)
-
rem、em和px的区别
-
CSS实现多列等高布局
-
怎么理解mvvm
除了死循环那个,别的回答的都不错,也是第二天就接到了offer,第一个offer,内心感慨:找工作真难啊。
7. 蛋壳公寓
长租公寓,我现在住的就是蛋壳公寓。公司HR统一内推的,技术面一共三轮。一面主要问了这些问题:
-
跨域解决方案
-
CSS水平垂直居中
-
清除浮动
一面小哥很年轻,问的东西也比较少,聊项目偏多。二面来个大叔,气场十足,主要问了这些:
-
JS继承
-
Promise使用方法
-
Vue生命周期
-
Vue组件通信
-
VueRouter的histroy模式和hash模式的区别
二面问的东西偏实际了一些,二面透露他们的项目有Vue和JQuery混搭的风格。三面是个领导,隔了三四天约的三面,主要问了这些:
-
http性能优化
-
http缓存相关
其余的都在问个人平时怎么学习的,感觉蛋壳面试相对轻松,可能是因为工作经验的关系,并没有给我发offer。
框架相关
原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。
在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Vue框架
知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
rums/4304bb5a486d4c3ab8389e65ecb71ac0)**
Vue框架
知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式
[外链图片转存中…(img-m35INJSd-1715693548593)]
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
[外链图片转存中…(img-ZUCBNeNW-1715693548594)]