前端笔试面试题目总结
前端开发面试笔试题目
前端开发面试笔试题目前端开发面试和笔试题目可以涵盖多个领域,包括HTML、CSS、JavaScript、性能优化、框架和库、移动端开发等。
以下是一些可能的问题:一、基础问题1. 请解释一下什么是前端开发,并描述一下你的前端开发经验。
2. HTML、CSS 和JavaScript 的基础知识是什么?请谈谈你对它们的理解。
3. 什么是语义化 HTML,它的重要性是什么?4. CSS 盒模型是什么,以及如何使用它?5. 请解释一下 CSS 选择器的工作原理,并谈谈你使用过哪些选择器。
6. 你如何理解 CSS 优先级,以及你是如何处理它的?7. 请解释一下什么是 CSS 动画和转换,以及如何实现它们?8. JavaScript 中的事件循环是什么,以及它是如何工作的?9. 请解释一下什么是原型链,以及它是如何工作的?10. 请解释一下什么是闭包,以及它的用途是什么?二、性能优化1. 如何优化网页的加载速度,提高用户体验?2. 请解释一下什么是 CDN,以及它是如何工作的?3. 你如何理解 HTTP/2,以及它与 HTTP/ 的区别是什么?4. 请解释一下什么是 Gzip 压缩,以及它是如何工作的?5. 你如何理解域名预取(DNS 预取)和浏览器预取?6. 请解释一下什么是懒加载,以及它是如何工作的?7. 你如何理解 HTTP/2 的多路复用,以及它的重要性是什么?8. 你如何处理网页的资源优化,以提高性能?三、框架和库1. 你对 React 有多少了解,以及你使用过它的哪些功能?2. 你对 Vue 有多少了解,以及你使用过它的哪些功能?3. 你对 Angular 有多少了解,以及你使用过它的哪些功能?4. 请解释一下什么是 Redux,以及它是如何工作的?5. 请解释一下什么是 React Hooks,以及你使用过哪些 Hooks?6. 你对 webpack 有多少了解,以及你如何配置 webpack?7. 你对 Babel 有多少了解,以及你如何配置 Babel?8. 你对 ES6 有多少了解,以及你使用过它的哪些新特性?9. 你对 TypeScript 有多少了解,以及你使用过它的哪些功能?10. 你对模块打包工具有哪些了解,以及你使用过哪些工具?。
前端面试题八股文
前端面试题八股文总结前端面试八股文是指在面试过程中经常被问到的问题,大多都有固定化、格式化的答案。
可以认为是“送分题”,前提是花时间背下来。
下面总结了一些经典的面试八股文。
HTML + CSS1.讲一下盒模型,普通盒模型和怪异盒模型有什么区别?2.块元素和行内元素区别是什么?常见块元素和行内元素有哪些?3.HTML语义化标签有哪些?4.伪类和伪元素的区别是什么?5.CSS如何实现垂直居中?6.CSS常见的选择器有哪些?7.CSS的优先级如何计算?8.长度单位px、em和rem的区别是什么?9.讲一下flex弹性盒布局?10.浮动塌陷问题解决方法是什么?11.position属性的值有哪些?各个值是什么含义?12.BFC、IFC是什么?JavaScript1.谈谈对原型链的理解。
2.js如何实现继承?3.js有哪些数据类型?4.js有哪些判断类型的方法?5.如何判断一个变量是否数组?6.Null 和 undefined 的区别?、7.call bind apply的区别?8.防抖节流的概念?实现防抖和节流。
9.深拷贝、浅拷贝的区别?如何实现深拷贝和浅拷贝?10.对比一下var、const、let。
11.ES next新特性有哪些?12.箭头函数和普通函数区别是什么?13.使用new创建对象的过程是什么样的?14.this指向系列问题。
15.手写bind方法。
16.谈谈对闭包的理解?什么是闭包?闭包有哪些应用场景?闭包有什么缺点?如何避免闭包?17.谈谈对js事件循环的理解?18.谈谈对promise理解?19.手写 Promise。
20.实现 Promise.all方法。
21.Typescript中type和interface的区别是什么?22.讲讲Typescript中的泛型?23.Typescript如何实现一个函数的重载?24.CmmonJS和ESM区别?25.柯里化是什么?有什么用?怎么实现?26.讲讲js垃圾回收机制。
前端开发工程师面试题及答案
前端开发工程师面试题及答案在前端开发领域,面试是选拔优秀人才的重要环节。
以下是一些常见的前端开发工程师面试题以及对应的参考答案。
一、HTML 和 CSS 相关问题1、解释一下盒模型以及它在布局中的作用。
答案:盒模型是 CSS 中用于布局的基本概念,它由内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。
在布局中,理解盒模型对于准确计算元素的尺寸和间距非常重要,能够帮助我们实现各种复杂的页面布局。
2、如何实现一个两栏布局,左边固定宽度,右边自适应?答案:可以使用多种方法实现。
一种常见的方式是使用浮动(float),将左边栏设置为固定宽度并向左浮动,右边栏不浮动,并设置其左边的外边距(marginleft)为左边栏的宽度。
也可以使用 flex 布局,将父容器设置为 display: flex; ,左边栏设置固定宽度,右边栏设置flex: 1; 以实现自适应。
3、说一说 CSS 选择器的种类和优先级。
答案:CSS 选择器包括元素选择器、类选择器、id 选择器、属性选择器、伪类选择器、伪元素选择器等。
选择器的优先级从高到低依次为:内联样式(通过 style 属性设置)> id 选择器>类选择器、属性选择器、伪类选择器>元素选择器、伪元素选择器。
二、JavaScript 相关问题1、谈谈你对 JavaScript 中作用域和闭包的理解。
答案:作用域决定了变量的可见性和可访问性。
在 JavaScript 中有全局作用域和函数作用域。
闭包是指有权访问另一个函数作用域中的变量的函数。
闭包可以让函数记住其创建时的环境,即使外部函数已经执行完毕,闭包仍能访问外部函数中的变量。
2、如何实现 JavaScript 的继承?答案:常见的实现方式有原型链继承、借用构造函数继承、组合继承、寄生组合继承等。
原型链继承通过将子类型的原型指向父类型的实例来实现继承;借用构造函数继承通过在子类型的构造函数中调用父类型的构造函数来继承属性;组合继承结合了原型链继承和借用构造函数继承的优点;寄生组合继承是一种优化的组合继承方式,避免了不必要的父类实例属性的重复创建。
前端面试题及答案
前端面试题及答案在前端领域中,面试是获取工作机会的重要环节。
为了帮助准备前端面试的候选人们,本文将提供一些常见的前端面试题及其答案,以供参考。
一、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选择器的优先级。
web前端开发面试题及答案
web前端开发面试题及答案Web前端开发是互联网行业中一个非常热门的领域,涉及到网页设计、开发和用户体验等多个方面。
在面试过程中,面试官通常会提出一系列问题来评估应聘者的专业知识和技能。
以下是一些常见的Web前端开发面试题及答案:1. HTML相关问题- 问:HTML5有哪些新特性?- 答:HTML5引入了新的语义元素如`<header>`, `<footer>`,`<article>`, `<section>`等,增强了表单控件,如`<inputtype="date">`,`<input type="range">`等,支持多媒体内容,如`<video>`和`<audio>`,以及提供了绘图功能`<canvas>`。
2. CSS相关问题- 问:CSS选择器有哪些类型?- 答:CSS选择器主要有以下几种类型:元素选择器、类选择器(如`.class`)、ID选择器(如`#id`)、属性选择器(如`[type="text"]`)、伪类选择器(如`:hover`, `:first-child`)和伪元素选择器(如`::before`, `::after`)。
3. JavaScript相关问题- 问:JavaScript中的闭包是什么?- 答:闭包是指一个函数能够记住并访问其创建时的环境,即使该环境的外部上下文已经执行完毕。
闭包通常用于创建私有变量和方法,或者在回调函数中使用外部变量。
4. 响应式设计相关问题- 问:如何实现响应式网页设计?- 答:实现响应式网页设计主要依赖于CSS媒体查询(Media Queries),通过不同的屏幕尺寸和设备特性来应用不同的样式规则。
同时,使用流体布局(使用百分比而非固定像素)和可伸缩的图片和媒体元素也是关键。
前端面试题笔试考题和答案
前端⾯试题笔试考题和答案⼀、选择题 1.下⾯标签嵌套正确的是(D)A. <ul><p>赶集⽹</p></ul>B. <a href="#"><a href="#">赶集⽹</a></a>C. <dl><li>赶集⽹</li></dl>D. <ol><li>赶集⽹</li></ol>2. 在HTML中,(c)可以在⽹页上通过链接直接打开邮件客户端发送邮件。
A.<a href=”telnet:zhou@”>发送邮件</a>B. <a href=”mail:zhou@”>发送邮件</a>C. <a href=”mailto:zhou@”>发送邮件</a>D. <a href=”ftp:zhou@”>发送邮件3. 请选出所有的置换元素(abcd)(多选)A. imgB. inputC. textareaD. select4.下⾯哪条声明能固定背景图⽚(A)A. background-attachment:fixed;B. background-attachment:scroll;C. background-origin: initial;D. background-clip: initial;5.下列说法正确的是(AB)(多选)A.display: none;不为被隐藏的对象保留其物理空间;B.visibility:hidden;所占据的空间位置仍然存在,仅为视觉上的完全透明;C.visibility:hidden;产⽣reflow和repaint(回流与重绘);D.visibility:hidden;与display: none;两者没有本质上的区别;6.以下关于盒⼦模型描述正确的是(ab)A.标准盒⼦模型中:盒⼦的总宽度=左右margin + 左右border + 左右padding + widthB.IE盒⼦模型中:盒⼦总宽度=左右margin + 左右border + widthC.标准盒⼦模型中:盒⼦的总宽度=左右margin 详细的介绍:⽹页中的盒⼦模型;我们常常要控制盒⼦模型的宽度width:w3c中的盒⼦模型的宽:包括margin+border+padding+width;width:margin*2+border*2+padding*2+width;height:margin*2+border*2+padding*2+height;iE中的盒⼦模型的width:也包括margin+border+padding+width;上⾯的两个宽度相加的属性是⼀样的。
最新前端开发面试题及答案
最新前端开发面试题及答案1. 什么是前端开发?答案:前端开发是指使用HTML、CSS和JavaScript等技术构建网站或Web应用程序的用户界面的过程。
2. 解释一下什么是响应式网页设计?答案:响应式网页设计是一种使网站能够适应不同屏幕尺寸和设备的技术,确保用户在任何设备上都能获得良好的浏览体验。
3. 请简述HTML5的新特性。
答案:HTML5引入了新的语义标签,如`<header>`、`<footer>`、`<article>`等,增强了Web应用的功能,如`<canvas>`用于绘图,`<video>`和`<audio>`用于媒体播放,以及对本地存储的支持等。
4. CSS3相比CSS2有哪些改进?答案:CSS3在CSS2的基础上增加了多种新特性,如圆角(border-radius)、阴影(box-shadow)、渐变(gradients)、转换(transforms)和动画(animations)等。
5. JavaScript中的闭包是什么?答案:闭包是指有权访问另一个函数作用域中的变量的函数,即使在创建该函数的作用域之外,这些变量也会被保留在内存中。
6. 请解释同步和异步编程的区别。
答案:同步编程是指代码按照顺序执行,一个任务完成后才执行下一个任务。
异步编程允许程序在等待某个任务完成时继续执行其他任务,通常通过回调函数、Promise或async/await来实现。
7. 什么是跨域请求(CORS)?答案:跨域请求(CORS)是指浏览器在发起一个HTTP请求时,请求的域名与当前网页的域名不同,浏览器出于安全考虑,会限制这种跨域请求。
8. 请描述一下事件冒泡和事件捕获。
答案:事件冒泡是指当一个元素触发事件时,该事件会从事件源元素开始,逐级向上传播到文档的根元素。
事件捕获则是事件从根元素开始,向下传播到目标元素。
9. 什么是单页应用(SPA)?答案:单页应用(SPA)是一种Web应用或网站,它通过动态重写当前页面来与用户交互,避免了从服务器重新加载整个新页面的过程。
web前端面试题总结(包括京东、科大讯飞、软通动力一些公司)
web前端⾯试题总结(包括京东、科⼤讯飞、软通动⼒⼀些公司)前端⾯试总结(红⾊题为必考,其他为常考)⼀、关于css⾯试题 1、css垂直居中的集中⽅式? html结构如下:<div class="box"><div>垂直居中</div></div> ⽅法1:display:flex.box{display: flex;justify-content:center;align-items:Center;} ⽅法2:绝对定位和负边距 .box{position:relative;} .box div{position: absolute; width:100px; height: 50px; top:50%; left:50%; margin-left:-50px; margin-top:-25px; text-align: center; } ⽅法3:translate.box{position:relative;}.box childdiv{position: absolute;top:50%;left:50%;width:100%;transform:translate(-50%,-50%);text-align: center;} ⽅法4:table-cell.box{ display: table-cell;vertical-align: middle;text-align: center;} ⽅法5:偏移量0+margin:auto.wrap{positon:relative;}.center{positon:absolute;top:0;bottom:0;left:0;right:0;margin:auto;}2、对于移动端的布局⽅式? 答:1.【采⽤display:flex布局兼容ie10+(推荐地址)】 2.采⽤百分⽐布局; 3.采⽤rem、em、或者vh vw来写宽⾼布局3、对于移动端使⽤rem,em、px、vw/vh区别 答:px :绝对单位,页⾯按像素计算,其值固定不变 em : 相对定位,相对于⽗节点的值来计算,缺点:相对于⽗节点的font-size(默认为16px)值来计算,出现层层嵌套问题,计算⿇烦 rem:相对定位,相当于em的升级版,区别在于rem相对于根元素html来计算,不会出现em的层层嵌套问题,可以作为弹性布局,其浏览器兼容性也⽐较好;(缺点:1.和根元素的font-size耦合性 强,系统字体⽅法缩⼩时,会出现布局混乱的情况,2,html头部需要插⼊⼀段js代码 vw vh:浏览器视窗⼤⼩(viewport)即:100vw = window.innerwidth 100vh = window.innerHeiht %:百分⽐ vw 和 % 的区别:1.%是根据⽗元素的宽⾼来计算的,⽽vw则是以viewport来计算 2.100vw包括了页⾯滚动条宽度(页⾯滚动条属于viewport范围内,100vw当然包括了页⾯滚动条宽度)4、css3的兼容问题(⼀般简单的答⼀些常⽤的兼容问题就好,不常⽤的就说碰到了百度解决的)5、盒⼦模型(标准盒⼦模型、ie盒⼦模型) 答:盒⼦模型由 html元素的内容content+内边距padding+边框border+外边距margin组成,标准盒⼦模型(box-sizing:content-box)元素的所设宽度就是内容content宽度⽽ie盒⼦模型(box-sizing:border-box)所设宽度由content+padding+border组成⼆、关于html5、css3⾯试题1、html5的新属性有哪些?(列举⼀些新增常⽤的语义化标签nav、footer、section、article、aside,以及input新增属性type:date、email、time、color等,以及媒体标签(video、audio),canvas,svg,本地存储(localstorage、sessionstorage),websocket以及实现原理)2、css3新增属性以及动画? ①border-radius:圆⾓边框;②border-image:图⽚边框;③background-size:背景的尺⼨ ④background-origin:背景图⽚的定位区域 ⑤text-shadow:⽂本阴影效果 ⑥word-wrap:单词太长的话就可能⽆法超出某个区域,允许对长单词进⾏拆分,并换⾏到下⼀⾏ ⑦transform:translate(平移)/rotate(旋转)/scale(缩放)/skew(扭曲); ⑧transition:background 2s; transition-property: 过渡属性(默认值为all) transition-duration: 过渡持续时间(默认值为0s) transiton-timing-function: 过渡函数(默认值为ease函数) transition-delay: 过渡延迟时间(默认值为0s) ⑨@media媒体查询 @media screen and (max-width: 300px) {body { //写专属该媒体查询内的专属cssmargin: 0px; padding: 0px;}}⑩animation:3、前端seo优化有哪些?(推荐地址:)4、Localstorage、sessionstorage、cookie三者各个的区别,及特点,优点,本地存储使⽤场景具体怎么使⽤?(推荐地址:)三、关于js/jq⾯试题1、http请求过程有哪些?(推荐地址:)1. 对⽹址进⾏DNS域名解析,得到对应的IP地址2. 根据这个IP,找到对应的服务器,发起TCP的三次握⼿3. 建⽴TCP连接后发起HTTP请求4. 服务器响应HTTP请求,浏览器得到html代码5. 浏览器解析html代码,并请求html代码中的资源(如js、css、图⽚等)(先得到html代码,才能去找这些资源)6. 浏览器对页⾯进⾏渲染呈现给⽤户7. 服务器关闭关闭TCP连接2、原⽣ajax请求过程?//第⼀步,创建XMLHttpRequest对象var xmlHttp = new XMLHttpRequest();//第⼆步,注册回调函数xmlHttp.onreadystatechange = function() {if (xmlHttp.readyState == 4)if (xmlHttp.status == 200) { //取得返回的数据 var data = xmlHttp.responseText;}}}//第三步,配置请求信息,open(),get//get请求下参数加在url后,.ashx?methodName=GetAllComment&str1=str1&str2=str2xmlHttp.open("post", "/ashx/myzhuye/Detail.ashx?methodName=GetAllComment", true);//post请求下需要配置请求头信息//xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//第四步,发送请求,post请求下,要传递的参数放这xmlHttp.send("methodName = GetAllComment&str1=str1&str2=str2");//"3、post请求以及get请求的优缺点?(1)post更安全(不会作为url的⼀部分,不会被缓存、保存在服务器⽇志、以及浏览器浏览记录中)(2)post发送的数据更⼤(get有url长度限制)(3)post能发送更多的数据类型(get只能发送ASCII字符)(4)post⽐get慢(5)post⽤于修改和写⼊数据,get⼀般⽤于搜索排序和筛选之类的操作(淘宝,⽀付宝的搜索查询都是get提交),⽬的是资源的获取,读取数据4、对array数组处理以及string处理的⼀些常⽤⽅法?(推荐地址:)5.js对数据类型检测,例如:如何检测数据类型为string/number/array等(推荐地址:)6、如何遍历⼀个数组⾥的每个数据?(主要考遍历的⼀些⽅法 for循环,forEach(),map()⽅法,filter())7、js中排序的⼏种⽅式?(推荐地址:)8、JavaScript中捕获/阻⽌捕获、冒泡/阻⽌冒泡,事件流(推荐地址:)9、怎样进⾏深拷贝及浅拷贝?他们的区别?(推荐地址:)10、关于this指向问题,在不同的场景下this的指向?11、关于闭包,如何创建闭包,闭包的⽤处及缺点?(推荐地址:)12、怎样理解原型、原型链?答:每个对象都会在其内部初始化⼀个属性,就是prototype(原型),当我们访问⼀个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype⾥找这个属性,这个prototype⼜会有⾃⼰的prototype,于是就这样⼀直找下去,也就是我们平时所说的原型链的概念。
80道前端面试经典选择题
80道前端面试经典选择题1. HTML的全称是什么?2. HTML5的新特性有哪些?3. CSS的全称是什么?4. CSS3有哪些新特性?5. 行内元素和块级元素有什么区别?6. 什么是盒模型?7. 什么是浮动?8. 请解释一下什么是响应式设计?9. 什么是媒体查询?10. 什么是Flexbox布局?11. 请解释一下什么是CSS预处理器?12. 常见的CSS预处理器有哪些?13. 什么是JavaScript?14. JavaScript的数据类型有哪些?15. 请解释一下什么是事件冒泡和事件捕获?16. 什么是闭包?17. 请解释一下什么是原型链?18. 什么是AJAX?19. 请解释一下什么是跨域请求?20. 什么是JSON?21. 请解释一下什么是DOM操作?22. 什么是BOM?23. 请解释一下什么是前端路由?24. 什么是模块化开发?25. 请解释一下什么是ES6?26. 什么是箭头函数?27. 请解释一下什么是Promise?28. 什么是async/await?29. 请解释一下什么是SPA(单页面应用)?30. 什么是虚拟DOM?31. 请解释一下什么是Webpack?32. 什么是组件化开发?33. 请解释一下什么是MVVM?34. 什么是响应式框架?35. 请解释一下什么是跨站脚本攻击(XSS)?36. 什么是CSRF攻击?37. 请解释一下什么是同源策略?38. 什么是Web安全?39. 请解释一下什么是SEO?40. 什么是移动端适配?41. 请解释一下什么是渐进式Web应用(PWA)?42. 什么是WebGL?43. 请解释一下什么是Canvas?44. 什么是SVG?45. 请解释一下什么是Web动画?46. 什么是响应式图片?47. 请解释一下什么是网页性能优化?48. 什么是页面加载速度?49. 请解释一下什么是懒加载?50. 什么是CDN?51. 请解释一下什么是缓存?52. 什么是前端安全?53. 请解释一下什么是前端框架?54. 什么是React?55. 请解释一下什么是Vue.js?56. 什么是Angular?57. 请解释一下什么是React组件?58. 什么是Vue组件?59. 请解释一下什么是Angular组件?60. 什么是状态管理?61. 请解释一下什么是Redux?62. 什么是Vuex?63. 请解释一下什么是Angular服务?64. 什么是React生命周期?65. 请解释一下什么是Vue生命周期?66. 什么是Angular生命周期?67. 请解释一下什么是单向数据流?68. 什么是双向数据绑定?69. 请解释一下什么是虚拟DOM?70. 什么是服务端渲染?71. 请解释一下什么是SSR?72. 什么是CSR?73. 请解释一下什么是SSG?74. 什么是SPA?75. 请解释一下什么是PWA?76. 什么是Web组件?77. 请解释一下什么是Shadow DOM?78. 什么是Custom Elements?79. 请解释一下什么是HTML模板?80. 什么是ESlint?以上是80道前端面试经典选择题,希望能对你有所帮助。
前端开发面试题及答案
前端开发面试题及答案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 包含许多新特性,包括新的元素(如 <section>,<video> 和 <audio>),新的 API (如 Canvas API 和Geolocation API),新的存储技术(如 Web Storage 和IndexedDB),以及更多。
前端面试题库及答案
前端面试题库及答案1. HTML5 新增的表单元素有哪些?- 答案:HTML5 新增的表单元素包括 `<input>` 类型的 `email`、`url`、`number`、`range`、`date`、`month`、`week`、`time`、`datetime`、`datetime-local`、`search`、`tel`、`color`,以及`<datalist>`、`<keygen>`、`<output>` 等。
2. CSS3 中新增了哪些选择器?- 答案:CSS3 中新增的选择器包括属性选择器、伪类选择器(如`:nth-child`、`:nth-of-type`、`:last-child`、`:last-of-type`、`:first-of-type`、`:only-child`、`:only-of-type`、`:empty`、`:not`、`:target`、`:enabled`、`:disabled`、`:checked` 等)和伪元素选择器(如 `::before`、`::after`)。
3. JavaScript 中如何实现深拷贝?- 答案:JavaScript 中实现深拷贝的方法有多种,常见的有:- 使用 `JSON.parse(JSON.stringify(object))`,但这种方法不能拷贝函数和循环引用的对象。
- 使用递归函数手动遍历对象属性进行拷贝。
- 使用第三方库,如 Lodash 的 `_.cloneDeep` 方法。
4. 解释 JavaScript 中的原型继承和组合继承的区别。
- 答案:原型继承是通过原型链实现继承,子类型继承父类型的原型。
组合继承结合了原型链继承和构造函数继承,通过构造函数继承父类型的实例属性,通过原型链继承父类型的原型属性。
5. 什么是跨域请求?如何解决跨域问题?- 答案:跨域请求是指浏览器向与当前页面不同的域发送请求。
前端面试题目及答案
前端面试题目及答案一、HTML基础1. 什么是HTML?HTML的全称是什么?HTML是一种标记语言,用于定义网页的结构和内容。
其全称为超文本标记语言(HyperText Markup Language)。
2. 请列举HTML中常用的标签,并简要介绍其作用。
- `<h1>`至`<h6>`:用于定义标题,`<h1>`为最高级标题,`<h6>`为最低级标题。
- `<p>`:用于定义段落。
- `<a>`:用于创建超链接。
- `<img>`:用于插入图像。
- `<div>`:用于定义文档中的一个分区或节。
- `<span>`:用于对文档中的一部分进行分组。
3. HTML中的行内元素和块级元素有什么区别?行内元素通常在文档中与其他内容同行显示,不会独占一行,只占据自身内容所需的空间。
常见的行内元素有`<a>`、`<span>`等。
块级元素独占一行,会自动换行,并占据其父元素的全部宽度。
常见的块级元素有`<div>`、`<p>`等。
4. 请解释HTML5中的语义化标签,并列举几个例子。
HTML5引入了一些语义化标签,有助于理解和组织页面结构。
它们能够明确描述其内容的含义,提高了可读性和可维护性。
常见的例子包括:- `<header>`:文档或节的头部。
- `<nav>`:导航链接的区域。
- `<article>`:独立的自包含内容块。
- `<section>`:文档中的独立部分。
- `<footer>`:文档或节的底部。
二、CSS基础1. 什么是CSS?CSS的全称是什么?CSS是一种用于描述网页样式和布局的样式表语言。
其全称为层叠样式表(Cascading Style Sheets)。
2. 请解释什么是CSS选择器,并列举几种常见的选择器。
java前端面试题目(3篇)
第1篇一、Java基础知识1. 请简述Java的基本特点。
2. 什么是JVM?简述JVM的运行原理。
3. 请简述Java中的四种访问控制符及其作用。
4. 请解释Java中的静态变量和静态方法。
5. 请简述Java中的继承和多态。
6. 请解释Java中的final关键字。
7. 请简述Java中的异常处理机制。
8. 请解释Java中的集合框架,包括List、Set和Map等。
9. 请简述Java中的泛型。
10. 请解释Java中的反射机制。
二、Java Web基础知识1. 什么是Servlet?简述Servlet的工作原理。
2. 什么是JSP?简述JSP的工作原理。
3. 请解释Java Web中的请求和响应。
4. 什么是MVC模式?请简述MVC模式在Java Web中的应用。
5. 什么是JDBC?请简述JDBC的使用方法。
6. 什么是JPA?请简述JPA的作用和特点。
7. 什么是Spring框架?请简述Spring框架的主要功能和优势。
8. 什么是Spring MVC框架?请简述Spring MVC框架的工作流程。
9. 什么是Spring Boot?请简述Spring Boot的特点和优势。
10. 什么是RESTful API?请简述RESTful API的设计原则。
三、前端基础知识1. 请简述HTML的基本结构。
2. 请解释HTML中的标签和属性。
3. 请简述CSS的基本语法和选择器。
4. 请解释JavaScript的基本语法和特点。
5. 请简述DOM的基本概念和操作方法。
6. 请解释JavaScript中的事件处理机制。
7. 请简述JavaScript中的闭包和原型链。
8. 请解释JSON的基本语法和特点。
9. 请简述AJAX的工作原理和实现方法。
10. 请解释前端性能优化的方法。
四、框架与工具1. 请简述React的基本原理和特点。
2. 请简述Vue的基本原理和特点。
3. 请简述Angular的基本原理和特点。
前端开发面试题及答案
前端开发面试题及答案前端开发是一个快速发展的领域,拥有强大的需求和竞争。
面试是进入前端开发领域的一道关卡,面试题目通常涵盖了HTML、CSS、JavaScript等方面的知识。
在这篇文章中,我们将介绍一些常见的前端开发面试题以及相应的答案。
一、HTML 面试题及答案1. 什么是 HTML?HTML是超文本标记语言(Hypertext Markup Language)的缩写,是一种用于创建网页的标记语言。
2. 请解释HTML5中的新特性?HTML5引入了许多新的特性,包括语义化标签、画布(canvas)、音视频支持等。
语义化标签可以更好地描述文档结构,增强搜索引擎对网页的理解。
画布可以用于绘制图形和动画。
音视频支持使得在网页中嵌入音视频内容更加方便。
3. 请解释 HTML 和 XHTML 有何区别?HTML是一种自由度较高的标记语言,而XHTML是HTML与XML的结合。
XHTML对标记要求更严格,要求标签闭合、标签小写等。
同时,XHTML的文档结果要求更加严格。
二、CSS 面试题及答案1. 什么是 CSS?CSS是层叠样式表(Cascading Style Sheets)的缩写,用于描述网页的布局和样式。
2. 请解释什么是盒子模型(Box Model)?盒子模型是CSS中用于描述元素布局的模型。
它将元素看做一个矩形的盒子,包括内容、内边距、边框和外边距这四个部分。
3. 如何居中一个元素?可以使用多种方法居中一个元素,其中一种是使用flexbox布局,设置父元素的display属性为flex,然后使用align-items和justify-content属性来居中元素。
三、JavaScript 面试题及答案1. 什么是 JavaScript?JavaScript是一种用于使网页交互和动态的脚本语言。
2. 请解释什么是变量提升(Hoisting)?变量提升是JavaScript在编译阶段将变量声明提升至作用域顶部的行为。
史上最全前端面试题(含答案)
HTML+CSS1.对WEB标准以及W3C的理解与认识标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;2.xhtml和html有什么区别HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 用于声明文档使用那种规范(html/Xhtml)一般为严格过度基于框架的html 文档加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug4.行内元素有哪些?块级元素有哪些?CSS的盒模型?块级元素:div p h1 h2 h3 h4 form ul行内元素: a b br i span input selectCss盒模型:内容,border ,margin,padding5.CSS引入的方式有哪些? link和@import的区别是?内联内嵌外链导入区别:同时加载前者无兼容性,后者CSS2.1以下浏览器不支持Link 支持使用javascript改变样式,后者不可6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?标签选择符类选择符 id选择符继承不如指定 Id>class>标签选择后者优先级高7.前端页面有哪三层构成,分别是什么?作用是什么?结构层 Html 表示层 CSS 行为层 js8.css的基本语句构成是?选择器{属性1:值1;属性2:值2;……}9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?Ie(Ie内核) 火狐(Gecko)谷歌(webkit) opear(Presto)10.写出几种IE6 BUG的解决方法1.双边距BUG float引起的使用display2.3像素问题使用float引起的使用dislpay:inline -3px3.超链接hover 点击后失效使用正确的书写顺序 link visited hover active4.Ie z-index问题给父级添加position:relative5.Png 透明使用js代码改6.Min-height 最小高度!Important 解决’7.select 在ie6下遮盖使用iframe嵌套8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)11.<img>标签上title与alt属性的区别是什么?Alt 当图片不显示是用文字代表。
80道前端面试经典选择题汇总
80道前端⾯试经典选择题汇总前⾔看了⼀下各种⾯试题,选择题是必有的所以我整理了⼀些经典的前端⾯试选择题,希望能对⼤家⽇后找⼯作有所帮助!HTML/CSS1、在 css 选择器当中,优先级排序正确的是()A、id选择器>标签选择器>类选择器B、标签选择器>类选择器>id选择器C、类选择器>标签选择器>id选择器D、id选择器>类选择器>标签选择器解析:选D4个等级的定义如下:第⼀等:代表内联样式,如: style=””,权值为1000第⼆等:代表ID选择器,如:#content,权值为100第三等:代表类,伪类和属性选择器,如.content,权值为10第四等:代表类型选择器和伪元素选择器,如div p,权值为12、下列定义的 css 中,哪个权重是最低的?()A、#game .nameB、#game .name spanC、#game divD、#game 解析:选C权重越⼤,优先级越⾼CSS选择器优先级是指“基础选择器”的优先级:ID > CLASS > ELEMENT > *3、关于HTML语义化,以下哪个说法是正确的?()A、语义化的HTML有利于机器的阅读,如PDA⼿持设备、搜索引擎爬⾍;但不利于⼈的阅读B、Table 属于过时的标签,遇到数据列表时,需尽量使⽤ div 来模拟表格C、语义化是HTML5带来的新概念,此前版本的HTML⽆法做到语义化D、header、article、address都属于语义化明确的标签解析:选D1、什么是HTML语义化?根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬⾍和机器很好地解析。
2、为什么要语义化?为了在没有CSS的情况下,页⾯也能呈现出很好地内容结构、代码结构⽤户体验:例如title、alt⽤于解释名词或解释图⽚信息、label标签的活⽤;有利于SEO :和搜索引擎建⽴良好沟通,有助于爬⾍抓取更多的有效信息:爬⾍依赖于标签来确定上下⽂和各个关键字的权重;⽅便其他设备解析(如屏幕阅读器、盲⼈阅读器、移动设备)以意义的⽅式来渲染⽹页;便于团队开发和维护,语义化更具可读性,是下⼀步吧⽹页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化4、CSS 样式,下⾯哪⼀个元素能够达到最⼤宽度,且前后各有⼀个换⾏?()A、Block ElementB、Square ElementC、Side ElementD、Box Element选A块级元素block element⾏内元素 inline element⾏内块元素 inline-block element5、下⾯使⽤Animate-timing-function定义的贝塞尔曲线,哪⼀个是先快后慢的()A、animation-timing-function :cubic-bezier(.22,1.23,.97,.89)B、animation-timing-function :cubic-bezier(1.23,..22,97,.89)C、animation-timing-function :cubic-bezier(1.23,.97,.89,.22)D、animation-timing-function :cubic-bezier(.22,.97,.89,1.23)解析:选Acubic-bezier即为贝兹曲线中的绘制⽅法有四点,分别为P0-3,其中P0、P3是默认的点,对应了[0,0], [1,1]。
前端相关的面试题
前端相关的面试题一、HTML部分1. 说说HTML5有哪些新特性?语义化标签,像<header>、<footer>、<nav>等,这些标签让HTML结构更清晰,搜索引擎也能更好地理解页面内容。
本地存储,有localStorage和sessionStorage。
localStorage可以长期存储数据,关闭浏览器后数据还在;sessionStorage是会话级别的存储,关闭浏览器窗口就没了。
音频和视频标签,<audio>和<video>,不需要借助Flash等插件就能在网页上播放音视频啦。
画布(canvas)元素,可以通过JavaScript在网页上绘制图形、动画等,可玩性很强。
2. 如何在HTML中实现页面的布局?可以用传统的表格布局,不过这种方式代码比较冗余,可维护性差。
用CSS布局是现在的主流。
比如通过float属性让元素浮动来实现多列布局;用flex布局就更方便了,通过设置容器的display:flex,然后利用flex - properties属性来控制子元素的排列方式、大小等;还有grid布局,它像一个网格系统,能精确地控制元素在网格中的位置。
3. 解释一下HTML中的DOCTYPE声明的作用?DOCTYPE声明是告诉浏览器这个HTML文档是按照什么标准编写的。
如果没有DOCTYPE声明,浏览器可能会以怪异模式渲染页面,这可能会导致页面布局错乱。
比如在HTML5中,DOCTYPE声明很简洁,<!DOCTYPE html>,这让浏览器知道是按照HTML5标准来解析这个页面的。
二、CSS部分1. 什么是CSS盒模型?CSS盒模型描述了HTML元素在页面上的布局方式。
一个元素在页面上所占的空间由内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。
标准盒模型中,width和height只包含内容的宽度和高度;而在IE盒模型(怪异盒模型)中,width和height包含内容、内边距和边框的宽度。
前端笔试题整理(附答案)
单选题1.下面哪个不是javascript关键字BA withB parentC classD void2.html中的元素可分为块级(block)元素和行内(inline)元素,下列哪些元素都是块级元素()。
AA.div、ul、p、form、bB.a、p、div、strong、emC.span、ul、li、b、strongD.span、div、ul、li、a3.浮动会导致页面的非正常显示,以下几种清除浮动的方法,哪个是不推荐使用?(C)A.在浮动元素末尾添加一个空的标签例如<div style=”clear:bot h”></div>B.通过设置父元素overflow值为hidden;C.父元素也设置浮动D.给父元素添加clearfix类4.当用户打开一个网页时,想一直停留在当前打开的页面,禁止页面前进和后退,以下正确的是(AD)A.window.history.forward(1);B.window.history.back(1);C.window.history.go(-1);D.window.history.forward(-1);5.Var str1=new RegExp("e");document.write(str1.exec("hello"));以上代码输出结果为(A)A..eB.nullC.1D.其他几项都不对6.使用CSS的flexbox布局,不能实现以下哪一个效果:DA.三列布局,随容器宽度等宽弹性伸缩B.多列布局,每列的高度按内容最高的一列等高C.三列布局,左列宽度像素数确定,中、右列随容器宽度等宽弹性伸缩D.多个宽高不等的元素,实现无缝瀑布流布局6.以下关于canvas 说法正确的是:DA、clearRect(width, height,left, top)清除宽为width、高为height,左上角顶点在(left, 点的矩形区域内的所有内容。
前端笔试题汇总
前端笔试题汇总这些都是朋友和学⽣在⾯试中,公司的⼀些笔试题,分享出来,为了查看起来更⽅便。
1、web 开发中会话跟踪的⽅法有哪些?2、HTTP methods?3、从浏览器地址输⼊ url 到显⽰页⾯的步骤(以http为例)?4、如何进⾏⽹站性能优化?5、容器包含若⼲浮动元素时如何清理(包含)浮动?6、css hack 原理及常⽤hack?7、垂直居中的⽅法?8、重绘和回流(重排)是什么,如何避免?9、PNG,GIF,JPG的区别及如何选?10、JavaScript 跨域通信?11、对象到字符串的转换步骤?12、函数内部的 arguments 变量有哪些特性,有哪些属性,如何将他转换为数组?13、评价⼀下三种⽅法实现继承的的优缺点,并改进。
14、focus/blur 与 focusin/focusout 的区别与联系。
15、sessionStorage ,localStorage, cookie 区别?16、JavaScript 有哪⼏种⽅法定义函数?17、什么是闭包,闭包有什么⽤?18、let 与 var 的区别,以及箭头函数与 function 的区别?19、HTTP 状态码 101、200、301、302、304的具体含义。
20、什么是防御性编程?与其相对的 let it crash ⼜是什么?笔试题21、请写出判断变量类型的⼏种⽅法,并谈谈这⼏种⽅法的差异或者局限;2、请写⼀下你记得的字符串操作⽅法,并说⼀下该⽅法的作⽤;3、请写⼀下你记得的数组的操作⽅法,并简明说明⼀下该⽅法的作⽤;4、[1, 2, 3, 4, 5, 2, 3, 4, 2, 3, 4, 2, 3, 4] 数组去重,只要是数组迭代⽅法,皆可去重,除了数组的迭代⽅法还有 ES6 的 set 数据结构;5、原⽣实现⼀个 ES5 的 bind( )6、简述⼀下 src 与 href 的区别;7、sessionStorage、localStorage 和 cookie 之间的区别;8、简述 Ajax ⼯作原理;9、简述⼀下浏览器的渲染流程;10、设想以下场景:公司有个项⽬,该项⽬需要做成单页应⽤,此时在不使⽤其他框架的情况下,说⼀下你该如何实现这个单页应⽤;11、简单说⼀下 vue 的双向绑定原理;12、简单说⼀下对于 node 的了解,了解其中的哪些模块,哪些⽅法,或是其他;13、继承的⽅式;14、常⽤跨域⽅式;15、请写出⼏个经典的 this 使⽤场景16、如何理解闭包?使⽤闭包时的注意点有哪些?17、谈⼀谈你所了解到的垃圾回收机制;18、let、const、var 有什么区别?19、怎样添加,移除,移动,创建,复制,查找 DOM 节点?笔试题31、输出结果console.log(Number(true))//1console.log(Number(null))//0console.log(Number(undefined))//NaNconsole.log(typeof NaN)//numberconsole.log(0.1 + 0.2 == 0.3, 0.5 + 0.1 == 0.6);//false trueconsole.log(true == 1);//trueconsole.log(true === 1);//false2、写出 JS 中的数据类型3、请把以下对象变为数组; var data = [a: 1, b: 2, c: 3]4、请写出以下结果fn (); //2function fn () {console.log(1)};fn() //2var fn = 10;fn (); //Uncaught TypeError: fn is not a function 到这⾥,程序终⽌,不往下执⾏了function fn() {console.log(2)};fn();5、请⾃选⼀种⽅法来实现 fn(1)(2) == 3 的⽅法;6、请写出下⾯的输出结果,最好说明⼀下原因;function Fn() {var num = 10;this.x =100;this.getx = function () {console.log(x)}}var f1 = new Fn;console.log(f1.num);//undefinedconsole.log(num);//Uncaught ReferenceError: num is not defined,到这⾥,程序终⽌,不往下执⾏了console.log(f1.getx);7、请简述⼀下 JS 绑定事件的⽅法,这些⽅法与 live 有什么不同之处?8、请写出下⾯的结果,为什么?for (var i = 0; i < 5; i++) {setTimeout(function() {console.log(i)}, 1000*i)}答案:⼀共 5个5,瞬时出现⼀个5,然后1秒出现⼀个5,因为开始 i 为 0思考:(function () {console.log(1);setTimeout(function () {console.log(2);}, 1000);setTimeout(function () {console.log(3)}, 0);console.log(4);})()console.log(5)答案:结果为1 4 5 3 2,其中1 4 5 3 时顺时出来,2 是在1秒之后出来,原因是 setTimeout( ) 是异步的,执⾏的机制是将指定的代码移出本轮事件循环,等到下⼀轮事件循环,先执⾏同步的任务;9、请简单叙述你所知道的 ES6 新属性;10、下⾯的代码将输出什么?console.log(1 + "2"+"2");//122console.log(1 + +"2" +"2");//32console.log(1 + -"1" + "2");//02console.log(+ "1" + "1" + "2");//112console.log("A" - "B" + "2");//NaN2console.log("A" - "B" + 2);//NaNconsole.log("0||1=" +(0||1));//0||1=1console.log("0||1=" +(1||2));//0||1=1console.log("0&&1=" +(1&&2));//0&&1=2console.log("0&&1=" +(1&&2))//0&&1=211、数组去重:请⽤你所知道的实现下⾯的数组去重;fn([0, 1, 2, '1', '1', 3, '3']) =>[0, 1, 2, '1',, 3, '3']12、以下代码将输出什么?var a = {},b = {key: "b"},c = {key: "c"};a[b] = 123;a[c] = 456;console.log(a[b]);//456⾯试题41、说说Vue双向绑定的原理/MVVM的理解 *n2、 Vue与React的区别 *n3、谈谈你对闭包的理解 *n4、你项⽬中遇到最困难的问题是什么 *n5、你觉得你拿得出⼿的东西 *n6、 Promise 核⼼原理/⼯作机制 *37、有封装过哪些组件,有什么⼼得? *38 、vue路由⽣命周期都有哪些,销毁钩⼦函数⾥你通常会做些什么 *29、 Webpack、Gulp打包的原理是什么、有什么不同 *210、谈谈类的继承11、原型链和作⽤域链12、常⽤的伪类伪元素13、vuex 为什么要⽤ action去调⽤ metation14、谈谈你所熟悉的设计模式15、谈谈你对虚拟DOM的理解16、谈谈你对NodeJS的了解17、谈谈你对匿名函数的了解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前端笔试面试题目总结
希望对一起奋战找工作的战友们有帮助
列举3个以上http请求头,响应头有哪些字段,列举5个以上;http的响应状态消息有哪些值,列举4个以上说明
解析ajax的意思,同步和异步的区别,异步请求有哪些状态,如何创立一个异步请求,异步请求完成过程,说下IE与其它浏览器的差异
如何实现跨域请求,AJAX跨域的解决办法
html有哪些常见标签,大概多少个,如何分类的,html5有哪些新增标签
前端优化提高客户端响应速度的方法,至少10条以上
平常见哪些开发工具,用什么插件,了解哪些类库,是否熟悉php,nodejs,看过哪些书
网页设计中能够使用哪些图像格式,说下它们的优缺点
一个元素结点有哪些公共属性,哪些事件属性,各举5个以上
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
布局的方式有哪些
使用缓存的方式有哪些,说下各种方式的优缺点与发展过程
怎么实现一个元素的居中
display,position的属性值有哪些
元素的属性简写,如font,background,
html5有哪些新功能,都有哪些新的JS API,列举5条以上
介绍几个css3的属性,选择器有哪些
css的基本语句构成是,有哪些选择器,css3新增的有哪些
CSS引入样式的方式有哪些,link和@import的区别是,如何计算样式的优先级你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
经常遇到的浏览器的兼容性有哪些?怎么会出现?解决方法是什么?
常见到哪些类库,是否了解jq的实现,说一下对jq代码的理解,基本的架构或者 jQuery.fn.init 中都做了哪些判断,是否了解sizzle,
前端页面由层级结构是怎样的,分别是什么?作用是什么?是否了解MVC模型,在前端如何实现MVC
简单介绍一下js的语法特点,数据类型
说一下字符串,数组的常见方法
js的继承方式
js的运算符与优先级
创立对象的方法
JSON与JSONP的区别
DOM结点的选择有哪些方法,有哪些元素集合可直接选取,如果选择一个节点有父节点,子节点,兄弟节点(nextSibling与nextElementSibling,IE与其它浏览器的差别)
简单介绍DOM节点层级
节点怎样添加、移除、移动、复制、创立和查找节点
IE与FF的JS兼容性都知道哪些
IE事件流与其它浏览器事件流特点,绑定事件的差异
正则表示式是否熟悉,有哪些元字符,何为分组,捕获,零宽断言,零宽度正预测
先行断言,零宽度正回顾后发断言,如何实现贪婪匹配与懒惰匹配,简单写下邮箱验证、URL验证
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义
是否理解这些英文简写:HTML,CSS,XML,XHTML,E4X,Xpath,HTTP, W3C, WHATWG, MIME,ECMA,BOM,DOM,URL,URI
说下下面这些单词的来源与使用:
Angular; Backbone; Console;
Dir; Express;
Fork; Grunt;
Haslayout; Iconfont;
Jsonp; Kissy; Loca lstorage; Media
query; Npm; Opacity;
Prototype; Querystring; Referer; Seajs; Trim; Under score; Vim;
Worker; Xss;
Yslow; Zepto;(淘宝控制台)
HTML&CSS:
对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应
JavaScript:
数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。
其它:
HTTP、安全、正则、优化、重构、响应式、移动端、团队协作、可维护、SEO、UED、架构、职业生涯
作为一名前端工程师,无论工作年头长短都应该必须掌握的知识点:
此条由王子墨发表在前端随笔
1、DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
2、DOM操作——如何添加、移除、移动、复制、创立和查找节点等。
3、事件——如何使用事件,以及IE和标准DOM事件模型之间存在的差别。
4、XMLHttpRequest ——这是什么、怎样完整地执行一次GET请求、
怎样检测错误。
5、严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
6、盒模型——外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型
7、块级元素与行内元素——怎么用CSS控制它们、以及如何合理的使用它们
8、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
9、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
10、JSON ——作用、用途、设计结构。
HTML
Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
行内元素有哪些?块级元素有哪些?空(void)元素有那些?
介绍一下CSS的盒子模型?
link 和@import 的区别是?
CSS 选择符有哪些?哪些属性能够继承?优先级算法如何计算? CSS3新增伪类有那些?
如何居中div?如何居中一个浮动元素?
浏览器的内核分别是什么?
html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和
HTML5?
语义化的理解?
HTML5的离线储存?
(写)描述一段语义的html代码吧。
iframe有那些缺点?
请描述一下 cookies,sessionStorage 和 localStorage 的区别?
CSS
列出display的值,说明她们的作用。
position的值, relative和absolute 定位原点是?
CSS3有哪些新特性?
一个满屏品字布局如何设计?
经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常见hack的技巧?
为什么要初始化CSS样式。
absolute的containing block计算方式跟正常流有什么不同?
position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?
对BFC规范的理解?
css定义的权重
解释下浮动和它的工作原理?清除浮动的技巧
用过媒体查询,针对移动端的布局吗?
使用 CSS 预处理器吗?喜欢那个?
JavaScript
JavaScript原型,原型链 ? 有什么特点?
eval是做什么的?
null,undefined 的区别?
写一个通用的事件侦听器函数。