前端笔试题
1.前端和计算机相关知识
1.你能描述一下渐进增强和优雅降级之间的不同吗
2.浏览器兼容问题
3.如何对网站的文件和资源进行优化?
4.怎么学习前端?怎么接触前端新知识?
5.关于前后端分离
6.关于浏览器内核(渲染引擎)
7.浏览器加载文件顺序以及repaint/reflow
8.为什么使用多个域名来存储网络资源会更有效?
9.进程和线程的区别
10.前端开发的优化问题
11.Flash,Ajax各自的优缺点,使用中如何取舍?
2.CSS
1.CSS3
2.css居中的方式
3.请写一个简单的幻灯效果页面
4.什么是无样式内容闪烁?如何避免?
5.display:none和visibility:hidden的区别
6.解释浮动和工作原理
7.清除浮动
8.解释CSS Sprits,以及你要如何使用?
9.你最喜欢的图片替换方法是什么?你将如何使用?
10.讨论CSS hacks, 条件引用或其他
11.如何为有功能限制的浏览器提供网页
12.在书写高效CSS时会有哪些问题需要考虑?
13.如何优化网页的打印样式?
14.描述下你曾经使用过的CSS 预处理的优缺点
15.如果设计中使用了非标准的字体, 你将如何实现?
16.解释下浏览器是如何判断元素是否匹配某个 CSS 选择器?
17.解释一下你对盒模型的理解,以及如何在 CSS 中告诉浏览器使用不同的盒模型来渲染你的布局。
18.伪类的用法
19.描述下"reset"css文件的作用和使用它的好处
20.请解释一下 * { box-sizing: border-box; } 的作用, 并且说明使用它有什么好处?
21.block, inline和inline-block的区别
22.css动画和js动画的优缺点
23.你用过媒体查询,或针对移动端的布局/CSS 吗?
24.有哪些隐藏内容的方法(同时还要保证屏幕阅读器可用)
25.CSS选择器级别
26.alt和title的区别
27.知道bfc吗?
28.行内元素,块级元素,空元素各有哪些?
3.html
1.h5的改进:
2.什么是语义化的html?
3.从前端角度出发谈谈做好seo应该注意什么?
4.文档类型(DOCTYPE)
5.使用XHTML的局限有哪些?
6.如果网页内容需要多语言,要怎么做?
7.data-*属性的作用
8.如果把 HTML5 看作做一个开放平台,那它的构建模块有哪些?
9.请描述一下 cookies,sessionStorage 和 localStorage 的区别?
10.浏览器本地存储与服务器端存储之间的区别
11.sessionStorage和页面js数据对象的区别
12.canvas和svg的区别?
13.href和src的区别
4.js
1.ajax, 跨域, jsonp
2.apply和call的用法和区别:
3.bind函数的兼容性
4.解释下事件代理
5.解释下js中this是怎么工作的?
6.继承
7.AMD vs. CommonJS?
8.什么是哈希表?
9.什么是闭包? 闭包有什么作用?
10.伪数组:
11.undefined和null的区别, 还有undeclared:
12.事件冒泡机制: 
13.解释下为什么接下来这段代码不是 IIFE(立即调用的函数表达式):function foo(){ }();?
14."attribute" 和 "property" 的区别是什么?
15.请指出 document load 和 document ready 两个事件的区别。
16.什么是use strict? 其好处坏处分别是什么?
17.浏览器端的js包括哪几个部分?
18.DOM包括哪些对象?
19.js有哪些基本类型?
20.基本类型与引用类型有什么区别?
21.关于js的垃圾收集例程
22.ES5中, 除了函数,什么能够产生作用域?
23.js有几种函数调用方式?
24.描述事件模型?IE的事件模型是怎样的?事件代理是什么?事件代理中怎么定位实际事件产生的目标?
25.js动画有哪些实现方法?
26.还有什么实现动画的方法?
27.面向对象有哪几个特点? 
28.如何判断属性来自自身对象还是原型链?
29.ES6新特性
30.如何获取某个DOM节点,节点遍历方式
31.用LESS如何给某些属性加浏览器前缀?
32.js异步模式如何实现?
33.事件机制,如何绑定事件处理函数
34.图片预加载
35.如果在同一个元素上绑定了两个click事件, 一个在捕获阶段执行, 一个在冒泡阶段执行. 那么当触发click条件时, 会执行几个事件? 执行顺序是什么?
36.js中怎么实现块级作用域?
37.构造函数里定义function和使用prototype.func的区别?
38.js实现对象的深克隆
5.jquery问题
6.一些编程题
1.匿名函数变量
2.this指向
3.定时
4.点击一个ul的五个li元素,分别弹出他们的序号,怎么做?
7.js算法题
1. js实现数组去重怎么实现?
2.
一、前端编程
1. 你能描述一下渐进增强和优雅降级之间的不同吗?
答:
定义:
优雅降级(graceful degradation): 一开始就构建站点的完整功能,然后针对浏览器测试和修复
渐进增强(progressive enhancement): 一开始只构建站点的最少特性,然后不断针对各浏览器追加功能。 
都关注于同一网站在不同设备里不同浏览器下的表现程度
区别:
“优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站. 而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。
“渐进增强”观点则认为应关注于内容本身。请注意其中的差别:我甚至连“浏览器”三个字都没提
理解:
"优雅降级"就是首先完整地实现整个网站,包括其中的功能和效果. 然后再为那些无法支持所有功能的浏览器增加候选方案, 使之在旧式浏览器上以某种形式降级体验却不至于完全失效.
"渐进增强"则是从浏览器支持的基本功能开始, 首先为所有设备准备好清晰且语义化的html及完整内容, 然后再以无侵入的方法向页面增加无害于基础浏览器的额外样式和功能. 当浏览器升级时, 它们会自动呈现并发挥作用.
  参考自: 渐进增强、优雅降级  渐进增强和优雅降级
2. 浏览器兼容问题:
问题1   不同浏览器的标签默认的外补丁和内补丁不同.
即随便写几个标签, 在不加样式控制的情况下, 各自的margin和padding差异较大.
解决方法: CCS里:  *{margin:0; padding:0}
问题2   块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大 
会使得ie6后面的一块被顶到下一行.
解决方案: 在float的标签样式中加入 display: inline; 将其转化为行内属性
问题3  设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度
IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
解决方案: 给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度
原因: ie8之前的浏览器都会给标签一个最小默认的行高的高度. 即使标签是空的,这个标签的高度还是会达到默认的行高.
问题4  行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug
解决: 在display:block;后面加入display:inline;display:table;
问题5  图片默认有间距
几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
解决: 使用float属性为img布局
问题6  标签最低高度设置min-height不兼容
因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容
如果我们要设置一个标签的最小高度200px,需要进行的设置为:{min-height:200px; height:auto !important; height:200px; overflow:visible;}
问题7  透明度的兼容CSS设置
使用hacker
IE6认识的hacker是下划线_和*
IE7,遨游认识的hacker是*
前端测试和后端测试的区别问题8  IE ol的序号全为1, 不递增
解决: li设置样式{display: list-item}
问题9 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。