原文链接: https://interview.poetries.top/docs/excellent-docs/%E9%9D%A2%E8%AF%95%E6%8C%87%E5%8D%97.html
面试指南
简版速记
面试前 5 分钟过一遍,把高频考点压成一句话;细节看下文对应小节。
- 简历:针对 JD 写,PDF 格式,技能写熟练度(了解/熟悉/精通),项目突出背景—收益—优化点;简历即面试「菜单」,别给自己挖坑、别造假。
- 变量类型:值类型存栈、引用类型存堆;
typeof只能区分基本类型 + function(null、数组、对象都返回object),判断引用类型用instanceof,最稳是Object.prototype.toString.call()。 - 原型链:实例
__proto__→ 构造函数prototype→ 逐层向上至Object.prototype→null;instanceof沿原型链查找。 - 作用域与闭包:JS 是词法(静态)作用域;闭包 = 函数 + 其定义时的作用域,常用于封装私有变量、做缓存;注意循环里闭包共享变量的坑(用
let或 IIFE 解决)。 this:谁调用指向谁;箭头函数无自己的this,取定义时外层this;call/apply/bind可显式改绑。- 异步与单线程:JS 单线程靠事件循环(Event Loop)实现异步;记住宏任务(
setTimeout)vs 微任务(Promise.then),微任务先于下一个宏任务执行。 - Promise:3 状态(pending/fulfilled/rejected)、2 过程(resolve/reject)、链式
then;进阶async/await、Promise.all/race/allSettled。 - 跨域:同源 = 协议 + 域名 + 端口三者全同;解决主流是 CORS(服务端设
Access-Control-Allow-Origin),老方案 JSONP(仅 GET)。 - 存储:cookie 4KB、随每次 HTTP 请求发送,用于鉴权;
localStorage5MB 持久、sessionStorage会话级,均不随请求发送。 - CSS:盒模型(
box-sizing: border-box让宽高含 padding/border);布局优先 Flex/Grid;居中三件套(Flexjustify+align、绝对定位transform: translate(-50%,-50%)、margin: auto)。 - 算法:先讲思路再写代码;掌握时间/空间复杂度、二分、快排、双指针、哈希;不会就说边界、退化解法、复杂度分析。
- 浏览器:输入 URL 到渲染(DNS→TCP→请求→解析 DOM/CSSOM→渲染树→布局→绘制);性能优化 = 减体积(压缩/合并/CDN/缓存)+ 优化渲染(懒加载、减少重排重绘)。
- Web 安全:XSS(转义用户输入、CSP)、CSRF(token / SameSite cookie)。
- 软技能/HR:跳槽讲自身发展别抱怨;介绍项目铺垫亮点引导提问;谈薪先自我估值、报区间、看匹配度。
