web前端面试问题
2017-11-09 14:48
302 查看
1.什么是变量提升,和变量声明。
2.普通函数和箭头函数的区别
3.let 和const的作用域,区别
4.跨域的解决方法
5.闭包的作用域
6.原型
7.如何判断一个单链是一个圆型链
8.TCP和UDP的区别
9.react的生命周期
10.vue双向绑定的原理
11.什么是事件委托,什么是事件冒泡
12.session,cookie,localstorage,sessionstorage,的区别.localstorage可以怎么去除.
1.http请求的方法
2.node中express中间件的原理
3.vue双向绑定的原理
4.数组去重
5.如何遍历二叉树
1.说一下关系型数据库与键值型数据库的区别
2.上传文件很多的时候,如何优化上传的速度
3.如果报网络超时的错误应如何解决
4.图片加载特别慢,应该如何解决
5.从输入域名后的响应流程是什么
1.状态码的种类及含义
2.h5存储方法
3.css盒子模型及选择器
4.h5,css3新增元素
5.跨域问题,如何解决,https://zhuanlan.zhihu.com/p/28562290,协议,域名,端口不同就叫跨域
6.看什么网站学习
7.position的属性
8.浏览器的内核
IE:Trident ;safari chrome:webkit;FireFox:Gecko
9.call函数实现继承 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/call
10.深拷贝与浅拷贝
对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没 有开辟新的栈,也就是复制的结果是两个对象指向同一个地址,修改其中一个对象的属性,则另一个对象的属性也会改变,而深复制则是开辟新的栈,两个对象对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。
var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'object'){ return; } else if(window.JSON){ str = JSON.stringify(obj), //系列化对象 newobj = JSON.parse(str); //还原 } else { for(var i in obj){ newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj;};
笔试题目:
基础图:
1.用css画一个三角形
2.正则表达式
3.如何判断一个元素是否在可视化区域
4.js的基本类型有哪些
5.解释一下css盒子重叠部分
问答题:
1.箭头函数的一些输出结果
2.如何处理行内块级元素的缝隙
3.http的常见状态码
4.domready和onload的区别
编程题
1.4次隔3毫秒就弹出一个弹窗结束
2.用js实现二叉树及遍历
面试:
1.cookier和session的区别
1),session 在服务器端,cookie 在客户端(浏览器)
2),session 默认被存在在服务器的一个文件里(不是内存)
3),session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
4),session 可以放在 文件、数据库、或内存中都可以。
5),用户验证这种场合一般会用 session
因此,维持一个会话的核心就是客户端的唯一标识,即 session id
2.http的方法有哪些,get和post的区别,发送参数的分别放在哪个地方
3.原型继承的_proto_属性,用图画出原型
对象
var one = {x:1};
var two =newObject();
one.__proto__===Object.prototype// true
two.__proto__===Object.prototype// true
one.toString===one.__proto__.toString// true
prototype
不像每个对象都有
构造函数,通过
4.异步的方法,手写一个promise的方法
5.跨域如何解决 https://github.com/wengjq/Blog/issues/2
6.css3IE盒子模型与标准盒子模型的区别
IE盒子模型的content包括padding与border 可用box-sizing设置
box-sizing:content-box 标准盒模型,默认的
box-sizing:border-box IE盒模型
7.vue的组件之间的通信,如何把子组件的消息传递到父组件
8.js如何设置一个私有属性
9.如何实现深拷贝,浅拷贝
10.call,apply,bind方法的区别
就是为了改变函数体内部 this 的指向。bind方法返回的仍然是一个函数,
11.http的事务
一.域名解析
2.普通函数和箭头函数的区别
3.let 和const的作用域,区别
4.跨域的解决方法
5.闭包的作用域
6.原型
7.如何判断一个单链是一个圆型链
8.TCP和UDP的区别
9.react的生命周期
10.vue双向绑定的原理
11.什么是事件委托,什么是事件冒泡
12.session,cookie,localstorage,sessionstorage,的区别.localstorage可以怎么去除.
1.http请求的方法
2.node中express中间件的原理
3.vue双向绑定的原理
4.数组去重
5.如何遍历二叉树
1.说一下关系型数据库与键值型数据库的区别
2.上传文件很多的时候,如何优化上传的速度
3.如果报网络超时的错误应如何解决
4.图片加载特别慢,应该如何解决
5.从输入域名后的响应流程是什么
1.状态码的种类及含义
2.h5存储方法
3.css盒子模型及选择器
4.h5,css3新增元素
5.跨域问题,如何解决,https://zhuanlan.zhihu.com/p/28562290,协议,域名,端口不同就叫跨域
6.看什么网站学习
7.position的属性
8.浏览器的内核
IE:Trident ;safari chrome:webkit;FireFox:Gecko
9.call函数实现继承 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/call
10.深拷贝与浅拷贝
对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没 有开辟新的栈,也就是复制的结果是两个对象指向同一个地址,修改其中一个对象的属性,则另一个对象的属性也会改变,而深复制则是开辟新的栈,两个对象对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。
var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'object'){ return; } else if(window.JSON){ str = JSON.stringify(obj), //系列化对象 newobj = JSON.parse(str); //还原 } else { for(var i in obj){ newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj;};
笔试题目:
基础图:
1.用css画一个三角形
2.正则表达式
3.如何判断一个元素是否在可视化区域
4.js的基本类型有哪些
5.解释一下css盒子重叠部分
问答题:
1.箭头函数的一些输出结果
2.如何处理行内块级元素的缝隙
3.http的常见状态码
4.domready和onload的区别
编程题
1.4次隔3毫秒就弹出一个弹窗结束
function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done'); }); } timeout(100).then((value) => { console.log(value); });
timeout方法返回一个
Promise实例,表示一段时间以后才会发生的结果。过了指定的时间(
ms参数)以后,
Promise实例的状态变为
resolved,就会触发
then方法绑定的回调函数。
2.用js实现二叉树及遍历
面试:
1.cookier和session的区别
1),session 在服务器端,cookie 在客户端(浏览器)
2),session 默认被存在在服务器的一个文件里(不是内存)
3),session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
4),session 可以放在 文件、数据库、或内存中都可以。
5),用户验证这种场合一般会用 session
因此,维持一个会话的核心就是客户端的唯一标识,即 session id
2.http的方法有哪些,get和post的区别,发送参数的分别放在哪个地方
3.原型继承的_proto_属性,用图画出原型
对象
__proto__属性的值就是它所对应的原型对象:
var one = {x:1};
var two =newObject();
one.__proto__===Object.prototype// true
two.__proto__===Object.prototype// true
one.toString===one.__proto__.toString// true
prototype
不像每个对象都有
__proto__属性来标识自己所继承的原型,只有函数才有
prototype属性。
构造函数,通过
prototype来存储要共享的属性和方法,也可以设置
prototype指向现存的对象来继承该对象。
4.异步的方法,手写一个promise的方法
5.跨域如何解决 https://github.com/wengjq/Blog/issues/2
6.css3IE盒子模型与标准盒子模型的区别
IE盒子模型的content包括padding与border 可用box-sizing设置
box-sizing:content-box 标准盒模型,默认的
box-sizing:border-box IE盒模型
7.vue的组件之间的通信,如何把子组件的消息传递到父组件
8.js如何设置一个私有属性
9.如何实现深拷贝,浅拷贝
10.call,apply,bind方法的区别
就是为了改变函数体内部 this 的指向。bind方法返回的仍然是一个函数,
11.http的事务
一.域名解析
二.发起TCP的3次握手
三.建立TCP连接后发起http请求
四.服务器端响应http请求,浏览器得到html代码
五. 浏览器解析html代码,并请求html代码中的资源.
六.浏览器对页面进行渲染呈现给用户
12.js基本数据类型和引用型数据类型的区别
JSON.parser()JSON.stringify()相关文章推荐
- web前端开发面试问题总结
- 这段时间面试WEB前端的面试问题总结
- web前端面试的主要会问到哪些问题
- 百度「Web 前端研发部」面试过程和常见问题 可能会采用哪些方法来面试 STAR 面试法 喜欢什么样的面试者 喜欢问的问题
- WEB前端面试问题汇总(持续更新整…
- web前端面试常见问题三------浮动原理和清除浮动
- web前端细节性问题(面试时可能遇到的问题)——div+css(2)
- WEB前端面试问题汇总2
- web前端面试问题及答案
- Web前端面试问题汇总
- web前端细节性问题(面试时可能遇到的问题)——div+css(1)
- web前端面试问题总结
- Web前端面试中遇到的问题
- 道客web前端开发实习生,电话面试问题
- 《Web 前端面试指南》1、JavaScript 闭包深入浅出
- WEB前端开发人员须知的常见浏览器兼容问题及解决技巧
- web前端遇到的问题
- web大前端开发中一些常见的安全性问题
- web 前端的一些小问题{续}
- web前端面试(四)