2016年最新web前端全栈开发面试题一

作者:日期:2017-01-06 21:37:53 点击:1272

Javascript部分:

1.请分别说明利用js数组模拟列队和堆栈的方法?
2.原生javascript在不同浏览器中有哪些不兼容?
3.请描述下原生js事件
(包括但不限于:事件不同阶段,应用场景,事件代理,绑定和解绑,浏览器兼容等)
4.不借助js,只使用css2,在不设定容器高度情况下,如何实现一个自适应浏览器小小改变的正方形DIV?
5.原生JS实现getElementsByClassName函数(尽量使用递归使用)
6.从0-99这100个数中随机取出10个,要求不能有重复,可以自己设计数据结构
7.你平时如何评测你写的前端代码的性能和效率
8.写出正则表达式:第一个必须是字母,后面可以是字母,数字,下划线,总长度5-209.请问输出结果是什么
 

var msg "hello";
function great(name,attr){
name= "david";
var greating = msg+name+"!";
var msg = '您好';
for(var i= 0;i<10;i++){
var next = msg+'您的id是'+i*2+i;
}
console.log(arguments[0]);
console.log(arguments[1]);
console.log(greating);
console.log(next);
}
great('TOM');


10.说说下面输出的原因

var s1=new String('hello');
var s2= new String('hello');
s1===s2 //false
var s1 = 'hello';
var s2 = 'hello';
s1===s2 //true

11.请说出以下的结果

function fun(n,p){
console.log(p);
return {
fun:function(m){
return fun(m,n);
}
}
}
var a = fun(0);
a
.fun(1);a.fun(2);a.fun(3);
var b= fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1);
c.fun(2);
c.fun(3);
  1. 请写出以上代码运行的结果
function func1(){
var n = 99;
aAdd = function(){
this.n+=1;
console.log(this.n);
}
function func2(){
console.log(n);
}
return func2;
}
var result = func1();
result();
nAdd();
result();

13.loadScript(src,callback)加载网址为src的脚本,加载完成后,调用callback,请给出实现
14.用javascript打印出1-10000的素数
15.写出判断正确电子邮件格式的正则表达式
16.写出js中绑定事件的方法
17.正则表达式
1.电子邮箱
2.gmail邮箱 @前支持user+aaa@
3.010-123456 0531-11112222后接可选的 -3至4位分级
4.安全考虑,需要判断一个域名的根域是否是a.com
18.js代码编写中,需要注意哪些影响性能的因素
19.页面scroll事件触发可能太频繁,所以需要实现一个缓冲机制
0.给出简要思路
1.js代码实现

  1. 请编写一个可复用的插件,显示tree的功能
  2. 实现isDOMContains函数,判断A是否在B中
  3. 写一个正则,验证电话号码,格式为:”区号-号码” 其中区号是010,02N,或者0NNN,电话号码是7-8位数字
    23.数组的forEach ,every,some方法的作用是什么?写一个简单的代码来试试怎么使用它们
    24.异步加载javascript的方案
    25.为什么利用多个域名来存储网站资源会更有效
    26.一个页面上有大量的图片,加载很慢,你有哪些方法,给用户更好的体验
    27.实现isArray isFunction isNull

HTML5部分:

1.描述css3的transition属性
2.css3 transform和transition区别
3.background-size的具体作用与用法
4.单点触摸时,三个触摸事件分别是什么?事件的触摸列表的三对属性clientX/clientY,pageX/pageY,screenX/screenY 分别代表什么
5.手机dpr是什么?请写出iphone4,iphone6,iphone6 plus的dpr.
6.html5有几种缓存,各自的使用场景是什么,你使用过几种?
7.你能描述下,渐进增强和优雅降级之间的不同吗?
8.简要描述下你对viewport的理解
9.简要描述你对html5及css3及其包含的主要技术的理解
10.如何让面向移动设备的web站点,能够自动适应各种设备的屏幕分辨率
11.html5有哪些新特性?
12.如果处理html5新标签的浏览器兼容问题
13.谈谈对html5的了解
14.现在页面上有一个canvas元素
1.使用什么api可以将该cavans转化成可使用的图片
2.如果想要获取的图片只需要包含canvas内容的一部分,该如何操作
15.国际象棋棋盘是8*8黑白相间的方块组成,如果使用渐变绘制出这种方块背景,说说你的想法

Node部分:

1.简单介绍下Node.js/Backbone/Angular/Require.js
2.实现用promise的异步调用方式的代码,相同代码,请用ES6 yeild的异步调用方式重写,在经历了多个异步回调之后,如何拿到完整的堆栈信息(stack trace)?
3.服务端Node.js和浏览器js的区别是什么?
4.针对以下这些关键词,你有哪些了解
express
sass
gulp
browserify
HTML5 Boilerplate
bower
5.如何实现浏览器内多个标签页之间的通信?

上一篇: web前端培训-JavaScript模块化开发详解

下一篇: 写给想成为前端工程师的同学们