面经总结
来源:互联网 发布:java项目怎么重新编译 编辑:程序博客网 时间:2024/05/24 22:45
- 手写闭包,继承
function F(){ var arr=[]; for(var i=0;i<10;i++){ arr[i]=(function(x){ return function(){ return x; } }(i)); } return arr;}
function Animal(name){ this.name = name;}animal.prototype.sayName=function(){ alert(hello,+'this.name');}var cat = new Animal('cat');
- 手写事件绑定
<ul> <li>1</li> <li>2</li> <li>3</li></ul><script> var lis=document.getElementsByTagName('li'); for(var i=0;i<lis.length;i++){ function(i){ lis[i].addEventListener('click',function(e){ alert(i+1); },false); }(i); }</script>
- css3画一个三角形,用content:0,boder:很大,三面border透明
width:0px; height:0px; border-bottom: 100px solid green; border-left: 50px solid transparent; border-right: 50px solid transparent;
- 图片延迟加载怎么实现,监听scroll事件,替换src
- websocket原理,应用场景:扫描二维码后,跳转登陆
- 前端路由的实现原理,hashchange
- ES6中有什么特性,promise实现原理
- 手写after方式清除浮动,一个冒号和两个冒号的区别
.clearfix::before, .clearfix::after { content:""; display:table;}.clearfix::after { clear:both;}.clearfix { zoom:1; /* For IE 6/7 (trigger hasLayout) */}
- CSS选择器,nth-chlid(n)和nth-type(n)区别
**ele:nth-child(n):ele的父元素的子元素的第n个,且n为ele
ele:nth-type-of(n):ele的父元素的子元素的ele集合里的第n个**
计算机网络
三次握手
四次挥手
操作系统
进程和线程的区别
进程间如何通信
操作系统中有几种状态
百度一面
1、手写jsonp的实现
2、手写链表倒数第K个查找
3、http请求头,请求体,cookie在哪个里面?url在哪里面?
4、垂直居中,多行文本垂直居中
5、原型链的解释
6、对闭包的理解,实现一个暴露内部变量,而且外部可以访问修改的函数(get和set,闭包实现)
7、{}=={}? []==[]? null==undefined?
8、基本的数据类型
9、基本的两列自适应布局
10、unix中常用的命令行
11、OSI模型,HTTP,TCP,UDP分别在哪些层
12、网站性能优化
13、解释平衡二叉树,以及在数据结构中的应用(红黑树)
14、快排的时间复杂度和空间复杂度。
百度二面
1、手写一个jQuery插件
2、在jquery方法和原型上面添加方法的区别和实现(
new jQuery.fn.init)
3、手写一个递归函数(考察arguments.callee,以及arguments的解释)
4、对前端路由的理解?前后端路由的区别?
5、介绍一下webpack和gulp,以及项目中具体的使用
6、你对es6的了解
7、解释一下vue和react,以及异同点
8、关于平衡二叉树
9、前后端分离的意义以及对前端工程化的理解
10、使用css实现一个三角形(盒模型border和css旋转两种方法,主要考察css3旋转)
11、原生ajax,用promise手写ajax
原生:
var xhr = new XMLHttpRequest();xhr.onreadyStateChange = complete();xhr.open('GET',url,true);xhr.send();complete(){ if(xhr.readyState ==4&&xhr.status==200){ }}
12、手写一个类的继承,并解释一下
13、解释一下call函数和apply函数的作用,以及用法
改变this的绑定,通过设置参数使当前函数可以使用其他函数的方法,除第一个参数以外,call的参数是逗号区分,apply参数是数组(当不知道参数内容是可以用数组)
call,apply都是立马调用对应的函数而bind会生成一个新的函数(setInterval())
百度三面
总结就是,如果你前一面没有答好的问题,下一面依然很可能问你,所以做好总结。
- Android面经总结
- Android面经总结
- Android面经总结
- 面经总结
- 面经总结
- Java面经总结
- 面经总结
- 面经总结
- 网友面经总结
- 面经总结
- 面经-来自资深猎头的总结
- #F面经#f design question 总结
- 2017暑期前端实习面经总结
- 2018秋招前端面经总结
- 2018秋招前端面经总结
- 面试题总结(自己总结)
- java面试题总结
- 面试题总结
- 安卓输入流转String
- BZOJ P3287 Mato的刷屏计划
- win10插入外设自动播放关闭
- JSONObject null 与 "null" 判断
- JS实现逐个消失
- 面经总结
- 命令csplit和split使用详解
- web开发模式_jsp+Servelt
- 把raw里的文件复制到SD卡中
- Kubernetes ReplicationController源码分析
- 05:Tensorflow高级API的进阶--利用tf.contrib.learn建立输入函数
- Casino Malaysia Sport Books REBATE 0.35% by iBET
- web开发模式_servlet+jsp+javabean+3层结构
- 191. Number of 1 Bits