导读
前端一线互联网中高频率出现的题都在这了。试题大部分从互联网收集,这是我集合了牛客网、CSDN、思否、掘金、简书等网站的几十篇面经和我自己面试的经历的合集,希望大家喜欢。
我在一线互联网企业工作近十年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
在金三银四面试季也想为前端开发者出一份力,通过我的技术经验整理了面试经常问的题,答案部分会是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来,大家知道很多前端面试被问的问题不是一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。
题库收集整理的周期比较长,很多原作者的链接没有了,非常抱歉。如果答案中用到了您的内容,请在下面留言。
希望前端求职者认真研读,准备金三银四面试,并顺利找到Offer。
前端面试高频集锦(含解析)
1.一些开放性题目
自我介绍:除了基本个人信息以外,面试官更想听的是你与众不同的地方和你的优势。
项目介绍
如何看待前端开发?
平时是如何学习前端开发的?
未来三到五年的规划是怎样的?
2.什么是函数柯里化?
3.创建对象有几种方法?
4.怎样通过ES5及ES6声明一个类?
5.call、apply的共同点与区别?
6.用javascript实现对象的继承,继承的几种方式,这几种方式的优缺点?
7.说说你对作用域链的理解?
8.谈一谈this在各种情况的指向问题?
9.闭包的特征有哪些?
10.闭包应用场景有哪些?
11.实际开发中闭包的应用?
12.如何理解js的单线程?
13.js为什么是单线程的?
14.同步和异步的区别是什么?分别举一个同步和异步的例子?
15.什么是任务队列?
16.栈和队列的区别?
17.栈和堆的区别?
18.判断数据类型的方法有哪四种?(列出四种即可)
19.js变量按照存储方式区分为哪些类型,并描述其特点?
20.js中有哪些内置函数/ 数据封装类对象?
21.js变量按照存储方式区分为哪些类型,并描述其特点?
22.数组怎么去重有哪些?(方法)
23.一句话数组去重?
24.哪些操作会造成内存泄漏?
25.js内存泄漏的解决方式
26.dom是哪种基本的数据结构?
27.dom结构操作/ 怎样添加、移除、移动、复制、创建和查找节点/ dom操作的
28.通用事件绑定/ 编写一个通用的事件监听函数?
29.bom常用属性有哪些?
30.如何解决跨域问题
31.你觉得jQuery或zepto源码有哪些写的好的地方
32.谈谈浮动和清除浮动
33.谈谈你在项目中用过哪些设计模式
34.谈谈性能优化问题
35.说说你对闭包的理解
36.请你谈谈Cookie的弊端
37.浏览器本地存储
38.web storage和cookie的区别
39.cookie和session的区别:
40.display:none和visibility:hidden的区别?
41.CSS中link和@import的区别是?
42.position:absolute和float属性的异同
43.介绍一下box-sizing属性?
44.选择符有哪些?哪些属性可以继承?
45.优先级算法如何计算?
46.CSS3新增伪类有那些?
47.CSS3有哪些新特性?
48.对BFC规范的理解?
49.说说你对语义化的理解?
50.栈和队列的区别?
51.栈和堆的区别?
52.快速 排序的思想并实现一个快排?
53.常见兼容性问题?
54.解释下浮动和它的工作原理?清除浮动的技巧
55.浮动元素引起的问题和解决办法?
56.清除浮动的几种方法:
57.position的值有哪些, relative和absolute分别是相对于谁进行定位的?
58.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
59.如何实现浏览器内多个标签页之间的通信?
60.什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?
61.null和undefined的区别
62.new操作符具体干了什么呢?
63.js延迟加载的方式有哪些?
64.谈一谈Javascript垃圾回收方法
65.哪些操作会造成内存泄漏?
66.列举IE与其他浏览器不一样的特性?
67.WEB应用从服务器主动推送Data到客户端有那些方式?
68.对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?
69.一个页面从输入 URL到页面加载显示完成,这个过程中都发生了什么?
70.javascript对象的几种创建方式
71.javascript继承的6种方法
72.创建ajax的过程
73.异步加载和延迟加载
74.ie各版本和chrome可以并行下载多少个资源
75.Flash、Ajax各自的优缺点,在使用中如何取舍?
76.请解释一下 JavaScript的同源策略。
77.为什么要有同源限制?
78.GET和POST的区别,何时使用POST?
79.事件、IE与火狐的事件机制有什么区别?如何阻止冒泡?
80.ajax的缺点和在IE下的问题?
81.谈谈你对重构的理解
82.HTTP状态码
83.说说你对Promise的理解
84.说说你对前端架构师的理解
85.说说严格模式的限制
86.如何删除一个cookie
87.说说你对AMD和Commonjs的理解
88.document.write()的用法
89.git fetch和git pull的区别
90.说说你对MVC和MVVM的理解
91.请解释什么是事件代理
92.attribute和property的区别是什么?
93.说说网络分层里七层模型是哪七层
94.说说mongoDB和MySQL的区别
95.讲讲304缓存的原理
96.什么样的前端代码是好的
97.构建的 vue-cli 工程都到了哪些技术,它们的作用分别是什么
98.vue-cli 工程常用的 npm 命令有哪些
99.请说出vue-cli工程中每个文件夹和文件的用处
100.config文件夹 下 index.js 的对于工程 开发环境 和 生产环境 的配置
101.请你详细介绍一些 package.json 里面的配置
102.对于Vue是一套渐进式框架的理解
103.vue.js的两个核心是什么?
104.请问 v-if 和 v-show 有什么区别
105.vue常用的修饰符
106.、v-on可以监听多个方法吗?
107.vue中 key 值的作用
108.vue-cli工程升级vue版本
109.vue事件中如何使用event对象
110.$nextTick的使用
111.Vue 组件中 data 为什么必须是函数
112.v-for 与 v-if 的优先级
113.vue中子组件调用父组件的方法
114.vue中 keep-alive 组件的作用
115.vue中如何编写可复用的组件
116.什么是vue生命周期
117.vue生命周期钩子函数有哪些
118.vue如何监听键盘事件中的按键
119.vue更新数组时触发视图更新的方法
120.vue中对象更改检测的注意事项
121.解决非工程化项目初始化页面闪动问题
122.v-for产生的列表,实现active的切换
...
篇幅有限,这里只列出了部分面试题,和部分截图,不过面试题和详解都已经整理成PDF文档,如果你需要这份完整版的面试宝典,可以添加老师微信报名训练营领取!
前端面试算法题
面试总是免不了算法题的,尤其是像面试字节这样的大厂,更是少不了算法题,下面就给大家分享一些常用的算法知识点和面试题题。
1.时间复杂度
2.位运算
3.左移 <<
4.算数右移 >>
5.按位操作
(1)两个数不使用四则运算得出和
6.排序
7.冒泡排序
8.插入排序
9.选择排序
10.归并排序
11.快排
(1)Sort Colors(颜色排序)
(2)Kth Largest Element in an Array(数组中第k大的数字)
12.堆排序
13.系统自带排序实现
14.链表
(1)反转单向链表
15.二叉树的先序,中序,后序遍历
16.递归实现
17.非递归实现
18.中序遍历的前驱后继节点
19.树的深度
(1)树的最大深度
20.动态规划
21.斐波那契数列
22.背包问题
23.最长递增子序列
24.字符串相关
...
篇幅有限,这里只列出了前端面试部分算法题,和部分截图,不过算法题和详解都已经整理成PDF文档,如果你需要这份完整版的算法宝典,可以添加老师微信报名训练营领取!
经典JavaScript面试题专场讲解
为了帮助大家更好的备战金三银四,顺利通过面试/春招/跳槽/涨薪。我们特邀腾讯特邀技术专家--飘哥为大家《一线互联网JavaScript面试题专场讲解》直播分享,用大厂面试真题为案例,给大家详解其中原理和大前端面试技巧。
如果你还在为前端面试/春招/跳槽/涨薪困惑,需要一对一面试指导及职业规划,可以添加老师微信报名训练营!我们帮你备战2021年金三银四, 顺利实现薪满意足!
(如遇扫码频繁,点击阅读原文哦~)