文档视界 最新最全的文档下载
当前位置:文档视界 › 前端开发面试题及答案

前端开发面试题及答案

前端开发面试题及答案

前端开发面试题及答案

想要应聘前端开发的求职者,要做好完成面试题的准备。下面是由小编分享的前端开发面试题及答案,希望对你有用。

前端开发面试题及答案

1、对Web标准以及W3C的理解与认识?

答:标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链CSS和JS脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件、容易维护、改版方便,不需要变动页面内容、提供打印版本而水需要复制内容、提高网站易用性。

2、XHTML和HTML有什么区别?

答:HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:

XHTML元素必须被正确地嵌套;

XHTML元素必须被关闭;

标签名必须用小写字母;

XHTML文档必须拥有根元素。

3、Doctype?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 答:Doctype用于声明文档使用哪种规范(HTML/XHTML)

该标签可声明三种DTD类型,分别为严格版本、过度版本以及基于框架的HTML文档。

加入XML声明可触发,解析方式更改为IE5.5拥有IE5.5的bug。

4、行内元素有哪些?块级元素有哪些?CSS的盒模型?

答:行内元素:a b br i span input select

块级元素:div p h1 h2 h3 h4 form ul

CSS盒模型:内容,border margin padding

5、CSS引入的方式有哪些?link和@import的区别是?

答:方式:内联内嵌外链导入

区别:同时加载

前者无兼容性,后者CSS2.1以下浏览器不支持

Link支持使用javascript 改变样式,后者不可。

6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?

答:标签选择符、类选择符、id选择符

继承不如指定 id>class>标签选择

后者优先级高

7、前端页面有哪三层构成,分别是什么?作用是什么?

答:结构层HTML 表示层CSS 行为层JS

8、你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么? 答:Ie(Ie内核)

火狐(Gecko)

谷歌(webkit)

opear(Presto)

9、img标签上title与 alt属性的区别是什么?

答:Alt当图片不显示时,用文字代表

Title为该属性提供信息。

10、描述CSS Reset的作用和用途

答:Reset重置浏览器的CSS默认属性浏览器的品种不同,样式不同,然后重

置,让他们统一。

11、http状态码有那些?分别代表是什么意思?

100-199 用于指定客户端应响应的某些动作。

200-299 用于表示请求成功。

300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。

400 语义有误,当前请求无法被服务器理解。

401 当前请求需要用户验证

403 服务器已经理解请求,但是拒绝执行它。

500-599 用于支持服务器错误。

503 –服务不可用

13.解释css sprites,如何使用。

Css 精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量

14.浏览器标准模式和怪异模式之间的区别是什么?

盒子模型渲染模式的不同

使用 https://www.docsj.com/doc/7819289711.html,patMode 可显示为什么模式

15.你如何对网站的文件和资源进行优化?期待的解决方案包括:

文件合并

文件最小化/文件压缩

使用CDN托管

缓存的使用

16.什么是语义化的HTML?

直观的认识标签对于搜索引擎的抓取有好处

17.清除浮动的几种方式,各自的优缺点

1.使用空标签清除浮动clear:both(理论上能清楚任何标签,增加无意义的标签)

2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)

3.是用afert伪元素清除浮动(用于非IE浏览器)

18.css hack

_marging \IE 6

+margin \IE 7

Marging:0 auto 9 所有Ie

Margin \IE 8

前端开发面试题之Javascript部分

1.javascript的.typeof返回哪些数据类型

Object number function boolean underfind

2.例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number)

隐式(== – ===)

3.split() join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

4.数组方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除

Unshift()头部添加 shift()头部删除

5.事件绑定和普通事件有什么区别

6.IE和DOM事件流的区别

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

7.IE和标准下有哪些兼容性的写法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax请求的时候get 和post方式的区别

一个在url后面一个放在虚拟载体里面

有大小限制

安全问题

应用不同一个是论坛等只需要请求的,一个是类似修改密码的

9.call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax请求时,如何解释json数据

使用eval parse 鉴于安全性考虑使用parse更靠谱

11.b继承a的方法

12.JavaScript this指针、闭包、作用域

13.事件委托是什么

让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

14.闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其他函数内部变量的函数。

15.如何阻止事件冒泡和默认事件

canceBubble return false

16.添加删除替换插入到某个接点的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

obj.removeChild

17.解释jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数

Ajax是页面无刷新请求数据操作

18.javascript的本地对象,内置对象和宿主对象

本地对象为array obj regexp等可以new实例化

内置对象为gload Math 等不可以实例化的

宿主为浏览器自带的document,window 等

19.document load 和document ready的区别

Document.onload 是在结构和样式加载完才执行js

Document.ready原生种没有这个方法,jquery中有$().ready(function)

20.”==”和“===”的不同

前者会自动转换类型

后者不会

21.javascript的同源策略

一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合

前端工程师面试题及答案

前端工程师面试题及答案 前言: 前端工程师是近年来热门的职业之一,对于公司而言,拥有一名优秀的前端工程师可以提升产品的用户体验和界面设计的质量。面试是评估候选人技能和能力的重要环节。下面是一些常见的前端工程师面试题及答案,希望对您有所帮助。 一、HTML/CSS相关问题 1. 什么是HTML?什么是CSS? HTML全称Hyper Text Markup Language,是用于创建网页的标准标记语言。 CSS全称Cascading Style Sheets,用于描述网页元素样式的语言。 2. HTML5有什么新特性? HTML5引入了许多新的元素和API,如语义化标签、本地存储、多媒体元素、Canvas绘图等。 3. 解释下Box模型。 Box模型是指网页中的每个元素都可以看作是一个盒子,包括内容区域、填充区域、边框和外边距。 4. 请简述flex布局。

Flex布局(Flexible Box Layout)是CSS3新增的一种布局模式,可 以轻松实现灵活的盒子布局。 5. 解释下CSS选择器及其优先级。 CSS选择器用于选择要样式化的HTML元素。优先级是指当多个选择器同时作用于同一个元素时,浏览器根据一定规则来确定使用哪个 样式。 二、JavaScript相关问题 1. JavaScript是一种编程语言还是脚本语言? JavaScript是一种弱类型、解释性的脚本语言。 2. 解释下变量的作用域。 变量的作用域指的是变量的可访问范围,分为全局作用域和局部作 用域。 3. 请解释下什么是闭包。 闭包是指在一个函数内部定义的函数,并且可以访问父函数的变量。闭包可以保护变量不受外部的干扰。 4. 解释一下事件冒泡和事件捕获。 事件冒泡是指事件触发后,先执行最内层元素的事件处理程序,然 后逐级向外执行,直至触发最外层元素的事件处理程序。

2022年前端面试题含答案精华版

前端面试题 1)下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度 a.display:inline b.display:none c.display:block d.display:inherit 2)新窗口打开网页,用到如下哪个值()。 a._self b._blank c. _top d. _parent 3)下面有关jquery事件旳响应,描述错误旳是? a.onclick 鼠标点击某个对象 b.onfocus 元素失去焦点 c.onload 是某个页面旳css js html 文档构造和图像被完毕加载 d.onmousedown 某个鼠标按键被按下 4)元素旳alt和title有什么异同,选出对旳旳说法?不同旳浏览器,体现同样 a.alt和title同步设立旳时候,alt作为图片旳替代文字浮现,title是图片旳解释文字 b.alt和title同步设立旳时候,title作为图片旳替代文字浮现,alt是图片旳解释文字

c.以上说法都不对旳 5)下列js可以让一种input旳背景颜色变成红色旳是? 6)下面有关html5标签说法错误旳有? a.

标签定义菜单列表。当但愿列出表单控件时使用该标签 d. 标签定义命令按钮,例如单选按钮、复选框或按钮 7)下述有关css属性position旳属性值旳描述,说法错误旳是? a.static:没有定位,元素出目前正常旳流中 b.fixed:生成绝对定位旳元素,相对于父元素进行定位 c.relative:生成相对定位旳元素,相对于元素自身正常位置进行定位。 d.absolute:生成绝对定位旳元素,相对于 static 定位以外旳第一种祖先元素进行定位。 8)下面符合一种有效旳javascript变量定义规则旳是? a._$te$t2 b.with c. a bc d.2a 9)下面有关JavaScript中 call和apply旳描述,错误旳是?

前端工程师面试题题及答案(全面综合)

1。要动态改变层中内容可以使用的方法有(AB ) a)innerHTML b)innerText c)通过设置层的隐藏和显示来实现 d)通过设置层的样式属性的display属性 2。在javascript里,下列选项中不属于数组方法的是(B);a)sort() b)length() c)concat() d)reverse() 3 、var emp = new Array(3); for(var i in emp) 以下答案中能与for循环代码互换的是:(选择一项)。(D ) A for(var i =0;i〈emp; i++) B for(var i =0; i〈Array(3); i++) C for(var i =0;i〈emp.length();i++) D for(var i =0; i〈emp。length; i++) 4 下列声明数组的语句中,错误的选项是(C )。 a)Var arry= new Array() b)Var arry=new Array(3) c)Var arry[]=new Array(3)(4) d)Var arry=new Array(‘3',’4’) 5. 下列哪一个选项不属于document对象的方法?(D ) a)focus() b)getElementById() c)getElementsByName() d)bgColor() 6. 、display属性值的常用取值不包括(C ) a)inline b)block c)hidden d)none 7. 以下有关pixelTop属性与top属性的说法正确的是。(D )a)都是Location对象的属性 b)使用时返回值都是字符串 c)都是返回以像素为单位的数值

前端面试题及答案

前端面试题及答案 在前端领域中,面试是获取工作机会的重要环节。为了帮助准备前端面试的候选人们,本文将提供一些常见的前端面试题及其答案,以供参考。 一、HTML相关面试题 1. 请简述HTML的概念和作用。 HTML是超文本标记语言的缩写,用于构建网页的标准标记语言。它通过标签来定义页面的结构和内容,并与CSS和JavaScript等其他技术协同工作,实现页面的渲染和交互。 2. 请解释一下HTML5的新特性。 HTML5引入了许多新特性,例如语义化标签(如header、footer、nav等)、视频和音频元素、Canvas绘图功能、本地存储(localStorage 和sessionStorage)、WebSocket等。这些特性提升了网页的功能和性能,使开发者能够更好地构建富交互、多媒体的网页应用。 3. 请描述一下HTML元素的块级元素和内联元素的区别。 块级元素会独占一行,相邻的两个块级元素会自动换行。常见的块级元素有div、p、h1等。而内联元素不会换行,会在一行内按照从左到右的顺序排列。常见的内联元素有span、a、em等。此外,块级元素可以包含内联元素,但是内联元素不能包含块级元素。 二、CSS相关面试题

1. 请解释一下盒模型。 盒模型描述了一个HTML元素所占空间的模型。它由内容区、内边距、边框和外边距组成。其中,内容区的大小由width和height属性决定,内边距由padding属性决定,边框由border属性决定,外边距由margin属性决定。 2. 如何实现水平居中一个块级元素? 要实现水平居中一个块级元素,可以设置其左右外边距为auto,同时将其display属性设置为block。例如,假设元素的宽度为300px,可以使用如下CSS代码: ```css .element { width: 300px; margin-left: auto; margin-right: auto; display: block; } ``` 3. 请解释一下CSS选择器的优先级。 CSS选择器的优先级用于确定当多个选择器作用于同一个元素时,哪一个选择器的样式将被应用。选择器的优先级由四个部分组成,按

前端高级面试题

前端高级面试题 前言:面试是求职过程中非常重要的一环,特别是在技术领域。对于前端开发岗位来说,面试官通常会提问一些高级的技术问题,以评估应聘者的技能水平和解决问题的能力。本文将介绍一些常见的前端高级面试题,并提供详细的答案和解析,帮助读者更好地准备前端高级面试。 一、HTML/CSS 1. 请解释什么是盒模型,以及盒模型分为哪几个部分? 答:盒模型是指在Web页面布局中,每个元素都被看作是一个矩形的盒子,该盒子有四个部分组成:content(内容区域)、padding(内边距)、border(边框)和margin(外边距)。 2. 请解释什么是响应式设计? 答:响应式设计是一种网页设计方法,旨在使网站能够自动适应不同设备的屏幕大小和分辨率,包括电脑、平板和手机等。通过使用媒体查询和弹性布局等技术,实现页面元素的自适应和优化,以提供更好的用户体验。 二、JavaScript 1. 什么是闭包?请举例说明闭包的用途。

答:闭包是指函数能够访问和操作其外部环境中的变量,即使在函数外部已经执行完毕。闭包的一个常见用途是创建私有变量,防止变量被外部访问和修改。 示例: ``` function outerFunction() { var privateVariable = 10; function innerFunction() { console.log(privateVariable); } return innerFunction; } var closure = outerFunction(); closure(); // 输出: 10 ``` 2. 请解释什么是异步编程,以及常见的异步编程方式有哪些? 答:异步编程是指在执行过程中不等待某个操作完成,而是通过使用回调函数、Promise、async/await等方式,来处理需要较长时间完成的操作,以保持程序的响应性和性能。

前端工程师面试题题及答案(全面综合)

1. 要动态改变层中内容可以使用的方法有(AB ) a)innerHTML b)innerText c)通过设置层的隐藏和显示来实现 d)通过设置层的样式属性的display属性 2. 在javascript里,下列选项中不属于数组方法的是(B); a)sort() b)length() c)concat() d)reverse() 3 、var emp = new Array(3); for(var i in emp) 以下答案中能与for循环代码互换的是: (选择一项)。(D ) A for(var i =0; i

c)getElementsByName() d)bgColor() 6. 、display属性值的常用取值不包括(C ) a)inline b)block c)hidden d)none 7. 以下有关pixelTop属性与top属性的说法正确的是。(D ) a)都是Location对象的属性 b)使用时返回值都是字符串 c)都是返回以像素为单位的数值 d)以上都不对 8. 使用open方法打开具有浏览器工具条,地址栏,菜单栏的窗 口,下列选项正确的是__D__ a)open("x.html","HI","toolbas=1,scrollbars=1,status=1"); b)open("HI","scrollbars=1,location=1,status=1"); c)open("x.html","status=yes,menubar=1,location=1"); d)open("x.html","HI","toolbas=yes,menubar=1,location=1"); 9. 、javascript中表达式parseInt(“X8X8”)+paseFloat(‘8’)的结果是什么?( C) a)8+8 b)88 c)16 d)“8”+’8 10. 关于setTimeout(“check”,10)中说法正确的是( D)

游戏前端开发工程师岗位面试题及答案(经典版)

游戏前端开发工程师岗位面试题及答案 1.介绍一下你的前端开发经验。 答:我在前端开发领域拥有X年的经验,曾参与开发多个游戏项目。例如,在项目A中,我负责设计和实现了游戏的用户界面,运用了HTML、CSS和JavaScript,以及React框架来创建交互式界面。 2.请解释下什么是响应式设计,并举例说明其在游戏前端中的应用。 答:响应式设计是指设计和开发能够在不同设备上自适应显示的网页或应用。在游戏前端中,响应式设计可以确保游戏在各种屏幕尺寸上都能保持良好的用户体验,如在平板、手机和桌面上都能流畅运行。 3.请谈谈前端性能优化的策略,以及你在项目中是如何应用的。答:前端性能优化涉及减少加载时间、提高渲染速度等方面。我会合并和压缩文件、使用懒加载技术以及优化图片等。在项目B 中,我通过使用Webpack打包工具来合并文件、使用CDN加速资源加载,以及使用懒加载技术来优化页面性能。 4.解释一下浏览器的同源策略,以及如何解决跨域问题。 答:同源策略是浏览器的安全机制,防止不同源的网站之间访问彼此的数据。跨域问题可以通过使用JSONP、CORS(跨源资源共享)设置服务器响应头、代理服务器等方式来解决。 5.你如何进行组件化开发,并说明其在游戏前端中的好处。

答:组件化开发是将界面拆分为多个独立、可复用的组件进行开发。在游戏前端中,这可以提高代码的可维护性和复用性,例如,一个游戏按钮可以作为一个独立的组件,以后在多个地方重复使用。 6.请解释下虚拟DOM的工作原理及其在React中的应用。 答:虚拟DOM是一种内存中的表示,它反映了实际DOM的状态。在React中,当数据发生变化时,虚拟DOM会与之前的虚拟DOM进行比较,找出差异,然后只更新需要变化的部分,这样可以减少对实际DOM的操作,提升性能。 7.如何处理移动端的触摸事件,以及你在处理触摸事件时的经验。答:在移动端,可以使用TouchAPI来处理触摸事件,如touchstart、touchmove和touchend等。我在项目中曾为移动端游戏实现了触摸控制,确保玩家可以流畅地操作角色移动、攻击等动作。8.请讲解下动画在游戏前端中的作用,并提供一个动画优化的实际案例。 答:动画可以增强游戏的视觉吸引力,提升用户体验。例如,在一款RPG游戏中,我使用CSS动画和缓动函数来实现角色行走的平滑移动,以及技能释放时的华丽效果,从而使玩家感受到更加流畅和生动的游戏世界。 9.你如何进行游戏界面的国际化处理?请提供一个具体的案例。

前端开发面试题及答案

前端开发面试题及答案 前端开发面试题及答案 想要应聘前端开发的求职者,要做好完成面试题的准备。下面是由小编分享的前端开发面试题及答案,希望对你有用。 前端开发面试题及答案 1、对Web标准以及W3C的理解与认识? 答:标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链CSS和JS脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件、容易维护、改版方便,不需要变动页面内容、提供打印版本而水需要复制内容、提高网站易用性。 2、XHTML和HTML有什么区别? 答:HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同: XHTML元素必须被正确地嵌套; XHTML元素必须被关闭; 标签名必须用小写字母; XHTML文档必须拥有根元素。 3、Doctype?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 答:Doctype用于声明文档使用哪种规范(HTML/XHTML) 该标签可声明三种DTD类型,分别为严格版本、过度版本以及基于框架的HTML文档。 加入XML声明可触发,解析方式更改为IE5.5拥有IE5.5的bug。 4、行内元素有哪些?块级元素有哪些?CSS的盒模型? 答:行内元素:a b br i span input select 块级元素:div p h1 h2 h3 h4 form ul CSS盒模型:内容,border margin padding 5、CSS引入的方式有哪些?link和@import的区别是?

答:方式:内联内嵌外链导入 区别:同时加载 前者无兼容性,后者CSS2.1以下浏览器不支持 Link支持使用javascript 改变样式,后者不可。 6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高? 答:标签选择符、类选择符、id选择符 继承不如指定 id>class>标签选择 后者优先级高 7、前端页面有哪三层构成,分别是什么?作用是什么? 答:结构层HTML 表示层CSS 行为层JS 8、你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么? 答:Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto) 9、img标签上title与 alt属性的区别是什么? 答:Alt当图片不显示时,用文字代表 Title为该属性提供信息。 10、描述CSS Reset的作用和用途 答:Reset重置浏览器的CSS默认属性浏览器的品种不同,样式不同,然后重 置,让他们统一。 11、http状态码有那些?分别代表是什么意思? 100-199 用于指定客户端应响应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证

前端工程师面试题和答案

前端工程师面试题和答案 1、在 css 选择器当中,优先级排序正确的是() [单选题] * A、id选择器>标签选择器>类选择器 B、标签选择器>类选择器>id选择器 C、类选择器>标签选择器>id选择器 D、id选择器>类选择器>标签选择器(正确答案) 2、下列定义的 css 中,哪个权重是最低的?() [单选题] * A、#game .name B、#game .name span C、#game div(正确答案) D、#game https://www.docsj.com/doc/7819289711.html, 3、关于HTML语义化,以下哪个说法是正确的?() [单选题] * A、语义化的HTML有利于机器的阅读,如PDA手持设备、搜索引擎爬虫;但不利于人的阅读 B、Table 属于过时的标签,遇到数据列表时,需尽量使用 div 来模拟表格 C、语义化是HTML5带来的新概念,此前版本的HTML无法做到语义化 D、header、article、address都属于语义化明确的标签(正确答案) 4、放在HTML里的哪一部分JavaScripts会在页面加载的时候被执行?()[单选题] * A、文件头部位置

C、标签部分 D、标签部分(正确答案) 5、新窗口打开网页,用到以下哪个值() [单选题] * A、_self B、_blank(正确答案) C、_top D、_parent 6、下列关于web页面级优化描述最正确的是() [单选题] * A、减少HTTP请求的次数 B、进行资源合拼和压缩 C、Inline images D、将外部脚本置于低端 E、减少不必要的HTTP跳转 F、以上描述都对(正确答案) 7、下列哪个不属于id与class之间的区别() [单选题] * A、id在文档中只能使用一次,而class可以多次使用 B、id比class具有更高的样式优先级 C、一个元素只能有一个id属性值,却可以拥有多个class属性值 D、在class中可以定义:hover伪类,在id中不能定义(正确答案) 8、JavaScript中window对象的子对象不包含以下哪个对象?() [单选题] *

初级前端面试题

初级前端面试题 前端开发岗位是当前互联网行业中需求量比较大的一个职位,随着 互联网行业的迅速发展,对前端开发人员的需求也越来越高。为了选 拔适合的候选人,面试人员常常会给面试者一些初级前端面试题。以 下是一些常见的初级前端面试题及其答案,供大家参考。 1. 请解释什么是HTML。 HTML(HyperText Markup Language)是一种用于创建网页的标准 标记语言。它由一系列的标签构成,每个标签代表网页中的一个元素,如标题、段落、链接等。HTML被用来结构化信息,并为信息添加一 些语义,使得浏览器能够正确地显示和解释网页内容。 2. 请解释什么是CSS。 CSS(Cascading Style Sheets)是一种用于控制网页样式的语言。通 过CSS,我们可以控制网页中各个元素的外观、布局和排版。CSS通 过选择器来选取HTML中的元素,并为其应用样式规则,从而改变其 呈现方式。 3. 请解释什么是JavaScript。 JavaScript是一种基于对象和事件驱动的脚本语言,常用于为网页 添加动态和交互特效。与HTML和CSS不同,JavaScript是一种编程 语言,具有更强大的功能。它可以操作网页的各个元素、处理用户输入、与服务器进行交互等。

4. 请解释什么是响应式设计(Responsive Design)。 响应式设计是一种设计理念,旨在使网页能够根据用户的设备和屏幕大小来自适应地调整布局和样式。通过使用CSS3的媒体查询和弹性网格布局等技术,响应式设计可以使网页在不同的设备上都能够以最佳的方式呈现,并提供更好的用户体验。 5. 请解释什么是跨域(Cross-Origin)。 跨域指的是在浏览器中,当一个网页的代码试图向另一个网域(域名/端口/协议)发送请求的时候,由于浏览器的同源策略限制,请求会被阻止。跨域是为了防止恶意的网页获取其他网站的信息。可以通过使用JSONP、CORS等技术来解决跨域问题。 6. 请解释什么是事件委托(Event Delegation)。 事件委托是一种利用事件冒泡原理的技术,可以将事件的处理程序绑定到某个父元素上,从而减少事件处理程序的数量,并且能够动态地处理后续添加的子元素。通过事件委托,可以提高性能,减少内存占用,并且能够简化代码逻辑。 7. 请解释什么是闭包(Closure)。 闭包是指有权访问另一个函数作用域中的变量的函数。在JavaScript中,函数可以作为返回值被返回,同时还保留对其词法环境的引用,形成了闭包。闭包不仅可以访问外部函数中的变量,还可以访问外部函数调用时的参数和局部变量。 8. 请解释什么是AJAX。

前端面试题及答案2020

web前端面试试题(含答案) 一、先自我介绍一下,说一下项目的技术栈,以及项目中遇到的一些问题 二、从整体中,看你对项目的认识,框架的认识和自己思考。 三、项目中有没有遇到什么难点,怎么解决。 四、如果你在创业公司你怎么从0开始做(选择什么框架,选择什么构建工具)。 五、说一下你项目中用到的技术栈,以及觉得得意和出色的点,以及让你头疼的点,怎么解决的。 六、一个业务场景,面对产品不断迭代,以及需求的变动该怎么应对,具体技术方案实现。 七、你的学习来源是什么。 八、你觉得哪个框架比较好,好在哪里。 九、你觉得最难得技术难点是什么。 十、你见过的最好的代码是什么 十一、网站性能优化 1. http 请求方面,减少请求数量,请求体积,对应的做法是,对项目资源进行压缩,控制项目资源的dns 解析在2到4个域名,提取公告的样式,公共的组件,雪碧图,缓存资源, 2. 压缩资源,提取公共资源压缩,提取css ,js 公共方法 3. 不要缩放图片,使用雪碧图,使用字体图表(阿里矢量图库) 4. 使用CDN,抛开无用的cookie 5. 减少重绘重排,CSS属性读写分离,最好不要用js 修改样式,dom 离线更

新,渲染前指定图片的大小 6. js 代码层面的优化,减少对字符串的计算,合理使用闭包,首屏的js 资源加载放在最底部 十二、js 自定义事件实现 1. 原生提供了3个方法实现自定义事件 2. createEvent,设置事件类型,是html 事件还是鼠标事件 3. initEvent 初始化事件,事件名称,是否允许冒泡,是否阻止自定义事件 4. dispatchEvent 触发事件 十三、angular 双向数据绑定与vue数据的双向数据绑定 1. 二者都是MVVM 模式开发的典型代表 2. angular 是通过脏检测实现,angular 会将UI 事件,请求事件,settimeout 这类延迟,的对象放入到事件监测的脏队列,当数据变化的时候,触发$diget 方法进行数据的更新,视图的渲染 3. vue 通过数据属性的数据劫持和发布订阅的模式实现,大致可以理解成由3个模块组成,observer 完成对数据的劫持,compile 完成对模板片段的渲染,watcher 作为桥梁连接二者,订阅数据变化及更新视图 十四、get与post 通讯的区别 1. Get 请求能缓存,Post 不能 2. Post 相对Get 安全一点点,因为Get 请求都包含在URL 里,且会被浏览器保存历史纪录,Post 不会,但是在抓包的情况下都是一样的. 3. Post 可以通过request body来传输比Get 更多的数据,Get 没有这个技术

前端开发面试题及答案

前端开发面试题及答案 1. 什么是前端开发? 答:前端开发是一门技术,其主要目的是使用 HTML,CSS 和 JavaScript 来创建动态网页,视图和用户界面。 2. 如何使用CSS制作一个圆角边框? 答:使用 CSS 的 border-radius 属性可以制作圆角边框,如:border-radius: 10px; 3. 请描述流式布局的概念。 答:流式布局是一种网页布局技术,它可以根据浏览器窗口大小自动调整页面中元素的位置和大小。 4. 请描述XML及其用途。 答:XML(可扩展标记语言)是一种标记语言,可以用来存储和传输数据,也用于创建 web 应用。 5. 什么是AJAX? 答:AJAX 是 Asynchronous JavaScript and XML 的缩写,它是一种用于创建异步 Web 应用的技术,可以在不重新加载整个页面的情况下更新网页的部分内容。 6. 什么是JSON? 答:JSON 是 JavaScript 对象表示法的缩写,是一种轻量级的数据交换格式,用于在应用程序之间进行数据交换和存储。 7. 什么是CDN?

答:CDN 是内容分发网络的缩写,是一种分散式网络技术,用于将静态资源(如 JavaScript 和 CSS 文件)分发到多个服务器上,以提供更快的网页加载速度。 8. 请描述Web存储的概念。 答:Web 存储提供了一种方式,可以在网站上存储数据,并在下次用户访问中访问这些数据。使用 web 存储,可以为用户提供更好的体验和功能,因为它可以更快地加载页面和保存状态信息。 9. 请描述HTML5的新特性。 答:HTML5 包含许多新特性,包括新的元素(如