2024最新前端面试八股文【基础篇293题】
⼀、HTML、HTTP、web综合问题
1 前端需要注意哪些SEO
2 <img> 的 title 和 alt 有什么区别
3 HTTP的⼏种请求⽅法⽤途
4 从浏览器地址栏输⼊url到显示⻚⾯的步骤
5 如何进⾏⽹站性能优化
6 HTTP状态码及其含义
7 语义化的理解
8 介绍⼀下你对浏览器内核的理解
9 html5有哪些新特性、移除了那些元素?
10 HTML5 的离线储存怎么使⽤,⼯作原理能不能解释⼀下?
11 浏览器是怎么对 HTML5 的离线储存资源进⾏管理和加载的呢
12 请描述⼀下 cookies , sessionStorage 和 localStorage 的区别?
13 iframe有那些缺点?
14 WEB标准以及W3C标准是什么?
15 xhtml和html有什么区别?
16 Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
17 ⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元
素和块级元素有什么区别?
18 HTML全局属性(global attribute)有哪些
19 Canvas和SVG有什么区别?
20 HTML5 为什么只需要写 <!DOCTYPE HTML>
21 如何在⻚⾯上实现⼀个圆形的可点击区域?
22 ⽹⻚验证码是⼲嘛的,是为了解决什么安全问题
23 viewport
24 渲染优化
25 meta viewport相关
26 你做的⻚⾯在哪些流览器测试过?这些浏览器的内核分别是什么?
27 div+css的布局较table布局有什么优点
28 a:img的alt与title有何异同?b:strong与em的异同?
29 你能描述⼀下渐进增强和优雅降级之间的不同吗
30 为什么利⽤多个域名来存储⽹站资源会更有效?
31 简述⼀下src与href的区别
32 知道的⽹⻚制作会⽤到的图⽚格式有哪些?
33 在css/js代码上线之后开发⼈员经常会优化性能,从⽤户刷新⽹⻚
开始,⼀次js请求⼀般情况下有哪些地⽅会有缓存处理?
33 ⼀个⻚⾯上有⼤量的图⽚(⼤型电商⽹站),加载很慢,你有哪
些⽅法优化这些图⽚的加载,给⽤户更好的体验。
34 常⻅排序算法的时间复杂度,空间复杂度
35 web开发中会话跟踪的⽅法有哪些
36 HTTP request报⽂结构是怎样的
37 HTTP response报⽂结构是怎样的
⼆、CSS部分
1 css sprite是什么,有什么优缺点
2 display: none; 与 visibility: hidden; 的区别
3 link 与 @import 的区别
4 什么是FOUC?如何避免
5 如何创建块级格式化上下⽂(block formatting context),BFC有什么⽤
6 display、float、position的关系
7 清除浮动的⼏种⽅式,各⾃的优缺点
8 为什么要初始化CSS样式?
9 css3有哪些新特性
10 display有哪些值?说明他们的作⽤
11 介绍⼀下标准的CSS的盒⼦模型?低版本IE的盒⼦模型有什么不同
的?
12 CSS优先级算法如何计算?
13 对BFC规范的理解?
14 谈谈浮动和清除浮动
15 position的值, relative和absolute定位原点是
16 display:inline-block 什么时候不会显示间隙?(携程)
17 PNG\GIF\JPG的区别及如何选
18 ⾏内元素float:left后是否变为块级元素?
19 在⽹⻚中的应该使⽤奇数还是偶数的字体?为什么呢?
20 ::before 和 :after中双冒号和单冒号 有什么区别?解释⼀下这2个
伪元素的作⽤
21 如果需要⼿动写动画,你认为最⼩时间间隔是多久,为什么?(阿
⾥)
22 CSS合并⽅法
23 CSS不同选择器的权重(CSS层叠的规则)
24 列出你所知道可以改变⻚⾯布局的属性
25 CSS在性能优化⽅⾯的实践
26 CSS3动画(简单动画的实现,如旋转等 )
27 base64的原理及优缺点
28 ⼏种常⻅的CSS布局
29 stylus/sass/less区别
30 postcss的作⽤
31 css样式(选择器)的优先级
32 ⾃定义字体的使⽤场景
33 如何美化CheckBox
34 伪类和伪元素的区别
35 base64 的使⽤
36 ⾃适应布局
37 请⽤CSS写⼀个简单的幻灯⽚效果⻚⾯
38 什么是外边距重叠?重叠的结果是什么?
39 rgba()和opacity的透明效果有什么不同?
40 css中可以让⽂字在垂直和⽔平⽅向上重叠的两个属性是什么?
41 如何垂直居中⼀个浮动元素?
42 px和em的区别
43 Sass、LESS是什么?⼤家为什么要使⽤他们?
44 知道css有个content属性吗?有什么作⽤?有什么应⽤?
45 ⽔平居中的⽅法
46 垂直居中的⽅法
47 如何使⽤CSS实现硬件加速?
48 重绘和回流(重排)是什么,如何避免?
49 说⼀说css3的animation
50 左边宽度固定,右边⾃适应
51 两种以上⽅式实现已知或者未知宽度的垂直⽔平居中
52 如何实现⼩于12px的字体效果
三、JavaScript
1 闭包
2 说说你对作⽤域链的理解
3 JavaScript原型,原型链 ? 有什么特点?
4 请解释什么是事件代理
5 Javascript如何实现继承?
6 谈谈This对象的理解
7 事件模型
8 new操作符具体干了什么呢?
9 Ajax原理
10 如何解决跨域问题?
11 模块化开发怎么做?
12 异步加载JS的⽅式有哪些?
13 那些操作会造成内存泄漏?
14 XML和JSON的区别?
15 谈谈你对webpack的看法
16 说说你对AMD和Commonjs的理解
17 常⻅web安全及防护原理
18 ⽤过哪些设计模式?
19 为什么要有同源限制?
21 javascript有哪些⽅法定义对象
22 常见兼容性问题?
23 说说你对promise的了解
24 你觉得jQuery源码有哪些写的好的地方
25 vue、react、angular
26 Node的应用场景
27 谈谈你对AMD、CMD的理解
28 那些操作会造成内存泄漏
29 web开发中会话跟踪的⽅法有哪些
30 介绍js的基本数据类型
31 介绍js有哪些内置对象
32 说几条写JavaScript的基本规范
33 JavaScript有⼏种类型的值
34 javascript创建对象的⼏种⽅式
35 eval是做什么的
36 null,undefined 的区别
37 ["1","2","3"].map(parselnt)答案是多少
38 javascript 代码中的"use strict";是什么意思
39 JSON 的了解
40 js延迟加载的⽅式有哪些
41 同步和异步的区别
42 渐进增强和优雅降级
43 defer和async
44 说说严格模式的限制
45 attribute和property的区别是什么
46 谈谈你对ES6的理解
47 ECMAScript6 怎么写class么
48 什么是⾯向对象编程及⾯向过程编程,它们的异同和优缺点
49 ⾯向对象编程思想
50 对web标准、可⽤性、可访问性的理解
51如何通过JS判断一个数组
52 谈-谈let与var的区别
53 map与forEach的区别
54 谈一谈你理解的函数式编程
55 谈⼀谈箭头函数与普通函数的区别?
56 谈⼀谈函数中this的指向
57 异步编程的实现⽅式
58 对原⽣Javascript了解程度
59 Js动画与CSS动画区别及相应实现
60 JS 数组和对象的遍历⽅式,以及⼏种⽅式的⽐较
61 gulp是什么
62 说⼀下Vue的双向绑定数据的原理
63 事件的各个阶段
64 let var const
65 快速的让⼀个数组乱序
66 如何渲染⼏万条数据并不卡住界⾯
67 希望获取到⻚⾯中所有的checkbox怎么做?
68 怎样添加、移除、移动、复制、创建和查找节点
69 正则表达式
70 Javascript中callee和caller的作⽤?
71 window.onload和$(document).ready
72 addEventListener()和attachEvent()的区别
73 获取⻚⾯所有的checkbox
74 数组去重⽅法总结
75 (设计题)想实现⼀个对⻚⾯某个节点的拖曳?如何做?(使⽤
原⽣JS)
76 Javascript全局函数和全局变量
77 使⽤js实现⼀个持续的动画效果
78 封装⼀个函数,参数是定时器的时间,.then执⾏回调函数
79 怎么判断两个对象相等?
80 项⽬做过哪些性能优化?
81 浏览器缓存
82 WebSocket
83 尽可能多的说出你对 Electron 的理解
84 深浅拷⻉
85 防抖/节流
86 谈谈变量提升?
87 什么是单线程,和异步的关系
88 是否⽤过 jQuery 的 Deferred
89 前端⾯试之hybrid
90 前端⾯试之组件化
91 前端⾯试之MVVM浅析
92 实现效果,点击容器内的图标,图标边框变成border 1px solid
red,点击空⽩处重置
93 请简单实现双向数据绑定
94 实现Storage,使得该对象为单例,并对 mvvm localStorage 进⾏封装设置值setItem(key,value)和getItem(key)
95 说说event loop
96 说说事件流
97 为什么 canvas 的图⽚为什么过有跨域问题
98 我现在有⼀个 canvas ,上⾯随机布着⼀些⿊块,请实现⽅法,计
算canvas上有多少个⿊块
99 请⼿写实现⼀个promise
100 说说从输⼊URL到看到⻚⾯发⽣的全过程,越详细越好
101 描述⼀下 this
102 说⼀下浏览器的缓存机制
103 现在要你完成⼀个Dialog组件,说说你设计的思路?它应该有什
么功能?
104 caller 和 callee 的区别
105 ajax、axios、fetch区别
四、jQuery
1 你觉得jQuery或zepto源码有哪些写的好的地⽅
2 jQuery 的实现原理
3 jQuery.fn 的 init ⽅法返回的 this 指的是什么对象
4 jQuery.extend 与 jQuery.fn.extend 的区别
5 jQuery 的属性拷⻉(extend)的实现原理是什么,如何实现深拷贝
6 jQuery 的队列是如何实现的
7 jQuery 中的 bind(), live(), delegate(), on()的区别
8 是否知道⾃定义事件
9 jQuery 通过哪个⽅法和 Sizzle 选择器结合的
10 jQuery 中如何将数组转化为 JSON 字符串,然后再转化回来
11 jQuery ⼀个对象可以同时绑定多个事件,这是如何实现的
12 针对 jQuery 的优化⽅法
13 jQuery 的 slideUp 动画,当⿏标快速连续触发, 动画会滞后反复执
⾏,该如何处理呢
14 jQuery UI 如何⾃定义组件
15 jQuery 与 jQuery UI、jQuery Mobile 区别
16 jQuery 和 Zepto 的区别? 各⾃的使⽤场景
17 jQuery对象的特点
五、Bootstrap
1 什么是Bootstrap?以及为什么要使⽤Bootstrap?
2 使⽤Bootstrap时,要声明的⽂档类型是什么?以及为什么要这样声
明?
3 什么是Bootstrap⽹格系统
4 Bootstrap ⽹格系统(Grid System)的⼯作原理
5 对于各类尺⼨的设备,Bootstrap设置的class前缀分别是什么
6 Bootstrap ⽹格系统列与列之间的间隙宽度是多少
7 如果需要在⼀个标题的旁边创建副标题,可以怎样操作
8 ⽤Bootstrap,如何设置⽂字的对⻬方式?
9 Bootstrap如何设置响应式表格?
10 使⽤Bootstrap创建垂直表单的基本步骤?
11 使⽤Bootstrap创建⽔平表单的基本步骤?
12 使⽤Bootstrap如何创建表单控件的帮助⽂本?
13 使⽤Bootstrap激活或禁⽤按钮要如何操作?
14 Bootstrap有哪些关于的class?
15 Bootstrap中有关元素浮动及清除浮动的class?
16 除了屏幕阅读器外,其他设备上隐藏元素的class?
17 Bootstrap如何制作下拉菜单?
18 Bootstrap如何制作按钮组?以及⽔平按钮组和垂直按钮组的优先
级?
19 Bootstrap如何设置按钮的下拉菜单?
20 Bootstrap中的输⼊框组如何制作?
21 Bootstrap中的导航都有哪些?
22 Bootstrap中设置分页的class?
23 Bootstrap中显示标签的class?
24 Bootstrap中如何制作徽章?
25 Bootstrap中超⼤屏幕的作⽤是什么?
六、微信⼩程序
1 微信⼩程序有⼏个⽂件
2 微信⼩程序怎样跟事件传值
3 ⼩程序的 wxss 和 css 有哪些不⼀样的地⽅?
4 ⼩程序关联微信公众号如何确定⽤户的唯⼀性
5 微信⼩程序与vue区别
七、webpack相关
1 打包体积 优化思路
2 打包效率
3 Loader
4 说⼀下webpack的⼀些plugin,怎么使⽤webpack对项⽬进⾏优化
⼋、编程题
1 写⼀个通⽤的事件侦听器函数
2 如何判断⼀个对象是否为数组
3 冒泡排序
4 快速排序
5 编写⼀个⽅法 求⼀个字符串的字节⻓度
6 bind的⽤法,以及如何实现bind的函数和需要注意的点
7 实现⼀个函数clone
8 下⾯这个ul,如何点击每⼀列的时候alert其index
9 定义⼀个log⽅法,让它可以代理console.log的⽅法
10 输出今天的⽇期
11 ⽤js实现随机选取10–100之间的10个数字,存⼊⼀个数组,并排序
12 写⼀段JS程序提取URL中的各个GET参数
13写-个function,清除字符串前后的空格
1 谈谈你对重构的理解
2 什么样的前端代码是好的
3 对前端⼯程师这个职位是怎么样理解的?它的前景会怎么样
4 你觉得前端⼯程的价值体现在哪
5 平时如何管理你的项目
6 组件封装
⼗⼀、⼀些常⻅问题
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16232.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!