对前端工程师的理解 [web前端工程师面试题及答案]

发布时间:2018-06-23 07:57:07 来源: 教学文本 点击:

  面试题在web前端工程师求职者的面试中占有重要的位置,以下是小编为大家整理的:web前端工程师面试题及答案,仅供大家参考!

  web前端工程师面试题及答案

  1. 常用那几种浏览器测试?有哪些内核(Layout Engine)?

  (Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera。 (Q2) 内核:Trident,Gecko,Presto,Webkit。

  2. 说下行内元素和块级元素的区别?行内块元素的兼容性使用?

  (IE8 以下)

  行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效。 块级元素:各占据一行,垂直方向排列。从新行开始结束接着一个断行。 兼容性:display:inline-block;display:inline;zoom:1;

  3. 清除浮动有哪些方式?比较好的方式是哪一种?

  (1)父级div定义height。

  (2)结尾处加空div标签clear:both。

  (3)父级div定义伪类:after和zoom。

  (4)父级div定义overflow:hidden。

  (5)父级div定义overflow:auto。

  (6)父级div也浮动,需要定义宽度。

  (7)父级div定义display:table。

  (8)结尾处加br标签clear:both。

  总结:比较好的是第3种方式,简洁方便。

  4. box-sizing常用的属性有哪些?分别有什么作用? 常用的属性:box-sizing: content-box border-box inherit;

  作用:content-box:宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框(元素默认效果)。

  border-box:元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

  5. Doctype作用?标准模式与兼容模式各有什么区别?

  (Q1) 告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

  (Q2) 标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

  6. HTML5 为什么只需要写 < Doctype html>?

  HTML5不基于 SGML,因此不需要对DTD进行引用;但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。 而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

  7. 页面导入样式时,使用link和@import有什么区别?

  (1)link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;而@import是CSS提供的,只能用于加载CSS;

  (2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面

  被加载完再加载;

  (3)import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题。

  总之,link要优于@import。

  8. 介绍一下你对浏览器内核的理解?

  IE浏览器的内核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera内核原为Presto

  ,现为Blink;

  内核主要分成两部分:

  渲染引擎(layout engineer或Rendering Engine)和JS引擎

  渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。 所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。

  JS引擎则:解析和执行javascript来实现网页的动态效果。 最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。

  9. html5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

  (Q1) HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。

  (1)绘画 canvas;

  (2)用于媒介回放的 video 和 audio 元素;

  (3)本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;

  (4)sessionStorage 的数据在浏览器关闭后自动删除;

  (5)语意化更好的内容元素,比如 article、footer、header、nav、section; (6)表单控件,calendar、date、time、email、url、search;

  (7)新的技术webworker, websocket, Geolocation;

  (Q2) IE8/IE7/IE6支持通过document.createElement方法产生的标签, 可以利用这一特性让这些浏览器支持HTML5新标签, 浏览器支持新标签后,还需要添加标签默认的样式。 也可以直接使用成熟的框架、比如html5shim,

  10. 简述一下你对HTML语义化的理解?

  用正确的标签做正确的事情。

  1. html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;

  2. 即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的; 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;

  3. 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

  11 ##常见兼容性问题?

  png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.

  浏览器默认的margin和padding不同。解决方案是加一个全局的

  {margin:0;padding:0;}来统一。 IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。 浮动ie产生的双倍距离 #box{ float:left; width:10px; margin:0 0 0 100px;}

  这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入 ——_display:inline;将其转化为行内属性。(_这个符号只有ie6会识别) 渐进识别的方式,从总体中逐渐排除局部。

  首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。 接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。 css .bb{ background-color:#f1ee18;/所有识别

  / .background-color:#00deff\9; /IE6、7、8识别

  / +background-color:#a200ff;/IE6、7识别

  / _background-color:#1e0bd1;/IE6识别/ }

  IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用

  getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性. 解决方法:统一通过getAttribute()获取自定义属性. IE下,even对象有x,y属性,但是没有pageX,pageY属性; Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.

  解决方法:(条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。 Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示, 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决.

  超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺

  序:L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}

  12.HTML5的离线储存,描述一下 cookies,

  sessionStorage 和 localStorage 的区别?

  cookie在浏览器和服务器间来回传递。 sessionStorage和localStorage不会

  sessionStorage和localStorage的存储空间更大;

  sessionStorage和localStorage有更多丰富易用的接口;

  sessionStorage和localStorage各自独立的存储空间;

  CSS一、 介绍一下CSS的盒子模型?

  (1)有两种, IE 盒子模型、标准 W3C 盒子模型;IE的content部分包含了 border 和 pading;

  (2)盒模型: 内容(content)、填充(padding)、边界(margin)、 边框 (border).

  在web前端工程师求职者的面试中,回答面试题很重要,准备一份优秀的面试自我介绍也相当重要。

  web前端工程师面试自我介绍范文(一)

  您好,我是20XX年毕业于东莞理工学院计算机科学技术专业的。

  大学四年时间,我主要学习的是关于C语言、C 、JAVA等编程书籍以及软件,熟悉JAVA的Struts框架。曾经在某电子科技公司完成了手机刷卡器的开发工作,主要完成了注册、应用等一系列流程。

  随着触摸屏手机的普及,苹果、三星、HTC手机越来越流行。手机应用开发越来越手欢迎,很多手机游戏、应用造就了一大批软件开发公司的出现。至于为什么读这个专业呢,就是因为这些手机游戏与应用吸引了我,所以大学四年,我一直钻研手机的软件开发,最自豪的是,曾经开发过一款手机游戏,一个月的下载量达到几十万。而正是如此,因为自己所做的东西,受到了别人的肯定,一直鼓励着喔,不断开发新的吸引人的软件。

  web前端工程师面试自我介绍范文(二)

  我叫王海艳,是一名即将于20XX年7月毕业于长春大学计算科学与技术专业的学生。借此择业之际,我怀着一颗赤诚的心和对事业的执著追求,真诚地推荐自己。

  我热爱这个专业,并投入热情和努力。在校期间,我掌握了扎实的专业基础知识,学习数学和计算机的基础知识,培养了逻辑思维能力和认真细心的学习态度,并完成了各项学习任务。由于我对java编程语言特别感兴趣,我利用课余时间参加了吉软国际软件工程师实训的培训班,专业的进行java编程方面的学习。主要学习了java核心技术、oracle数据库的相关操作和使用、jdbc连接数据库、web编程ssh框架,还做过几个项目,具备java开发的基础能力;此外,我顺利通过了国家英语四级考试,具备良好的听说读写能力。

  在学习上我一丝不苟,工作上我也任劳任怨,争创佳绩。我曾担任班上团支书,成功策划了班上的一系列团日活动,获得一致好评,我组织的团日活动被评为十佳团日活动之一,我也被评为“优秀团干部”,这为提高我的交际能力和培养我的团队合作精神打下了良好基础。

  在2014年10月到2014年2月这段期间,我曾在文思海辉技术有限公司vmware测试组实习,我负责的主要工作是根据测试的需求搭建德语系统,并在德语平台上根据case对vm的产品做一些测试。

  大学毕业,既是一个终点,更是一个起点。现在,我满怀信心地踏上了人生的新台阶,热忱地希望有一个让我发挥潜力和展现价值的舞台。盼望贵单位给我一个机会,我将全力以赴,用满腔的热情和辛勤的汗水,奉献自己的青春和才华!

  web前端工程师面试自我介绍范文(三)

  我叫,今年7月毕业于唐山师范学院计算机专业,获计算机学士学位。从考入大学那天起我一直努力学习,在大学生活中培养了良好的学习习惯,所学的课程包括了从计算机的基础知识到运用等许多方面。通过对这些知识的学习,我对这个领域的相关知识有了一定程度的理解和掌握。并做了大量的实践,进一步加深了对计算机的认识。在学好基础知识的同时还注重多方面全面发展,多次参加了学校的各种活动,在实习过程中将理论与实践结合起来,深受学校老师和同学的欢迎。

  大学生涯中,我吸取了丰富的专业知识并锻炼了自己的能力。通过大学里的苦读,我掌握了c语言,汇编语言,编译原理,powerbuilder,数据库原理, 并对c++v,c++,windows 编程等有一定了解。课外我还自学了delphi编程,asp动态网页及flash动画,并在大二下学期获得“数据库”考试证书。

  随着知识经济的诞临,社会将更加需要“专业突出,素质全面”的复合性 人才 。因此,课外我还积极投身于各种班级、学院及社交活动。从不同层次、不同角度锻炼自己,自己的组织、管理能力及团队合作精神有很大提高。

  回顾大学几年来,我学到的最有用的知识是:自信与自学!体会最深的一句话就是:天下无难事,只怕有心人!


看过“web前端工程师面试题及答案”的人还看了:

1.前端工程师面试题及答案

2.web前端开发面试题及答案

3.web前端工程师面试题及答案

4.web前端面试题整理参考

5.web前端js面试题及答案

6.web前端工程师面试自我介绍

相关热词搜索:面试题 web前端工程师面试题及答案 web前端工程师面试题 web前端面试题及答案

版权所有 静静文本网 www.lxzcp.com