1.做个简单的自我介绍吧,重点说下你最近的一个项目。2.讲一下从用户在浏览器输入 URL 到页面完整展现出来的整个过程,越详细越好。3.HTTP 缓存有哪些策略?强缓存和协商缓存具体是怎么实现的?4.TCP 的三次握手和四次挥手过程说一下。为什么挥手需要四次?5.说下你对盒模型的理解,box-sizing 的两个值 content-box 和 border-box 有什么区别?6.实现一个元素水平垂直居中有哪些方法?至少说出三种。7.CSS 选择器的优先级是怎么计算的?!important 呢?8.var,let,const 声明变量有什么区别?什么是暂时性死区?9.JavaScript 的数据类型有哪些?如何判断一个变量是数组?10.谈谈你对原型和原型链的理解。proto_和 prototype 的关系是什么?11.介绍一下 Event Loop 机制,区分一下宏任务和微任务,并说出常见的宏任务和微任务。12.this 的指向在不同场景下有什么不同?如何改变 this 的指向?apply,call,bind 有什么区别?13.闭包是什么?它的应用场景有哪些?可能会导致什么问题?14.ES6 你常用到哪些新特性?展开说几个。15.什么是跨域?你有遇到过吗?你是怎么解决的?16.手写一个函数,实现数组的深拷贝。17.手写一个防抖(debounce) 函数。18.你有什么想问我的吗?