中软高科WEB前端面试题

一个朋友面试的题目,百度了一下这个中软高科貌似是一个培训机构。。。以下答案是我本人的理解,仅供参考

 

HTML+CSS

1、你能解释一下css的盒子模型吗?

  有两种盒子模型:IE盒子模型,W3C盒子模型。

  标准的CSS盒子模型包括:内容(content)、填充(padding)、边框(border)、边距(margin)。

  

 

2、XHTML和HTML的区别?

  最主要的差别:XHTML元素必须被正确的嵌套,XHTML必须被关闭,标签名必须用小写,XHTML文档必须拥有根元素。

  详细文章可以参考:HTML和XHTML的区别

 

3、行内元素有哪些?块级元素有哪些?

  1) 行内元素有:a  b  span  img  input  select  strong ...;

  2) 块级元素有:div  header  main  footer  section  ul  p  h1  h2 ...;

 

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

  1) id选择器(#)、类选择器(.)、标签选择器(div)、兄弟元素选择器(div + p)、子选择器(ul>li)、后代选择器(div a)、通配符选择器(*)、属性选择器(input[type="number"])、伪类选择器(a:hover,p:nth-child)

  2) 所有元素可继承:visibility和cursor。

    内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。

    列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。

    表格元素可继承:border-collapse。

  3) 内联样式表的权值最高 1000;

    ID 选择器的权值为 100;

    Class 类选择器的权值为 10;

    HTML 标签选择器的权值为 1

  4) important比内联优先级高

 

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

  1) 由结构层,表示层,行为层组成

  2) 结构层:对网页的内容作出描述;

    表示层:负责如何显示内容;

    行为层:对网页中的事件作出反应;

 

6、哪些浏览器支持HTML5,这些浏览器的内核分别是什么?

  目前使用较为广泛的浏览器有:IE,Google,Firefox,Safari和Opera;

  内核分别是:IE(Trident),WebKit,Gecko,WebKit,Presto;

 

7、写出5种以上IE6 BUG的解决办法,哪些你认为解决起来是最麻烦的?

  1) IE6在块级元素设置左右浮动,设定的margin造成双边距bug

    解决办法:display: inline;

  2) line-height,文本垂直居中差1px

    解决办法:padding-top代替line-height居中,或line-height加1或减1

  3) img于块元素中,底边多出空白

    解决办法:父级设置overflow: hidden; 或 img { display: block; } 或 _margin: -5px;

  4) li之间会有间距

    解决办法:float: left;

  5) position下的left,bottom错位

    解决办法:为父级(relative层)设置宽高或添加*zoom:1

  

  都很麻烦。。。

 

8、描述CSS reset的作用和用途

  reset的作用是让各个浏览器的CSS样式有一个统一的基准,理解为初始化css样式

 

9、解释CSS sprites,如何使用?

  Sprite是图片处理技术,俗称图片精灵。

  1、将用到的背景图片压缩为zip格式的压缩包
  2、用Css图片拼合生成器将其拼合成一张图片,然后下载该图片
  3、拼合完成后会生成相应的Css规则,该文件定位了每个图片的位置及图片的宽度和高度
  4、在Css样式中定位背景图片

 

10、你如何对网站的文件和资源进行优化?

  1) 利用浏览器缓存js文件和css文件

  2) 优化js,css代码,避免重用。

  3) 使用 css sprite合并图片。

  4) 文件合并,文件压缩。减少http请求,减少体积。

  5) 使用cdn托管资源

 

11、什么是语义化的HTML,HTML5新增的语义化标签有哪些?

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

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

  2) 比如:header,main,footer,canvas等

 

12、清楚浮动的几种方式,各自的优缺点。

  1) 父级元素定义高度:优点是简单,代码少,容易掌握,缺点是只适合高度固定的布局,一旦高度不一致时就会出现问题。

  2) 结尾处添加空div标签clear: both:优点是代码少,浏览器支持好,不容易出现怪问题,缺点是如果页面浮动布局多,就要增加很多空div,让人感觉很不爽。

  3) 父级元素设置overflow: hidden:优点是简单,代码少,浏览器支持好,缺点是不能和position配合使用,因为超出的尺寸的会被隐藏。

  只介绍三种。。。

 

JS

1、JavaScript 的 typeof 返回哪些数据类型?

  返回6中数据类型:undefined,string,Boolean,number,object,function。

 

2、split() join()的区别?数组方法pop() push() unshift() shift()。

  1) split() 方法用于把一个字符串分割成字符串数组。

    join() 方法用于把数组中的所有元素放入一个字符串。

    区别:前者是将字符串切割成数组的形式,后者是将数组转化为字符串。

  2) shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

    unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度

    pop() 方法用于删除并返回数组的最后一个元素

    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度

 

3、事件绑定和普通事件有什么区别?

  普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定(addEventListener)方式添加事件可以添加多个

 

4、IE和标准下有哪些兼容性的写法?

  获取鼠标当前的坐标:

  IE下event.x,event.y;

  标准下event.pageX,event.pageY;

  获取窗体的高度和宽度:

  IE下document.body.offsetWidth和document.body.offsetHeight

  标准下document.documentElement.clientWidth和document.documentElement.clientHeight

  添加事件:

  IE下element.attachEvent(”onclick”, func);

  标准下element.addEventListener(”click”, func, true);

 

5、ajax 在请求的时候 get请求和 post请求的区别?

  1)使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来

  2)使用Get请求发送数据量小,Post请求发送数据量大

  3)Get请求安全性较低,Post安全性较高

 

posted @ 2017-05-04 13:36  _whys  阅读(1797)  评论(0编辑  收藏  举报