web前端面试题-各大公司面试题(百度)
来源:互联网 发布:网络犯罪调查好看吗 编辑:程序博客网 时间:2024/05/23 01:26
马上要换工作了,感觉自己很多东西都只知道怎么弄,不会查百度,不知道原理,网上整理了面试题,作为复习资料。
首先是各大公司的面试题
原始地址
http://www.jackpu.com/2016ge-da-hu-lian-wang-gong-si-qian-duan-mian-shi-ti-hui-zong/
百度
1 写出javascript运行结果
for(var i=0; i<10; i++){} alert(i);
answer:
10
2 Cookie、sessionStorage、localStorage的区别
answer:
SessionStorage 和 localStorage 是Html5 storage API 提供的, 可以把数据保存在本地,避免了数据在浏览器和服务器之间不必要的通信。
sessionStorage,localStorage, cookie 都是在浏览器存储的数据。
不同:
cookie数据始终在同源http中携带,即使不需要,也会在浏览器和服务器间来回传递。Storage只存在本地。
cookie数据有路径概念,可以限制cookie只能在某路径下。
大小不同
cookie:4k Storage:5M
有效期不同
sessionStorage: 仅在当前浏览器关闭前有效
localStorage:始终有效
cookie:过期之前有效
作用域不同
sessionStorage在打开的不同浏览器窗口不共享,即使同一页面
localStorage 在同源页面共享
cookie 同源页面共享
3 JSONP原理
answer:
Ajax存在不能跨域请求数据的问题。而Web上调用Js是不受跨域影响的。因为JSON数据格式恰好被Js支持,web客户端通过调用跨域服务器上动态生成的Js,从而达到跨域请求到JSON包的需求。 为了便于客户端调用JSON数据,形成了非正式的传输协议,也就是JSONP。 客户端传一个callback参数给跨域服务器,跨域服务器返回一个以callback为函数名包裹的JSON数据,这样客户端就可以处理跨域得到的JSON数据了。
4 简述css盒模型
answer:
一个盒子包括 内容 填充 边框 边界,而盒子模型包括这些属性,外边距,边框,内边距,内容。
5 说说get和post请求的区别
answer:
get: 将请求携带的参数直接拼接在url后面,传送的体积小
post: 将请求写在body里,传送的体积大。安全。
一般get用于获取数据,post是将数据传给服务器,进行修改。
这里推荐一篇文章,也细致的讲了区别,值得思考。
http://www.nowamagic.net/librarys/veda/detail/1919
6 运行结果
var a = {n: 1} var b = a; a.x = a = {n: 2}; console.log(a.x); console.log(b.x);
answer:
(a.x)->undefined
(b.x)->[object Object ]
解析:
http://www.bubuko.com/infodetail-712767.html
本题主要考查了js引用模式。
var a = {n: 1}
var b = a;
这两行代码
a 指向了一个对象 A{n:1}
b 也指向了对象A{n:1}
下一行代码很关键
a.x = a = {n: 2};
由于js赋值运算是从右往左的,但是 . 的运算等级最高, 所以 a.x 为对象A 新增了属性 x:undefined。 同时,由于b也指向对象A,所以b.x也是undefined。接着,由于从右往左的特性,先执行a={n:2},这时a指向了对象B{n:2}。
接着执行 a.x=a
很多人会认为这里是“对象B也新增了一个属性x,并指向对象B自己”
但实际上并非如此,
由于( . 运算符最先计算)一开始js已经先计算了a.x,便已经解析了这个a.x是对象A的x,所以在同一条公式的情况下再回来给a.x赋值,也不会说重新解析这个a.x为对象B的x。
所以 a.x=a 应理解为对象A的属性x指向了对象B.
这时,对象A: {n:1 x:对象B} 对象B: {n:2}
所以结果 a.x是输出对象B的x属性,由于遍历到顶端,也没有这个属性,所以输出undefined。 而b.x是输出的对象B。注意这里的[object Object]可不是2个对象的意思,对象的字符串形式,是隐式调用了Object对象的toString()方法,形式是:”[object Object]”。所以[object Object]表示的就只是一个对象罢了。
7 说说类的创建、继承和闭包
answer:
建议阅读JavaScript高级程序设计4-7章。
创建类:factory法,constructor法,prototype法,prototype+constructor结合,动态prototype法。
继承类:
原型链继承 构造继承 实例继承 拷贝继承 组合继承 寄生组合继承
闭包: 在函数外访问函数内变量的方法
8 是否有设计过通用的组件? 请设计一个 Dialog(弹出层) / Suggestion(自动完成) / Slider(图片轮播) 等组件,你会提供什么接口?调用过程是怎样的?可能会遇到什么细节问题?
answer:
具体靠自己经验了。
9 一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?越详细越好(考察知识广度)
answer:
输入地址-》浏览器查找域名的IP地址(DNS查找)-》浏览器向web服务器发送请求-》服务器永久重定向回应-》浏览器跟踪重定向地址-》服务器处理请求-》服务器返回http响应-》浏览器显示html-》浏览器发送请求获取在html中嵌套的资源-》浏览器发送异步请求
10 什么是 “use strict”? 使用它的好处和坏处是什么?
answer:
使用严格模式。消除语法不严谨的地方,保证代码安全,增进代码速度。缺点不知道,失去代码灵活性算吗?
- web前端面试题-各大公司面试题(百度)
- web前端面试题-各大公司面试题(360)
- web前端面试题-各大公司面试题(360)
- web前端面试题(百度)
- 各大公司面试题
- 各大公司面试题
- 百度前端面试题
- 百度web前端面试题-2015年
- 百度web前端面试题--2014年
- 百度web前端面试题---2014
- 大公司面试题
- web前端面试题
- Web前端面试题
- web前端面试题
- web前端面试题
- web前端面试题
- web前端面试题
- web前端面试题
- apache开启伪静态的方法 php篇
- Java 反射技术及其应用
- 主流技术
- zxing 二维码扫描心得
- 2016校招百度美团360机器学习岗面试经历
- web前端面试题-各大公司面试题(百度)
- windows7安装ios开发环境总结(VMware9.0+VMware补丁+dmg镜像+Xcode)
- 162. Find Peak Element
- Hadoop案例之自定义分片策略解决大量小文件问题
- js修饰者模式,可复用
- spring boot集成ehcache 2.x 用于hibernate二级缓存
- 如何准备机器学习工程师的面试 ?
- 自由与尊重真的好吗?
- 多进程优缺点