1. 自我介绍2. JS定义变量方式?let const var区别?3. 为什么用const定义变量不可以被修改?底层原理?一定不能改?4. `let a = 1; let a = 2;` 会发生什么?会报什么错?5. `var a = 1; var a = 2;` 可以吗?`var a = 1; let a = 2;` 呢?6. `var`特性(如变量提升)?`console.log(a); var a = 1;` 的结果是什么?7. JS中基本数据类型?分别存储在哪里(栈/堆)?8. `let a = {}; b = a; `修改b会影响a吗(会)如何避免(深拷贝)9. 实现一个深拷贝?其它具体方法?10. 什么是同步和异步?什么场景下使用异步?11. 如何将异步操作中的变量/结果给同步代码使用?12. Promise的.then()和.catch()区别?什么情况用?await?13. ==和 ===区别?14. false == '0'结果?false == undefined?null == undefined ?15. 可以 let null = 1吗?16. String常用的方法?17. Array有哪些常用的增删改查方法?18. typeof和 instanceof 区别?19. 介绍一下 Webpack20. Webpack 中的 Loader ?作用?21. Webpack 有哪些特性?构建速度?如何优化?22. 什么是 HTTP?和 HTTPS 区别?23. 为什么 HTTPS 安全?(对称加密和非对称加密解释 HTTPS 的原理)24. 算法题:分金条(LeetCode原题:分发糖果)。25. 解法时间和空间复杂度分别是多少?26. 开发过程中遇到过什么问题?(结合项目说了点方法论)27. 职业规划?28. 反问环节(作息、业务、问了下为啥没问项目和实习,说比较侧重基础)ps:算法只让说思路,而且题目是口述的一开始以为是对于所有人,评分高的要比评分低的分的多,排序+遍历即可后边说我理解错了,是相邻的人,评分高的分的多做过接雨水,类比了一下,两次遍历即可(以为是mid,下来一看是hard)面试体验:还可以,基础的小点比较多比较碎,有些忘记了一开始理解错在那想不让排序怎么On得出最少奖金,以为做不出来了