前端面试题(一)
一个朋友在一家公司面试的题目(准确说是培训公司),面试题目比较简单。
以下答案纯属个人意见(有错处麻烦指教)
选择题:
1) 'abcdefg'.substring(4)的结果是()
A:def
B:abc
C:bcd
D:efg
2) a=[1,2,3]; b=a; a.push(4); b.push(5); a,b分别是多少()
A:[1,2,3,4] [1,2,3,5]
B:[1,2,3,4,5] [1,2,3,4,5]
C:[1,2,3,4,4] [1,2,3,4,5]
D:[1,2,3,4,5] [1,2,3,5,5]
3) 以下数据类型是引用类型的是()
A:Array
B:String
C:Number
D:Date
4) 下列不属于盒模型的 css 属性的是()
A:margin
B:font
C:padding
D:border
5) 下列不属于 HTML5 的新特性的是()
A:localstorage
B:canvas
C:cookie
D:manifest
6) 下列不属于 CSS3 新属性的是()
A:transition
B:overflow
C:animation
D:transform
7) 下列不属于 img 属性的是()
A:alt
B:src
C:href
D:title
8) 用 jQuery 获取一个页面中所有 class 为 abc 的所有节点,下列方式正确的是()
A:$(".abc")
B:$("abc")
C:$("#abc")
D:$("*abc")
问答题:
1) 用 JavaScript 实现将字符串 "abcdca" 中的所有 a 替换为 s
var str = "abcdca";
方法一:
var res1 = str.replace(/a/g,"s");
方法二:
var res2 = str2.split('a').join('s');
2) 写出你所知道的 http 状态码及状态码的简单理解
列举个别:详情请百度
101:服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。
200:请求已成功,请求所希望的响应头或数据体将随此响应返回。
305:被请求的资源必须通过指定的代理才能被访问。
404:请求失败,请求所希望得到的资源未被在服务器上发现。
505:服务器不支持,或者拒绝支持在请求中使用的 HTTP 版本。
3) 写出你知道的 HTML5 新特性和新标签,css3 新属性
HTML新特性(部分)
1、简化的DOCTYPE声明 <!DOCTYPE HTML>;
2、新增的全局属性 contenteditable 表示设置HTML元素可编辑;
3、spellcheck 是否对用户输入的内容进行语法拼写检查,若检查不通过,下划线标注;
4、draggable 制定html元素是否可进行拖动。dropzone 用来规定当元素被拖动时发生的动作;
HTML新标签(部分)
绘画canvas;
用于媒介播放的 video 和 audio标签;
语义化更好的元素,如nav footer article;
表单控件,date、time、email、url、search;
CSS 新属性
过渡 transition
变换 transform
动画 animation
圆角 border-radius
阴影 box-shadow,text-shadow
...
4) 写出你所知道的 css 单位及简单描述
5) 写出你所知道的前端优化的技巧
1、减少http请求,合理设置 HTTP缓存
2、使用浏览器缓存
3、启用压缩
4、CSS Sprites
5、减少cookie传输
6、避免使用 eval
7、减少作用域链查找
8、CSS选择符优化
...
选择题答案:
1:D 2:B 3:AD
4:B 5:C 6:B
7:C 8:A
好无聊啊QAQ