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,清除字符串前后的空格

14 实现每隔⼀秒钟输出1,2,3...数字

15 实现⼀个函数,判断输⼊是不是回⽂字符串

16、数组扁平化处理

九、其他

1 负载均衡

2 CDN

3 内存泄漏

4 babel原理

5 js⾃定义事件

6 前后端路由差别

⼗、综合

1 谈谈你对重构的理解

2 什么样的前端代码是好的

3 对前端⼯程师这个职位是怎么样理解的?它的前景会怎么样

4 你觉得前端⼯程的价值体现在哪

5 平时如何管理你的项目

6 组件封装

⼗⼀、⼀些常⻅问题

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
验证码是为了保证用户是真实有效的,并且可以防止恶意攻击等不良行为而设计的一种验证手段。在Java中,我们可以使用一些常用的验证码生成算法来实现验证码的生成。 一种常见的验证码生成算法是使用随机数结合字体、颜色和线条等图形效果生成验证码图片。首先,我们可以创建一个指定长度的随机字符串,该字符串由数字和字母等组成。然后,我们使用Java的Graphics2D类创建一个空白的验证码图片,并设置好图片的尺寸和背景颜色。接下来,我们可以选择一个字体和颜色,并将随机字符串按照指定的字体和颜色画在图片上。同时,我们还可以在图片上添加一些干扰线条,以增加验证码的复杂度和可读性。最后,我们将生成的验证码图片返回或输出到前端供用户验证。 另一种常用的验证码生成算法是使用数学运算来生成验证码。例如,我们可以生成一个简单的数学算式,如两个数字的加法或乘法,并将结果作为验证码。用户需要计算该算式的结果,并在表单中填写正确的答案才能通过验证。 除了以上提到的常用算法,还有很多其他的验证码生成算法,如基于滑块验证、拼图验证、语音验证码等等。根据实际需求,我们可以选择合适的算法来生成验证码。 综上所述,Java中的验证码生成算法可以通过随机数和图形效果或数学运算的方式来生成验证码,以提高系统的安全性和用户验证的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值