时间:30分钟1. 自我介绍2. HTML语义化标签及好处3. HTML块级元素与行内元素区别4. CSS元素隐藏方法5. display:none、visibility:hidden、opacity:0区别6. 触发重绘/重排的样式7. 浏览器渲染流程8. JS基础数据类型9. 判断属性类型的方法10. ES6新特性11. Set与Map区别12. new Set/new Map存储结构13. ==与===区别14. 数组去重方法15. 对象实现数组去重思路16. JS事件循环机制17. Promise所属任务类型18. Vue nextTick任务类型19. URL输入到页面展示全过程20. TCP三次握手交互过程21. TCP四次挥手交互过程22. 断开连接需四次挥手的原因23. GET与POST请求区别24. 前端浏览器本地缓存25. LocalStorage、SessionStorage、Cookie作用26. 登录校验优先使用Cookie的原因27. Vue生命周期及各阶段作用28. 发送网络请求的生命周期29. Vue3中created的集成位置30. Vue组件通信方式31. Pinia与Vuex不同点32. v-if与v-show本质区别33. v-if、v-show是否触发重排34. v-for必须加key的原因35. v-for key绑定index的问题36. Vue计算属性与watch区别37.项目细节38.反问:不知道是我回答的太公式还是因为眼神乱飘,面试官让我不要用ai回答