版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
web前端面试题及答案web前端面试题及答案「篇一」1、怎样添加、移除、移动、复制、创建和查找节点?1)创建新节点createDocumentFragment//创建一个DOM片段createElement//创建一个具体的元素createTextNode//创建一个文本节点2)添加、移除、替换、插入appendChild//添加removeChild//移除replaceChild//替换insertBefore//插入3)查找getElementsByTagName//通过标签名称getElementsByName//通过元素的Name属性的值getElementById//通过元素Id,唯一性2、实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。/*对象克隆*支持基本数据类型及对象*递归方法*/functionclone(obj){varo;switch(typeofobj){case"undefined":break;case"string":o=obj+"";break;case"number":o=obj-0;break;case"boolean":o=obj;break;case"object"://object分为两种情况对象(Object)或数组(Array)if(obj===null){o=null;}else{if(Ototype.toString.call(obj).slice(8,-1)==="Array"){o=[];for(vari=0;i<obj.length;i++){o.push(clone(obj[i]));}}else{o={};for(varkinobj){o[k]=clone(obj[k]);}}}break;default:o=obj;break;}returno;}3、如何消除一个数组里面重复的元素?//方法一:vararr1=[1,2,2,2,3,3,3,4,5,6]。arr2=[];for(vari=0,len=arr1.length;i<len;i++){if(arr2.indexOf(arr1[i])<0){arr2.push(arr1[i]);}}document.write(arr2);//1,2,3,4,5,64、想实现一个对页面某个节点的拖曳?如何做?(使用原生JS)。5、在Javascript中什么是伪数组?如何将伪数组转化为标准数组?伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。可以使用Atotype.slice.call(fakeArray)将数组转化为真正的Array对象。functionlog{varargs=Atotype.slice.call(arguments);//为了使用unshift数组方法,将argument转化为真正的数组args.unshift((app));console.log.apply(console,args);};6、Javascript中callee和caller的作用?caller是返回一个对函数的引用,该函数调用了当前函数;callee是返回正在被执行的function函数,也就是所指定的function对象的正文。7、请描述一下cookies,sessionStorage和localStorage的区别sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。webstorage和cookie的区别WebStorage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。除此之外,WebStorage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在,而WebStorage仅仅是为了在本地“存储”数据而生。8、手写数组快速排序关于快排算法的详细说明,可以参考阮一峰老师的文章快速排序“快速排序”的思想很简单,整个排序过程只需要三步:(1)在数据集之中,选择一个元素作为”基准”(pivot)。(2)所有小于”基准”的元素,都移到”基准”的左边;所有大于”基准”的元素,都移到”基准”的右边。(3)对”基准”左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。9、统计字符串”aaaabbbccccddfgh”中字母个数或统计最多字母数。varstr="aaaabbbccccddfgh";varobj={};for(vari=0;ivarv=str.charAt(i);if(obj[v]&&obj[v].value==v){obj[v].count=++obj[v].count;}else{obj[v]={};obj[v].count=1;obj[v].value=v;}}for(keyinobj){document.write(obj[key].value+=+obj[key].count+);//a=4b=3c=4d=2f=1g=1h=1}10、写一个function,清除字符串前后的空格。(兼容所有浏览器)functiontrim(str){if(str&&typeofstr==="string"){returnstr.replace(/(^\s*)|(\s*)$/g,"");//去除前后空白符}}web前端面试题及答案「篇二」01、原来公司工作流程是怎么样的,如何与其他人协作的?如何夸部门合作的?02、你遇到过比较难的技术问题是?你是如何解决的?03、设计模式知道什么是singleton,factory,strategy,decrator么?04、常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?05、页面重构怎么操作?06、列举IE与其他浏览器不一样的特性?07、99%的网站都需要被重构是那本书上写的?08、什么叫优雅降级和渐进增强?09、是否了解公钥加密和私钥加密。10、WEB应用从服务器主动推送Data到客户端有那些方式?11、对Node的优点和缺点提出了自己的看法?12、你有用过哪些前端性能优化的方法?13、http状态码有那些?分别代表是什么意思?14、一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好)15、部分地区用户反应网站很卡,请问有哪些可能性的原因,以及解决方法?16、从打开app到刷新出内容,整个过程中都发生了什么,如果感觉慢,怎么定位问题,怎么解决?17、除了前端以外还了解什么其它技术么?你最最厉害的技能是什么?18、你用的得心应手用的熟练地编辑器&开发环境是什么样子?19、对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?20、你怎么看待WebApp、hybridApp、NativeApp?21、你移动端前端开发的理解?(和Web前端开发的主要区别是什么?)22、你对加班的看法?23、平时如何管理你的项目?24、说说最近最流行的一些东西吧?常去哪些网站?25、如何设计突发大规模并发架构?26、是否了解开源的工具bower、npm、yeoman、grunt、gulp,一个npm的包里的package.json具备的必要的字段都有哪些?(名称、版本号,依赖)每个模块的代码结构都应该比较简单,且每个模块之间的关系也应该非常清晰,随着功能和迭代次数越来越多,你会如何去保持这个状态的?27、Git知道branch,diff,merge么?如何设计突发大规模并发架构?28、当团队人手不足,把功能代码写完已经需要加班的情况下,你会做前端代码的测试吗?29、知道什么是SEO并且怎么优化么?知道各种metadata的含义么?30、移动端(AndroidIOS)怎么做好用户体验?31、简单描述一下你做过的移动APP项目研发流程?32、你在现在的团队处于什么样的角色,起到了什么明显的作用?33、你认为怎样才是全端工程师(FullStackdeveloper)?34、介绍一个你最得意的作品吧?35、你有自己的技术博客吗,用了哪些技术?36、对前端安全有什么看法?37、是否了解Web注入攻击,说下原理,最常见的两种攻击(XSS和CSRF)了解到什么程度?38、项目中遇到国哪些印象深刻的技术难题,具体是什么问题,怎么解决。39、最近在学什么东西?40、你的优点是什么?缺点是什么?41、如何管理前端团队?42、最近在学什么?能谈谈你未来3,5年给自己的规划吗?web前端面试题及答案「篇三」1、怎样添加、移除、移动、复制、创建和查找节点?创建新节点:creatDocumentFragment,创建一个DOM片段。creatElement,创建一个具体的元素。creatTextNode,创建一个文本节点。添加、移除、替换、插入:appendChild,添加。removeChild,移除。replaceChild,替换。Before,插入。查找:getElementsByTagName,通过标签名称。getElementsByName,通过元素的Name属性的值。getElementById,通过元素id,唯一性。2、JS中什么是伪数组?如何将伪数组转化为标准数组?伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为。但仍可以对真正数组遍历方法来遍历它们。典型的是函数的arguement参数,还有像调用getElementsByTagName、document.childNodes之类的,它们都返回NodeList对象,都属于伪数组。可以用Atotype.slice.call(fakeArray)将数组转化为真正的Array对象。3、JS中callee和caller的作用。caller是返回一个对函数的引用,该函数调用了当前函数;callee是返回正在被执行的函数,也就是所指定的function对象的正文。4、请说出三种减低页面加载时间的方法。1.压缩CSS、JS文件。2.合并JS、CSS文件,减少HTTP请求。3.外部JS、CSS文件放最底下。4.减少DOM的操作,尽可能用变量替代不必要的DOM操作。5、为什么用多个域名来存储网络资源会更有效?确保用户在不同地区用最快的速度打开网站,其中某个域名崩溃,用户也能通过其他域名访问网站。6、如何消除一个数组里面重复的元素?indexOf:返回某个指定的字符串值在字符串中首次出现的位置,对大小写敏感,若没有,则返回-1。7、写一个function,清除字符串前后的空格(兼容所有的浏览器)。8、统计字符串中字母个数或统计最多字母数。str.charAt(i):返回指定位置的字符,i在0~str.length之间,如果i不在0~str.length之间,该方法返回一个空字符串。9、截取字符串"abcdefg"中的"egf"。10、实现一个函数clone,可以对JS中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。11、JS中如何检测一个变量是string类型?typeof(obj)=="string";obj.constructor==string;12、写出三个使用this的典型应用。事件:onclickthis,发生事件的对象;构造函数:this,new出来的object;call/apply:改变this;13、网页中实现一个计算当年还剩多少时间的倒计时程序,要求网页上实时动态显示“xx年还剩xx天xx时xx分xx秒”。web前端面试题及答案「篇四」1、什么是盒子模型?在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或区域。4个部分一起构成了css中元素的盒模型。2、行内元素有哪些?块级元素有哪些?空(void)元素有那些?行内元素:a、b、span、img、input、strong、select、label、em、button、textarea块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote空元素:即系没有内容的HTML元素,例如:br、meta、hr、link、input、img3、CSS实现垂直水平居中一道经典的问题,实现方法有很多种,以下是其中一种实现:HTML结构:CSS:.wrapper{position:relative;}.content{background-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资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。5、什么是CSSHack?一般来说是针对不同的浏览器写不同的CSS,就是CSSHack。IE浏览器Hack一般又分为三种,条件Hack、属性级Hack、选择符Hack(详细参考CSS文档:css文档)。例如://1、条件Hack//2、属性Hack.test{color:#090\9;/*ForIE8+*/*color:#f00;/*ForIE7andearlier*/_color:#ff0;/*ForIE6andearlier*/}//3、选择符Hack*html.test{color:#090;}/*ForIE6andearlier*/*+html.test{color:#ff0;}/*ForIE7*/6、简述同步和异步的区别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026九江银行广州分行社会招聘考试参考题库及答案解析
- 2026年上半年四川雅安市雨城区人民医院招聘员额制人员12人笔试参考题库及答案解析
- 二次根式的乘法与除法课件2025-2026学年人教版数学八年级下册
- 2026河南安阳市精神卫生医院招聘16人考试备考试题及答案解析
- 2026安康高新第八幼儿园招聘笔试模拟试题及答案解析
- 2026广东深圳市南山区桃源卓雅幼儿园招聘考试参考题库及答案解析
- 2026国网电力空间技术有限公司高校毕业生招聘(第二批)4人考试备考试题及答案解析
- 守护绿水青山共建美丽中国-2026年植树节课件
- 2026年吉安市阳光学校面向社会公开招聘15名劳务派遣工作人员考试参考试题及答案解析
- 2026年国网天津市电力公司高校毕业生招聘56人(第二批)考试备考题库及答案解析
- 救护车驾驶员安全教育
- 2024北京西城区高三一模语文试题及答案
- 航天禁(限)用工艺目录(2021版)-发文稿(公开)
- 中国重症加强治疗病房(ICU)建设与管理指南课件
- (外研版3起)英语四年级上册单词字帖书写练习(手写体)高清打印版
- 物流系统规划与设计说课
- 学前教育学第2版全套PPT完整教学课件
- 2023年高中学业水平合格考试英语词汇表(复习必背)
- 本科专业评估指标体系
- DLT 802.7-2010 电力电缆用导管技术条件 第7部分:非开挖用改性聚丙烯塑料电缆导管
- 学习-八年级英语动词不定式
评论
0/150
提交评论