- TCP和UDP的区别
- 路由器是OSI模型的哪一层?为什么?
- css的动画类型有哪些?
- 你知道canvas吗?有哪些api?
- 知道svg相关的内容吗?
- TCP的连接和断开的过程?(三次握手和四次挥手)
有让我直接描述过程的,也有让我说详细一点儿的 - TCP的状态位你知道吗?
- TCP连接的过程中,服务器获得请求后,怎样才算是准备好了?(其实没有特别明白这个问题)
- url输入之后有哪些操作?
- promise、async/await、setTimeout的执行循序
===》js的事件队列:微事件队列和宏事件队列 - 事件冒泡、事件捕获和事件委托 ===》问我addEventListener的最后一位代表什么
- 说一下闭包,闭包的作用
- 跨域(CORS)的问题,详细说一下jsonp和img的过程
- 为什么说cookie不安全
- 说一下内存管理的方法?
- 怎么判断双向链表有没有循环
- 说一下position的属性值有哪些?最常用的三种
- 说一下typescript中你常用的方法
- ES6其中的属性
- 说一下对js的理解
- 说一下promise的理解:我说了异步的部分,被鄙视了,说为什么要把promise和异步掺杂在一起
- HTML5的新属性有哪些?
- React有哪些方法可以提升性能?
- 说一下React的diff算法:ABCD编程BADCE会怎么比较
- 说一下React和Vue的区别
- HTTPS和HTTP的区别(问了无数次)
- CSRF的解决方法
- XSS的解决方法
- 我说会过滤特殊字符,他问我在哪里过滤,我说会双方都过滤
- 问我会过滤什么,我说会把结合在一起的特殊字符过滤掉(后来查了一下要把<script这一类的过滤掉)
- 然后问我特殊字符过滤掉会不会影响用户的使用效果,我说会的,但是没有在意
- 然后我说要进行编码,否则进入详情页面特殊字符会出问题,但是他说React会自动进行编码的
- 后来我觉得他说单个字符影响性能,是想让我说会把数据进行encode
- 小程序的生命周期有哪些?
- 小程序的会话机制是什么?===》感觉面试官只是在跟我闲聊
- React的生命周期有哪些?
- React的优点和缺点有哪些?
- 介绍一下Redux
- cookie、sessionStorage、localStorage的区别(后两项其实是HTML5里面的)
- 如何判断两个对象是否相等(面试官没有为难我,跟我说不考虑深拷贝的问题)
- 我说了一种网上常说的那个json.parse和json.stringfy结合的,他说这样是不对的
- 后来我就说了for in的方法,应该算是勉强对的
- 说一下快速排序、冒泡排序的过程
- 插入排序的方法,当时问了一个很具体的问题
[1,3,5]和[2,3,6]如何合并为不重复的数组,复杂度为n - 说一下堆排序的时间复杂的,比较一下他和其他算法的性能
- 了解webpack那些属性?webpack到底解决了什么问题
- HTTP状态码?问过我301和302到底代表什么?或者是说几种常用到的
- HTTP的缓存方法?我说了原理?然后面试官问我有没有具体用过,我说没有,还很语重心长的告诉我要去试一试
- 也有人问我如何判断是否需要重新请求,问的应该就是缓存
- js数组的方法:阿里的那一面我是用sort方法抓住了面试官的心,问我forEach的最后一位代表什么
- DOM事件绑定的方法
- CSS中伪类和伪元素的区别,用伪元素的方法实现前方的小黑圆点
- 函数加括号是什么?(我说会立即执行,不知道对不对)
- 说一下堆和栈
- 说一下二叉树的n层有几个节点
- 匿名函数的作用,为什么要用匿名队列
- 说一下js的作用域
- ES5有类的概念吗?没有的话是用什么方法实现的
- 两个函数function1和function2是怎么实现继承的
- 数据库是怎么设计的
- 知道node.js吗
- 是用什么进行的包管理?为什么这么选择
- 说一下事件循环?几种异步操作的先后顺序?(重要的,最后写代码看一下,多看几个例子:process、setTimeout、setInterval)
牵扯事件队列、微事件队列和宏事件队列 - Set的复杂度是多少,Array.from(new Set)的复杂度是多少,手写一个Set