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.未来三年的职业规划