互联网公司前端面试

1、javascript:void(0)起什么作用,在什么时候用到?

答:javascript中的void是一个操作符,该操作符指定一个要计算的表达式,但是不返回值。 在做页面是,如果想做一个连接点击后不做任何事情,或者做其他事情,可以设置属性href="#",但是这样会有一个问题,当页面有滚动条时,点击会跳到页面顶端,是因为"#"默认的瞄点位置是top。而仅仅表示一个死链接。

2、CSS选择符、属性继承、优先级算法以及CSS3新增伪类、新特性

答:

CSS 选择符:

1)      id选择器(# myid)

2)      类选择器(.myclassname)

3)      标签选择器(div, h1, p)

4)      相邻选择器(h1 + p)

5)      子选择器(ul > li)

6)      后代选择器(li a)

7)      通配符选择器( * )

8)      属性选择器(a[rel = "external"])

9)      伪类选择器(a: hover, li:nth-child)

可继承的样式:

1)      font-size

2)      font-family

3)      color

4)      text-indent

不可继承的样式:

1)      border

2)      padding

3)      margin

4)      width

5)      height

优先级算法:

1)      优先级就近原则,同权重情况下样式定义最近者为准;

2)      载入样式以最后载入的定位为准;

3)      !important >  id > class > tag  

4)      important 比 内联优先级高,但内联比 id 要高

CSS3新增伪类举例:

1)      p:first-of-type  选择属于其父元素的首个 <p> 元素的每个 <p> 元素。

2)      p:last-of-type   选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

3)      p:only-of-type  选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

4)      p:only-child     选择属于其父元素的唯一子元素的每个 <p> 元素。

5)      p:nth-child(2)  选择属于其父元素的第二个子元素的每个 <p> 元素。

6)      :enabled :disabled 控制表单控件的禁用状态。

7)      :checked         单选框或复选框被选中。

CSS3有哪些新特性?

1)    CSS3实现圆角(border-radius),阴影(box-shadow),

2)    对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)

3)    transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜

4)    增加了更多的CSS选择器  多背景 rgba 

5)    在CSS3中唯一引入的伪元素是 ::selection.

6)    媒体查询,多栏布局

7)    border-image

3、浏览器渲染过程

答:

用户访问网页,发送一个http请求到网络服务器。
网络服务器(应用服务器)解析请求,发送请求给数据库服务器。
数据服务器返回数据给网络服务器,网络服务器解析数据,并生成html文件内容放入http response中,返回给浏览器。
浏览器解析http response。
浏览器创建DOM树。
浏览器下载css,并应用在DOM树上,进行渲染。
浏览器下载js,并解析执行js。
 
4、前端性能优化
答:

JavaScript:

  1、把脚本进行压缩(移除不必要的字符,注释以及空行)。

  2、对部分js文件进行合并,以减少http的请求个数,以减少服务器端的压力——但是要量力而行,因为如果你的js文件很大,下载很慢的话,很多功能都不能正常进行,我们可以按照业务进行合并。

  3、使用外部js文件。因为现在很多浏览器都有缓存,明显会减少http请求数。

  4、将脚本放在页面底部。先让用户看到内容,然后再加载js,这样用户会感觉页面加载速度很快。

CSS:

  1、合并多个css文件,以减少http的请求个数,以减少服务器端的压力。

  2、使用外部css文件。主要原因是浏览器缓存,以减少http请求。

  3、放在页面顶部(head标签处),防止出现“无样式内容的闪烁”。

5、js压缩混淆的插件及原理

6、react与传统框架的区别

7、webpack图片和插件的配置

posted @ 2017-07-07 17:09  郑庙华  阅读(436)  评论(0编辑  收藏  举报