本文转载于:jcmpd975ac.feishu.cn/base/appNuD…
以及一篇掘金上的文章,整理得也很不错:《前端进阶指南》
面试要点解析
面试手册
| 关键点 | 单选 |
|---|
| 大厂简历筛选有一套机制,有大厂经历或学历好或经验匹配的会比较容易通过筛选,缺少光环的需要有其他东西来证明,比如优秀的项目经历,参与过好的开源项目等 | 简历 |
| 简历上描述的技术/内容/项目确保自己是真的熟悉/掌握,看看每个技能是不是自己真的掌握了,能说出个1.2.3;每个项目是否自己能说清楚,一些细节是否了解,有哪些复盘点,是否有改进空间 | 简历 |
| 简历上描述的应该是与目标岗位直接/间接相关的,其他的比较优秀的点可以一笔带过,不需要花大篇幅介绍这些与目标岗位不符的能力 | 简历 |
| 面试官简历评估时也会看跳槽频率,像1年1跳这种会被评为不稳定,这时除非学历/经历特别出色的,其他基本就不通过了 | 简历 |
| 面试除了技能/项目知识外,状态也很重要;接到面试电话说明简历评估通过了,时间可以你自己定,如果没准备好,可以把时间拉长些,给自己一些准备时间;要求当场面试的可以礼貌拒绝然后定一个合适的时间 | 面试 |
对不同工作年限的同学会有不同的要求,校招主要看潜力,所以基础(计算机、网络)和算法会考得比较多;13年除了潜力外还看经验是否与业务匹配,项目经验;35年看是否有独挡一面的能力,需要在技术上有较好的深度,在做事情方面有自己的一套;大于5年的除了深度外对广度也有要求,且需要有跨端和架构设计的能力,对于管理岗位也会看带团队的能力 | 面试 |
| 面试时遇到不会的不用慌,每个人的知识面不一样,碰到不会的很正常,但可以积极思考,首先坦诚表示没有了解过相关知识,然后以现有的知识体系思考下这个问题,说明思路,合理猜测结果 | 面试 |
| 有时会有面试官会刻意施加压力,这时不在于问题回答的是否正确,而在于是否能在这些压力下仍然能够理性思考,面对面试官的每个问题,可以尝试想下面试官问这个问题的背后目的是什么 | 面试 |
模拟题
| 面试题 | 分类 | 知识点 |
|---|
| 模拟题1 | |
| react setState是同步还是异步 | 模拟题1 | setState过程 |
| 什么是高阶组件,请举例说明 | 模拟题1 | 高阶组件 |
| 解释一下原型链 | 模拟题1 | 原型链(点击这里查看) |
| instanceof原理 | 模拟题1 | instanceof原理 |
| apply和call的作用及区别 | 模拟题1 | apply和call |
| position有哪些值,作用分别是什么 | 模拟题1 | position |
| 说下你对DOM树的理解 | 模拟题1 | DOM树 |
| 重排和重绘是什么,有什么区别 | 模拟题1 | 重排和重绘 |
| https加密过程是怎样的 | 模拟题1 | https |
| 实现 add(1)(2)(3) | 模拟题1 | 实现 add(1)(2)(3) |
| react为什么需要合成事件 | 模拟题2 | 合成事件 |
| 为什么有时react两次setState,只执行一次 | 模拟题2 | setState过程 |
| redux有哪些原则 | 模拟题2 | redux核心原则 |
| es5实现继承 | 模拟题2 | 继承 |
| 实现一个promise | 模拟题2 | promise原理 |
| CSS选择器有哪些 | 模拟题2 | CSS选择器 |
| 说下事件模型 | 模拟题2 | 事件模型 |
| 如何减少白屏的时间 | 模拟题2 | 白屏 |
| 3次握手过程 | 模拟题2 | tcp |
| 判断链表是否有环 | 模拟题2 | 链表:链表有环 |
| react合成事件是什么,和原生事件的区别 | 模拟题3 | 合成事件 |
| react如何处理异常 | 模拟题3 | 异常处理 |
| 闭包的作用和原理 | 模拟题3 | 闭包 |
| 0.1+0.2为什么不等于0.3 | 模拟题3 | 浮点数精度 |
| 什么是BFC,BFC有什么作用,如何形成BFC | 模拟题3 | BFC |
| 浏览器缓存策略是怎样的 | 模拟题3 | 缓存策略 |
| 你知道的前端性能优化手段有哪些 | 模拟题3 | 前端性能优化手段 |
| 前端模块化机制有哪些 | 模拟题3 | 模块化机制 |
| http2.0做了哪些改进 | 模拟题3 | http,http2.0 |
| 求解平方根 | 模拟题3 | 二分查找:求解平方根 |
| react为什么需要fiber | 模拟题4 | fiber |
| redux中间件机制 | 模拟题4 | redux核心逻辑 |
| bind的实现 | 模拟题4 | bind的实现 |
| 说下generator原理 | 模拟题4 | generator原理 |
| flex布局有什么好处 | 模拟题4 | flex布局 |
| 如何定位内存泄露 | 模拟题4 | 内存泄露 |
| 渲染合成层是什么 | 模拟题4 | 渲染合成层 |
| babel是什么,怎么做到的 | 模拟题4 | babel原理 |
| http2.0有哪些不足,http3.0是什么 | 模拟题4 | http3.0,http2.0 |
| 实现一个发布订阅模式 | 模拟题4 | 常用设计模式 |
| vue的数据绑定机制是如何实现的 | 模拟题5 | 数据绑定原理 |
| vue next tick实现原理 | 模拟题5 | next tick原理 |
| 谈谈变量提升 | 模拟题5 | 变量提升 |
| new操作符具体做了什么 | 模拟题5 | new操作符 |
| 介绍下盒子模型 | 模拟题5 | 盒子模型 |
| 有哪些方式可以使div居中 | 模拟题5 | div居中 |
| 有听过前端性能优化指标RAIL吗 | 模拟题5 | 前端性能优化指标RAIL |
| 进程和线程的区别 | 模拟题5 | 进程和线程 |
| tcp滑动窗口是什么 | 模拟题5 | tcp |
| 实现一个斐波那契数列 | 模拟题5 | 斐波那契数列 |
| vue的computed和watch的区别 | 模拟题6 | computed和watch |
| 说下vue的keep alive | 模拟题6 | keep alive |
| 什么是立即执行函数 | 模拟题6 | 立即执行函数 |
| 谈下事件循环机制 | 模拟题6 | 事件循环机制 |
| css优先级是怎么计算的 | 模拟题6 | css优先级 |
| CSS相关的性能优化 | 模拟题6 | CSS性能优化 |
| 谈下webpack loader机制 | 模拟题6 | webpack loader机制 |
| 进程通信方式有哪些 | 模拟题6 | 进程通信 |
| 爬楼梯问题 | 模拟题6 | 爬楼梯问题 |
| 实现一个trim方法 | 模拟题6 | 实现一个trim方法 |
| react fiber有哪些优点,怎样做到的 | 模拟题7 | fiber |
| 谈谈你对作用域的理解 | 模拟题7 | 作用域 |
| 双飞冀/圣杯布局 | 模拟题7 | 双飞冀/圣杯布局 |
| 浮动元素会造成什么影响,如何清除浮动 | 模拟题7 | 浮动 |
| 网站首页有大量的图片,加载很慢,如何去优化呢? | 模拟题7 | 大量图片加载优化 |
| 描述下浏览器从输入网址到页面展现的整个过程 | 模拟题7 | 描述下浏览器从输入网址到页面展现的整个过程 |
| uglify原理的是什么 | 模拟题7 | uglify原理 |
| tcp重试机制 | 模拟题7 | tcp |
| 层次遍历二叉树 | 模拟题7 | 二叉树:层次遍历,二叉树:最大深度 |
| 实现节流函数 | 模拟题7 | 实现节流函数 |
| react有哪些性能优化的点 | 模拟题8 | 性能优化 |
| v8垃圾回收机制 | 模拟题8 | v8垃圾回收机制 |
| CSS样式隔离手段 | 模拟题8 | CSS样式隔离 |
| 行内元素、块级元素有哪些,区别是什么 | 模拟题8 | 行内元素、块级元素 |
| 聊下你知道的浏览器架构 | 模拟题8 | 浏览器架构 |
| 是否有写过webpack插件 | 模拟题8 | webpack插件机制 |
| websocket建立过程 | 模拟题8 | websocket |
| 合并二维有序数组成一维有序数组 | 模拟题8 | 合并二维有序数组成一维有序数组 |
| 实现防抖函数 | 模拟题8 | 实现防抖函数 |
| 最近看了什么书,有什么心得 | 模拟题8 | 最近看的书 |
| CSS3有哪些新特性 | 模拟题9 | CSS3新特性 |
| 层叠上下文是什么 | 模拟题9 | 层叠上下文 |
| history和hash两种路由方式的最大区别是什么? | 模拟题9 | history和hash两种路由 |
| 动画性能如何优化 | 模拟题9 | 动画性能 |
| tree shaking是什么,有什么作用,原理是什么 | 模拟题9 | tree shaking |
| webpack工作流程是怎样的 | 模拟题9 | webpack工作流程 |
| 什么场景下会用策略模式 | 模拟题9 | 常用设计模式 |
| 找出数组中和为sum的n个数 | 模拟题9 | 找出数组中和为sum的n个数 |
| 判断括号字符串是否有效 | 模拟题9 | 堆栈队列:判断括号字符串是否有效 |
| 平常的学习途径 | 模拟题9 | 平常的学习途径 |
| node模块机制是怎样的 | 模拟题十 | 模块机制 |
| node require具体实现是什么 | 模拟题十 | require原理 |
| node事件循环与浏览器的哪些不一样 | 模拟题十 | 事件循环,事件循环机制 |
| cluster原理是怎样的 | 模拟题十 | cluster原理 |
| pipe原理是怎样的 | 模拟题十 | pipe原理 |
| node的异常处理方式 | 模拟题十 | 异常处理 |
| 适配器和外观模式的区别 | 模拟题十 | 常用设计模式 |
| 重构的手段有哪些 | 模拟题十 | 重构 |
| 数组去重 | 模拟题十 | 数组去重 |
| 你比较擅长哪一块,不足的地方在哪里 | 模拟题十 | 你比较擅长哪一块,不足的地方在哪里 |
| 跨标签页通信的方式有哪些 | | 跨标签页通信 |
| 前端微服务是用来解决什么问题的 | | 前端微服务 |
| udp和tcp的区别 | | tcp,udp |
| node内置了哪些流,是怎么工作的 | | 流机制 |
| 守护进程是什么,为什么需要它 | | 守护进程 |
| node进程通信有哪些方式 | | 进程通信 |
| MVVM、MVC、MVP分别用于什么场景,区别是什么 | | MVVM,MVC,MVP |
| 拍平多维数组 | | 拍平数组 |
| 实现一个模板引擎 | | 实现一个模板引擎 |