前端基础面试题总结
废话不说,直接上题,由于题量很多,不附上答案,有需要,可以单独联系我
1.如果body中的content占用body的全部高度,不显示footer,如果content没有占用完全部的body显示footer?(用CSS实现)
2.setTimeout和setInterval,
2.1setTimeout的运行机制?
2.2如果setInterval(function(){该函数需要运行1500ms},1000),请问在10000ms中运行几次,会不会有丢包的现象?
2.3如果setTimeout(function(){该函数需要运行1000ms},1000),在该setTimeout下面有一个函数function A(){}需要运行5000ms,请问在当A在执行的过程中,setTimeout运行完以后,是应该显示setTimeout的运行结果,还是继续执行A?
3.cookie和session的区别
4.http协议是有状态的协议还是无状态的协议?无状态协议怎样记录用户?
5.排序算法(很重要,很重要,很重要)
6.typeof和instanceof
7.原型以及原型链,怎样遍历对象中的属性
8.数组,操作数组的方法,map filter。。。。具体怎样使用
9.怎样优化一个网站?假如腾讯网页是你做的,当好多用户在点击时,不出现死机或者卡顿的现象(流畅性--首屏加载/DNS缓存和稳定性--负载均衡)
10.js基本数据类型
11.es5和es6的区别
12.HTML5的标签
13.position的取值
14.怎样实现兼用,比如在ie中和谷歌中,给元素添加事件
15.flex
16.怎样实现轮播的功能,当将鼠标放上去的时候,停留在该图片上
17.BFC
18.float以及怎样清除浮动
19.margin折叠问题
20.ajax请求问题,怎样创建ajax
21.跨域问题
22.http和https的区别
23.reset(CSS)
24.怎样操作cookie、session、localstorage
25.history、window、location、navigator、screen都是干什么的
26.怎样判断一个数据是null(console.log(Object.prototype.toString.call(null));//[object Null])
27.浏览器的渲染机制
28.http的状态码
29.promise
30.react的执行顺序
31.什么是箭头函数?箭头函数中this指向哪里?怎样将箭头函数的this指向调用他的对象
32.es5和es6的区别
33.html5有哪些新的元素
34.webpack
35.各种原型继承、构造函数的优缺点
37.正则表达式
38.用reduce来写斐波那契数组,比如输入6,返回[1,1,2,3,5,8]
function fabonacci(num){ var arr = new Array(num).fill(1); return arr.reduce((pre,cur,index)=>{ if(index==0 || index==1){ pre.push(1); }else{ pre.push(pre[pre.length-1]+pre[pre.length-2]); } return pre; },[]) }
39.js的执行顺序
40.布局,顶部的高为50px,宽为100%,左边宽为50px,高自适应,右边自适应(html,body{height:100%})
41.考察作用域
var num = 25; function foo(){ console.log(this.num); } foo();//25 (function bar(){ this.num = 13; foo(); })(); console.log(num);//13 (function bar1(foo){ this.num = 23; foo(); })(foo)//23
42.事件冒泡和事件捕获
43.将一个字符串foo-bar转变成fooBar
44.组合框,比如用input和select组合形成一个组件,输入值和选择值都可以弹出innerHTML里面的内容
45.不继承私有变量
46.雪碧图
47.react单向流
48.react的diff算法
49.用js写个二叉树
50.归并排序算法
51.for in
52 for of
53.express和koa
54.如果数组越界了怎么做
55.如果服务器挂掉了怎么办
56.RSA和SHA,都是多少位的
57.websocket和socket.io有什么区别
58.c++/java/js中的socket有什么区别
59.面向对象封装、继承、多态在面向对js中的什么
60.服务器雪崩
61.
63.https请求
54.如果数组越界了怎么做
55.如果服务器挂掉了怎么办
56.RSA和SHA,都是多少位的
57.websocket和socket.io有什么区别
58.c++/java/js中的socket有什么区别
59.面向对象封装、继承、多态在面向对js中的什么
60.服务器雪崩
61.
if(!("a" in window)){ var a = 1; } console.log(a) //162.原型和原型链
63.https请求
64.针对明文传输,怎样加密
65.闭包
65.闭包
66.浏览器内核有哪几种
67.kmp算法,时间空间复杂度