2019 年 9月到10月 web前端面试题总结

665 阅读3分钟

2019年9月到10月大概面试了30多家公司,对经常被问到的题目做了一些总结,大部分都是没有答案,只写了题目,大家自行取阅。

友情提示:简历上面的写的熟悉的技能一定要每个都看一遍,保证每个都很清楚,不仅知道结果还要知道原因

js相关

1.页面的重排和重绘

2.evevt loop 宏任务 微任务 setTimeout promise分别属于什么任务,相关代码输出的问题

3.闭包原理,项目中的例子

4.原型机继承,prototype 隐式原型链__proto__的关系

4-1 常用的继承方式

5.bind call apply 的区别

6.深拷贝 浅拷贝

7.数组去重的方法

7_1 数组合并的方法

8.用原生js写一个const静态变量的方法,思路使用Object.defineProperty方法,重写set方法,在set方法中直接throw error

9.es6 promise之前的认真看完,promise generator async分别是什么,区别及联系

9_1 promise执行过程

9_2 Async 错误信息怎么拿

10.防抖动 节流

11.原生ajax怎么写

12.跨域 原因及解决方法 同源策略

13.web攻击方式和防御手段 1.XSS攻击(跨站脚本攻击)2.CSRF攻击(跨站请求伪造)3.SQL注入 4.session攻击会话劫持 14.cookie sessionStorage localStorage区别

15.restful 规则

16.get和post的区别

17.简单请求和复杂请求 简单请求get post 复杂请求put update delete

18.强缓存 协商缓存 cache-control etag expire

19.一个url从输入到页面加载完成所经历的过程

19-1 DNS域名解析

19-2 tcp协议 三次握手 四次挥手

19-3 tcp 属于传输层 http 属于应用层

19-4 http1.0 http2.0 https的区别

20.自定义事件机制,即捕获和冒泡,addListener函数,参数即默认值

21.new 操作具体做了什么 www.jianshu.com/p/a69d7374f…

22.柯里化

23.$.ready 和window.onload区别

24.对象排序,切割

数据结构:

常用的几种数据结构:

1.二叉树,多叉树,链表,堆,栈,队列

2.广度优先遍历,深度优先遍历,最好熟悉起伪代码写法

3.常用排序算法,冒泡排序,快速排序,堆排序www.cnblogs.com/onepixel/ar…

React相关

1.react生命周期

2.setState具体做了什么

3.怎么实现setState异步操作,即立即拿到setState新更新的值

4.父子组建的传递

5.Redux 是什么,redux具体怎么工作的,action reducer是什么

6.虚拟dom diff算法

7.React 路由 实现原理

8.Mobx tunable(了解)

vue 相关

附上总结的vue链接(比较简单,欢迎沟通交流) note.youdao.com/noteshare?i…

1.vue生命周期

2.双向绑定原理,有没有看过相关源码

3.父子组件传值

4.vuex

5.vue router配置,路由拦截

react vue 和原生js的区别

(加上mvc和mvvm更出彩,但是别给自己挖坑,先清楚mvc和mvvm是啥)

html相关

1.html5新特性 sessionStorage

2.怪异盒模型

3.bfc规范

css相关

1.动画animation 工作过程中做过的动画

2.transion属性

3.弹性盒布局 flex 常用属性

4.两栏布局 原来的table布局

5.垂直水平居中 提示:1.margin负值 2.transform tanslateX 3.left top bottom right为0 4.flex

6.position 5个属性值,各自特点

比较宽泛的问题:(这些都提前想好组织好语言)

1.工作过程中遇到的问题,及解决方法

2.工作过程中最有挑战的事情

3.未来三年的职业规划