2023年Web前端开发工程师面试题.docx

上传人:夺命阿水 文档编号:546304 上传时间:2023-08-21 格式:DOCX 页数:28 大小:82.65KB
返回 下载 相关 举报
2023年Web前端开发工程师面试题.docx_第1页
第1页 / 共28页
2023年Web前端开发工程师面试题.docx_第2页
第2页 / 共28页
2023年Web前端开发工程师面试题.docx_第3页
第3页 / 共28页
2023年Web前端开发工程师面试题.docx_第4页
第4页 / 共28页
2023年Web前端开发工程师面试题.docx_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《2023年Web前端开发工程师面试题.docx》由会员分享,可在线阅读,更多相关《2023年Web前端开发工程师面试题.docx(28页珍藏版)》请在课桌文档上搜索。

1、2023年Web前端开发工程师面试题HTML部分1、JavaScript的DOM是什么意思?DoM是W3C的对象模型,DOM是中立于平台和语言的接口,它允许程序和脚本动态的访问和更新文档的内容结构和样式。2JavaScript的节点是什么意思?依据W3C的标准,HTML中文档的全部内容都是节点整个文档是一个文档节点每个html元素都是元素节点Html元素中的文本是文本节点每个html属性都是熟识节点注释是注释节点3、JavaScript的BOM是什么意思?BOM阅读器对象模型供应了独立于内容而与阅读器窗口进行交互的对象。描述了与阅读器进行交互的方法和接口,可以对阅读器窗口进行访问和操作,譬如可

2、以弹出新的窗口,变更状态栏中的文本,对COOkie的支持,IE还扩展了BOM,加入了ACtiVeXobjeCt类,可以通过js脚本实例化ActiveX对象等等)4、JqUery是什么?jQuery是一个快速、简洁的JaVaSCriPt框架,是继PrOtOtyPe之后又一个优秀的JaVaSCriPt代码库(或JaVaSCriPt框架)。jQuery设计的宗旨是“writeLess,DoMore,即提倡写更少的代码,做更多的事情。它封装JavaSCriPt常用的功能代码,供应一种简便的JaVaSCriPt设计模式,优化HTML文档操作、事务处理、动画设计和Ajax交互。jQuer的核心特性可以总结

3、为:具有独特的链式语法和短小清晰的多功能接口;具有高效敏捷的CSS选择器,并且可对CSS选择器进行扩展;挑有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流阅读器,如IE6.0+、FF1.5+、Safari2.0+、Opera9.0+等。5、AJAX是什么?AJAX是一种用于创建快速动态网页的技术。AJAX即AsynchronousJavascriptAndXML”(异步JavaScript和XMD,是指一种创建交互式网页应用的网页开发技术。AJAX=异步JaVaSCriPt和XML(标准通用标记语言的子集)。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着

4、可以在不重新加载整个网页的状况下,对网页的某部分进行更新。传统的网页(不运用AJAX)假如须要更新内容,必需重载整个网页页面。6、DOCtyPe作用?严格模式与混杂模式如何区分?它们有何意义?(1)、声明位于文档中的最前面,处于标签之前。告知阅读器的解析器,用什么文档类型规范来解析这个文档。(2)、严格模式的排版和JS运作模式是以该阅读器支持的最高标准运行。(3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式阅读器的行为以防止站点无法工作。(4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。7、行内元索有哪些?块级元索有哪些?(I)CSS规范规定,每个元素都有displ

5、ay属性,确定该元素的类型,每个元素都有默认的display值,比如div默认display属性值为block”,成为块级”元素;span默认display属性值为inline”,是“行内”元素。(2)行内元素有:abspanimginputselectstrong(强调的语气)块级元素有:divulolIidldtddhlh2h3h4p8、link和1师0日的区分是?(1)Iink属于XHTML标签,而import是CSS供应的;(2)页面被加载的时,Iink会同时被加载,而防101引用的CSS会等到页面被加载完再加载;(3) import只在IE5以上才能识别,而link是XHTML标签,

6、无兼容问题;(4) Iink方式的样式的权重高于import的权重.9、阅读器的内核分别是什么?IE阅读器的内核TridentMozilla的GeckoChrome的Blink(WebKit的分支)、OPera内核原为PreStO,现为Blink;10、HTML5有哪些新特性?如何处理HTML5新标签的阅读器兼容问题?如何区分HTML和HTML5?HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,多任务等功能的增加。绘画canvas用于媒介回放的video和audio元素本地离线存储IocalStorage长期存储数据,阅读器关闭后数据不丢失;SessionStorage的数据

7、在阅读器关闭后自动删除语意化更好的内容元素,比如article、footer、headernav、section表单控件,calendar、date、timeemail、Ur1、search新的技术webworker,websockt,Geolocation11、对语义化如何理解?用正确的标签做正确的事情!HTML语义化就是让页面的内容结构化,便于对阅读器、搜寻引擎解析;在没有样式CCS状况下也以一种文档格式显示,并且是简洁阅读的。搜寻引擎的爬虫依靠于标记来确定上下文和各个关键字的权重,利于SEOo使阅读源代码的人对网站更简洁将网站分块,便于阅读维护理解。12、HTML5的离线储存有几种方式?

8、IoCaIStorage长期存储数据,阅读器关闭后数据不丢失;SessionStorage数据在阅读器关闭后自动删除。13、iframe有那些缺点?iframe会堵塞主页面的Onload事务;iframe和主页面共享连接池,而阅读器对相同域的连接有限制,所以会影响页面的并行加载。运用iframe之前须要考虑这两个缺点。假如须要运用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以可以绕开以上两个问题。14、请描述一下ckies,SessionStorage和IocalStorage的区分?cookie在阅读器和服务器间来回传递。SessionStorage

9、和IocalStorage不会SessionStorage和IocalStorage的存储空间更大;SessionStorage和IocalStorage有更多丰富易用的接口;SessionStorage和IocalStorage各自独立的存储空间;2023年前端开发工程师面试题CSS部分1、CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?CSS3新增伪类有那些?1.id选择器(#myid)2.类选择器(.myclassname)3.标签选择器(div,hl,p)4.相邻选择器(hl+p)5 .子选择器(Ulidclasstagimportant比内联优先级高2、CSS3新增伪类举例

10、:p:first-of-type选择属于其父元素的首个元素的每个元素。p:last-of-type p:OnIy-Of-type p:only-child p:nth-chi Id(2)选择属于其父元素的最终元素的每个元素。选择属于其父元素唯一的元素的每个元素。选择属于其父元素的唯一子元素的每个元素。选择属于其父元素的其次个子元素的每个元素。:enabled!disabled限制表单控件的禁用态。:checked单选框或复选框被选中。3、如何居中div?如何居中一个浮动元素?给div设置一个宽度,然后添加margin:OaUto属性divwidth:200px;margin:0auto;居中一

11、个浮动元索确定容器的宽高宽500高300的层设置层的外边距.div(Width:500px;height:300px;高度可以不设Margin:-150px00-250px;position:relative;相对定位background-COlor:Pink;便利看效果Ieft:50%;top:50%;)列出display的值,说明他们的作用。POSition的值,relative和absolute定位原点是?1.block象块类型元素一样显示。none缺省值。象行内元素类型一样显示。inline-block象行内元素一样显示,但其内容象块类型元素一样显示。list-item象块类型元素一样

12、显示,并添加样式列表标记。2.absolute生成肯定定位的元素,相对于static定位以外的第一个父元素进行定位。fixed (老IE不支持) 行定位。生成肯定定位的元素,相对于阅读器窗口进relative生成相对定位的元素,相对于其正常位置进行定位。staticright z-index默认值。没有定位,元素出现在正常的流中*(忽视top,bottom,left,声明)。inherit规定从父元素继承position属性的值。4、为什么要初始化CSS样式?因为阅读器的兼容问题,不同阅读器对有些标签的默认值是不同的,假如没对CSS初始化往往会出现阅读器之间的页面显示差异。当然,初始化样式会对

13、SEO有肯定的影响,但鱼和熊掌不行兼得,但力求影响最小的状况下初始化。最简洁的初始化方法就是:*padding:0;margin:0;(不建议)淘宝的样式初始化:body,hl,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,tdmargin:0;padding:0;body,button,input,select,textareafont:12pxl.5tahoma,arial,5b8b4f53;hl,h2,h3,h4,h5,h6font-si

14、ze:100%;)address,cite,dfn,em,varfont-StyIe:normal;code,kbd,pre,sampfont-famiIyicouriernew,courier,monospace;smal1font-size:12px;ul,ollist-styleinone;atext-decoration:none;a:hovertext-decoration:underline;spvertical-align:text-top;subvertical-align:text-bottom;legendcolor:#000;fieldset,imgborder:0;!b

15、utton,input,select,textareafont-size:100%;tableborder-collapse:collapse;border-spacing:0;5、absolute的containingblock计算方式跟正常流有什么不同?6、PoSitiOn跟display、margincollapseoverflow、float这些特性相互叠加后会怎么样?7、对BFC规范的理解?(W3CCSS2.1规范中的一个概念,它确定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。)8、CSS定义的权重以下是权重的规则:标签的权重为1,ClaSS的权重为10,id的权重为

16、100,以下例子是演示各种定义的权重值:/*权重为l*div*权重为10*/.CIaSSI/*权重为100*/#idl/*权重为100+l=101*/#idldiv*权重为10+1=11*/.classldiv*权重为10+10+l=21*/.classl.class2div假如权重相同,则最终定义的样式会起作用,但是应当避开这种状况出现9、说明下浮动和它的工作原理?清除浮动的技巧10、用过媒体查询,针对移动端的布局吗?11、运用CSS预处理器吗?喜爱那个?12、CSS3有哪些新特性?CSS3实现圆角(bordeLradiUS:8px),阴影(box-shadow:IOPx),对文字加特效(t

17、ext-ShadOw、),线性渐变(gradient),旋转(transform)transform:rotate(9deg)scale(0.85,0.90)translate(0px,-30px)skew(-9deg,Odeg);旋转,缩放,定位,倾斜增加了更多的CSS选择器多背景rgba13、常常遇到的CSS的兼容性有哪些?缘由,解决方法是什么?14、介绍一下CSS的盒子模型?(1)有两种,IE盒子模型、标准W3C盒子模型;IE的COntent部分包含了border和pading;(2)盒模型:内容(COntent)、填充(Padding)、边界(Inargin)、边框(border).1

18、.对WEB标准以及W3C的理解与相识?标签闭合、标签小写、不乱嵌套、提高搜寻机器人搜寻几率、运用外链CSS和js脚本、结构行为表现的分别、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,简洁维护、改版便利,不须要变动页面内容、供应打印版本而不须要复制内容、提高网站易用性;2. XHTML和HTML有什么区分?HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML元素必需被正确地嵌套。XHTML元素必需被关闭。标签名必需用小写字母。XHTML文档必需拥有根元素。3. Doctype?严格模式与混杂模式-

19、如何触发这两种模式,区分它们有何意义?用于声明文档运用那种规范(HTML/XHTW.)一般为严格过度基于框架的htm文档加入XMl声明可触发,解析方式更改为IE5.5拥有IE5.5的bug4. 行内元素有哪些?块级元素有哪些?CSS的盒模型?块级元素:divphlh2h3h4formul行内元素:abbrispaninputselectCSS盒模型:内容,border,margin,padding5. CSS引入的方式有哪些?link和明10日的区分是?内联内嵌外链导入区分:同时加载前者无兼容性,后者CSS2.1以下阅读器不支持1.ink支持运用javascript变更样式,后者不行6. CS

20、S选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?标签选择符类选择符id选择符继承不如指定Idclass标签选择后者优先级高7. 前端页面有哪三层构成,分别是什么?作用是什么?结构层HTML表示层CSS行为层js8. CSS的基本语句构成是?选择器属性1:值1;属性2:值2;9. 你做的页面在哪些流览器测试过?这些阅读器的内核分别是什么?Te(Te内核)火狐(GeCko)谷歌(Webkit)Opear(Presto)写出几种IE6BUG的解决方法1.双边距BUGfloat引起的运用display2. 3像素问题运用float引起的运用dislpay:i

21、nline-3px3. 超链接hover点击后失效运用正确的书写依次linkvisitedhoveractive4. Iez-index问题给父级添加POSitioirrelative5. Png透亮运用js代码改6. Min-height最小高度!Important解决7. select在ie6下遮盖运用iframe嵌套8. 为什么没有方法定义IPX左右的宽度容器(IE6默认的行高造成的,运用over:hidden,zoom:。.08line-height:lpx)9. ie6不支持!important11 .img标签上title与alt属性的区分是什么?Alt当图片不显示是用文字代表。T

22、itle为该属性供应信息12 .描述cssreset的作用和用途。ReSet重置阅读器的CSS默认属性阅读器的品种不同,样式不同,然后重置,让他们统一13 .说明CSSsprites,如何运用。Css精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的恳求数量14 .阅读器标准模式和怪异模式之间的区分是什么?盒子模型渲染模式的不同运用window,top.documentpatMode可显示为什么模式15 .你如何对网站的文件和资源进行优化?期盼的解决方案包括:文彳牛文件最小化/文件压缩运用CDN托管缓存的运用16 .什么是语义化的HTML?直观的相识标签对于搜寻引擎的抓取有好处17 .

23、清除浮动的几种方式,各自的优缺点1 .运用空标签清除浮动c】ear:both(理论上能清晰任何标签,增加无意义的标签)2 .运用OVerflOw:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,运用zoom:1用于兼容IE)3,是用afert伪元素清除浮动(用于非IE阅读器)18.csshackmargingIE6+marginIE7MargingiOauto9全部IeMargin0IE82023年前端开发工程师面试题JavaScript部分1 .javascript的tyeof返回哪些数据类型Objectnumberfunctionbooleanunderfind2 .例举3种强制

24、类型转换和2种隐式类型转换?强制(parselnt,parseFloat,number)隐式(=-=)3 .split()join()的区分前者是切割成数组的形式,后者是将数组转换成字符串4 .数组方法pop()push()unshift()shift()PUSh()尾部添加pop()尾部删除UnShift()头部添加Shift()头部删除5 .事务绑定和一般事务有什么区分.IE和DoM事务流的区分1.执行依次不一样、1 .参数不一样2 .事务加不加on3 .this指向问题Varev=evwindow,eventdocument.documentElement.ClientWidthdocu

25、ment,body,clientwidthVartarget=ev.srcElementlev.target8. ajax恳求的时候get和post方式的区分一个在url后面一个放在虚拟载体里面有大小限制平安问题应用不同一个是论坛等只须要恳求的,一个是类似修改密码的9. call和apply的区分Object.call(this,objl,obj2,obj3)Object,apply(this,arguments)10. ajax恳求时,如何说明json数据运用evalparse鉴于平安性考虑运用parse更靠谱ILb继承a的方法12. JavaScriptthis指针、闭包、作用域13. 事

26、务托付是什么让利用事务冒泡的原理,让自己的所触发的事务,让他的父元素代替执行!14. 闭包是什么,有什么特性,对页面有什么影响闭包就是能够读取其他函数内部变量的函数。15. 如何阻挡事务冒泡和默认事务CanceBubblereturnfalse16. 添加删除替换插入到某个接点的方法obj.appendChidl()obj.InnersetBeforeobj.replaceChildobj.removeChild17. 说明jsonp的原理,以及为什么不是真正的ajax动态创建SCriPt标签,回调函数Ajax是页面无刷新恳求数据操作18. javascript的本地对象,内置对象和宿主对象本

27、地对象为arrayobjregexp等可以new实例化内置对象为gloadMath等不行以实例化的宿主为阅读器自带的document,window等19. documentload和documentready的区分Document,onload是在结构和样式加载完才执行jsDocument,ready原生种没有这个方法,jquery中有$().ready(function)20. ”和“二”的不同前者会自动转换类型后者不会21. javascript的同源策略一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合22. .编写一个数组去重的方法func

28、tion0S0rt(arr)varresult=;varnewArr=;for(vari=0;iarr.length;1+)if(!resultarr)(newArr.push(arr)resultarr=lreturnnewArrinput、strong、select、label、em、button、textarea块级元素:div、ul、Ii、dldtddphl-h6blockquote空元素:即系没有内容的HTML元素,例如:brmeta、hr、linkinputimg3、CSS实现垂直水平居中一道经典的问题,实现方法有许多种,以下是其中一种实现:HTML结构:css:.wrapperp

29、osition!relative;).contentbackground-color:#6699FF;width:200px;height:200px;position:absolute;父元素须要相对定位top:50%;left:50%;margin-top:-100px;/二分之-的height,widthmargin-left:-100px;)4、简述一下SrC与href的区分href是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。SrC是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在恳求SrC资源时会将其指向的资源下载并应用到

30、文档内,例如js脚本,img图片和frame等元素。当阅读器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。5、什么是CSSHack?一般来说是针对不同的阅读器写不同的CSS,就是CSSHackoIE阅读器HaCk一般又分为三种,条件HaCk、属性级HaCk、选择符HaCk(具体参考CSS文档:CSS文档)。例如:1、条件HaCk.testcolor:red;/2、属性HaCk.testcolor:#0909;*ForIE8+*/*color:#f00;*ForIE

31、7andearlier*/_color:#ffO;*ForIE6andearlier*/)/3、选择符HaCk* html.testcolor:#090;*ForIE6andearlier*/* +html.testcolor:#ffO;)*ForIE7*/6、简述同步和异步的区分同步是堵塞模式,异步是非堵塞模式。同步就是指一个进程在执行某个恳求的时候,若该恳求须要一段时间才能返回信息,那么这个进程将会始终等待下去,直到收到返回信息才接着执行下去;异步是指进程不须要始终等下去,而是接着执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。7、PX和e

32、m的区分PX和em都是长度单位,区分是,px的值是固定的,指定是多少就是多少,计算比较简洁。em得值不是固定的,并且em会继承父级元素的字体大小。阅读器的默认字体高都是16px。所以未经调整的阅读器都符合:IeIn=I6px。那么12PX=0.75em,10px=0.625em8、什么叫优雅降级和渐进增加?渐进增力口progressiveenhancement:针对低版本阅读器进行构建页面,保证最基本的功能,然后再针对高级阅读器进行效果、交互等改进和追加功能达到更好的用户体验。优雅降级gracefuldegradation:一起先就构建完整的功能,然后再针对低版本阅读器进行兼容。区分:a.优雅

33、降级是从困难的现状起先,并试图削减用户体验的供应b.渐进增加则是从一个特别基础的,能够起作用的版本起先,并不断扩充,以适应将来环境的须要c.降级(功能衰减)意味着往回看;而渐进增加则意味着朝前看,同时保证其根基处于平安地带9、阅读器的内核分别是什么?IE:trident内核Firefox:gecko内核Safari:Webkit内核Opera:以前是PreStO内核,OPera现已改用GOogIeChrOnIe的BIink内核Chrome:Blink(基于Webkit,GoOgIe与OPeraSoftWare共同开发)JaVaSCriPt部分1、怎样添加、移除、移动、复制、创建和查找节点?1)

34、创建新节点CreateDocumentFragment()/创建一个DOY片段CreateElementO创建一个具体的元素CreateTextNodeO创建一个文本节点2)添加、移除、替换、插入appendChild()添加removeChild()移除replaceChiIdO替换insertBefore()插入3)查找getElementsByTagName()通过标签名称getElementsByName()通过元素的Nanle属性的值getElementByIdO通过元素Id,唯一性2、实现一个函数CIone,可以对JaVaSCriPt中的5种主要的数据类型(包括NUmber、Str

35、ing、ObjectArrayBoolean)进行值复制。*对象克隆*支持基本数据类型及对象*递归方法*/functionclone(obj)varo;switch(typeofobj)caseundefined”:break;case“string”:O=Obj+”;break;casenumber”:o=obj-0;break;case“boolean”:o=obj;break;caseobject:/object分为两种状况对象(ObjCCt)或数组(AITay)if(obj=null)o=null;elseif(Object,prototype.toString.call(obj).siice(8,-1)=Array)o=;for(vari=0;iobj.length;i+)o.push(clone(obji);elseo=;for(varkinobj)ok=clone(objk);)break;default:o-obj;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号