待做的
- 面试题准备
- 关于1,2,3面,各自问哪些问题
- 关于前端可视化部分,面试题的准备
- 一些【待准备】题目,自己进行准备
- 再重新回顾下自己的思路,面试的宽度是否够?以及编程题目是否好?
- 再重新回顾下,如果基础答出来,如何往深度问题,
面试题准备
大厂面试-字节跳动 - SegmentFault 思否 👍👍 作者总结了几点内容
小前端如何从外包进入字节跳动架构组 - ssh_晨曦时梦见兮的个人空间 - 👍👍
OSCHINA - 中文开源技术交流社区 问题还挺多的,不少有深度问题,字节,快手
写给初中级前端的高级进阶指南。 - 知乎 👍👍 还有很多我不知道的
最好的面试或经验
- 开源项目
- 好的项目经验
注重很多源码等背后实现,思考
一些手写的题目
手写代码
node
Node.js 的面试题是怎么样的? - 知乎
jimuyouyou/node-interview-questions: Node.js面试题,侧重后端应用与对Node核心的理解
- pm2内部机制了解吗
- node单线程容易崩溃,怎么维护服务的
- 你对node还有什么想分享的吗,觉得用起来爽的部分
- 有没有考虑过高并发场景
- 内存碎片怎么产生 v8
- node的进程守护怎么做的,发现非预期故障怎么排查
- 项目中为什么选择用nodejs
- 你觉得node的适用场景是什么
- 手写一个koa2的compose
- 手写一个Scheduler类,实现并发控制
- 说一下进程线程,如何通信?
node服务的性能监测有没有了解过?
node如何实现一个带压缩和缓存的http-server?
各方面的问题准备
- 怎么面试一个候选人
- 前端基础,js基础
- vue方面的
- webpack方面,cli,工程化
- react方面的
- nodejs方面
- 编码能力
- 开放问题方面
前端基础问题
- 网络相关 & 浏览器相关
- 数据存储
- 浏览器缓存
- 安全相关
- 输入url后发生了什么?
- js相关
- 对象比较 对象深拷贝
- 原型和继承,
- 事件循环机制 微任务 宏任务 如果实现一个任务队列
- es6的语法,let const,decorator,set和map,iterator,for of,for in
- 箭头函数的特点
- 函数式编程,composition,reduce,compose,
- promise和async,
- 数组操作,去重,扁平化,
- 防抖和
- css相关
- css in js
- ts相关
- 函数重载,多态,
关于问题
- 开放问题,关于什么的看法,有什么想分享的吗?
- 关于webpack你还有什么想分享的吗 (哪些优缺点,哪些设计巧妙的地方等)
- 是否看过源码,如何架构,有哪些设计模式,哪些印象最深的
- 对于顶层的设计看法,vue和react的看法,
vue方面的
响应式原理
- reactivity的原理,
ref
和reactivity
,生命周期life cycle
绑定,以及对象某个属性的响应式,为什么会失去响应式. 为什么用.value
访问。总是用错怎么办? - watch,effect,computed等API。
setup和react hooks 有哪些特色和不同,为什么会有这种差异性?(是否了解react和vue背后机制差别)。
- setup代码块过多,过长,怎么优化?
vue3哪些升级?
- 性能
- 编译时compiler优化,reac可以吗?vue模板的优点,静态节点(怎么实现的,属性标记),静态节点提升,cacheHandler,block的概念
- 源码体积优化,模块的拆分,使用依赖的差别,tree-shaking的应用
- Proxy数据劫持,性能更好,
- typescript支持,为什么过去不行?
- 性能
- vue3 proxy的理解
- vue-router原理,异步加载组件,挂载到实例上的
- 简单实现vue双向绑定,vue的双向绑定原理
- 指令背后的实现,
v-if
,v-for
,v-show
v-model
等如何编译的? - vue的vnode,vue的渲染过程,vnode对比的算法,为什么需要vnode? 以及h函数。(现在vue被编译后,也是render一个vnode,组件级的对比)
- vuex
- vue的自定义指令,过滤器,插件,
v-for
中key的作用- vue-loader的实现
Vue3 源码解析(1):先导,了解Vue3 的优化点 · 语雀
Vue3.0 性能优化及新特性深度解析__Vue.js - VueClub
其他包
- axios 源码整体架构
- git reset和rebase差别
React相关的
- react生命周期
- 如何阻止冒泡,关于合成事件,
- 未预期的更新,怎么处理?
- redux 引入哪几个包
- react-redux做了什么?
- 粗粒度的更新?有无优化
- 有哪些性能优化手段
- 源码看过吗?
- 为什么不要在循环、条件语句或者嵌套方法中调用Hooks
- 说一下为什么要用hooks,解决了什么问题,背后的原理
- react函数组件和类组件触发更新的方式有哪些
- react的强制更新有了解吗?
- 类组件如何实现逻复用?
- 使用过哪些hooks?
- hooks为什么有顺序,为什么不能用if? hooks哪些坑,为什么?
- hooks解决什么问题?hooks之前有哪些解决方案?hoc和render props,作用和弊端?
- 介绍下常用hooks api,以及作用
大厂面经—-详解react hooks面试题(含高阶组件)_kellywong的博客-CSDN博客
hooks面试题
高阶组件,
hooks的坑的一些原因,if或者,顺序的原因,没有回答出来
ts的泛型,主要是解决什么问题,没有回答出来
webpack方面,cli,工程化
webpack
- loader和plugin
- 优化方案
- 关于chunk的了解
- vue-cli背后的webpack的
- less如何被编译的?
工程化方面
几个方面的内容
- 稳定性 & 性能
- 性能优化
- 稳定性保障
- 容灾等
- 工程化 & 规范
- cli
- 项目模板 template
- 研发效率
- 组件化 & 逻辑复用 & 物料
- 表单 & 表格 解决方案
- 低代码 & 搭建系统
考察编程能力
算法 & 编程题 & 手写题目
- 所有标签是否都正确的闭合了,
- 获取页面上所有的xx标签
- 统计字符串中次数最多字母 [需准备]
- 一个优先级队列 p-queue
- 使用事件循环的方式,多次重复的handler,只会触发一次 [需准备]
- koa-compose实现
- 实现一个组件,或日历组件,或什么,需要考虑哪些点?[需准备]
- 如果让你实现
style-loader
,你打算怎么做? axios
背后的实现
「面试必会」手写35道JS面试高频题(二)
「面试必会」手写35道JS面试高频题(一)
字节跳动面试官:请用JS实现Ajax并发请求控制 - SegmentFault 思否
面试官:“你能手写一个 Promise 吗”
软技能
- 协作,业务伙伴,接口方案,技术方案
- 如果老板觉得不好,你又觉得正确?
- 个人药性,拿结果能力,破局能力,工作态度,学习工作热情
- 自我拷问,自驱力,对自己的思考,定位,目标,短板,计划。从哪里来,到哪里去,怎么到那里去。
- 掌握思维模式,黄金圈思维,
- 做业务能力,业务思考,
数据可视化面试
如何考察候选人的『数据可视化库』的设计水平? - 知乎
如何考察一个候选人的前端数据可视化水平? - 知乎
G2Plot 2.0 全新来袭 · 语雀
前端面试 · 数据可视化相关
数据标签遮挡的时候,会如何处理?遇到大数据量渲染性能问题时,如何解决?
了解熟悉多少可视化库等
开放问题方面
- 项目有哪些不足(技术设计,或开发过程问题,或),哪些经验,如果再重新开始会怎么设计?怎么做?
- 过去比较有成就感的事情,解决什么难题?
- 对个人的思考,未来的规划是什么,在未来2~3年要提升自己什么?
- STAR面试法,背景(什么问题,挑战),任务,行动(怎么做的),结果()。
- 为什么选择我们公司,我们团队?对此怎么看的?
过去几年成长了什么?平时都在做些什么?
为什么离职?
- 期待的业务场景,或者工作环境
面试思路 流程设计
总结以下几点:1、重视源码以及原理的分析与深入探讨;2、对于原理要做到全面掌握,给出的答案较为简单,面试官会不断的提出问题,引向问题的深入;3、问的题目虽然都比较常见,但面试官希望能够通过问题问出问题的深度,也就是你的底层基础有多少,能把多少内容串起来;4、大厂招聘需要的是能够“造轮子”的工程师,所以需要对原理和底层会进行细剖,致力于大厂的同学需要把源码好好解读,对特别重要的模块做到手写;5、不同面试官有不同的风格,但是大厂对底层的掌握要求都是一致的,精确、完整、无懈可击,呈现给面试官的不仅仅是深度还有广度。以上
大厂面试-字节跳动 - SegmentFault 思否 👍👍 作者总结了几点内容
- 基础扎实 追求技术细节,追求极致的技术品格
- 独特亮点 (有一个能做到即可)
- 对代码的深度认识,底层原理,了解内部的实现
- 广度上,了解后端知识,形成知识体系网,技术视野,先进性
- 细分领域,自己的专长
- 业务思考,找到业务痛点,针对性的解决
- 热情上进
- 除技术之外,喜欢钻研或折腾一些东西
- 要性
- 追求极致的心态,职业能力,做事方法和做事态度。做事前思考清楚为什么要做这些事情,why,what,how和result
相信这也是大多数的面试官的一个常用方法。通过跟候选人聊聊最近印象最深刻的一个项目,从这个项目入手,考察候选人对于这个项目的业务目标是不是了解的比较清楚;在设计项目架构过程当中,你的方案选型背后有没有能够逻辑自洽的思考;实施过程当中,对技术细节的研究是不是比较深入,同时也可能对一些基础知识的做一些抽样的考察;最后这个项目的最终结果是什么,去考察候选人拿结果的能力,结果是否有可量化的成绩。比如我们在做性能优化项目,最后的结果是否有明确的数据能证明你的优化价值。然后,在整个聊天的过程当中,也会去充分的去看候选人的思辨能力、职业能力、学习方法、成长性,这些方面在聊天时都会有一些反映。最后会得出一个综合的结论。
前端搞面试 | 完颜 - 如何考察候选人的能力与潜力 - 知乎 👍👍 一二三四面怎么排布
- 流形:我是如何面试一位前端工程师 - 前端 - 掘金 👍👍
- 前端搞面试 | 贵重 - 如何考察候选人的能力与潜力 - 知乎 👍👍
- 如何辨别一个程序员水平的高低? - 知乎
- 作为面试官,你主要考察面试人哪些方面的能力? - 知乎
- 作为面试官,我是怎么快速判断程序员能力的?_HD243608836的博客-CSDN博客 google工程师
所以最后的面试思路
- 开场的自我介绍,项目介绍,技能的介绍
- 围绕着项目的经验,star面试法,了解候选人做事能力和可以深入问的技术点
- 技术的基础能力
- 一两道手写的,算法&编程题目的提问
- 如果好的话,再问一些高阶的技术基础能力
借鉴
如何面试
- 流形:我是如何面试一位前端工程师 - 前端 - 掘金 👍👍
- 面试前端工作7年以上的人,总感觉他们水平一般般? - 知乎
- 2018,写给每一个焦虑和迷茫着的互联网人 - 知乎
- 如何辨别一个程序员水平的高低? - 知乎
- 如何招到一个靠谱的程序员 - 知乎 ?
- 如何考察候选人的『前端框架设计』水平? - 知乎
- 作为一名程序员,我这属于什么水平? - 知乎
前端搞面试 | 贵重 - 如何考察候选人的能力与潜力 - 知乎 👍👍
前端搞面试 | 完颜 - 如何考察候选人的能力与潜力 - 知乎 👍👍
- 酷家乐做面试官的日子
- 2018大厂面试总结 10多家公司,好多题目
前端工程师面试必备 很全,有很全的答案
- 作为面试官,你主要考察面试人哪些方面的能力? - 知乎
- 作为面试官,我是怎么快速判断程序员能力的?_HD243608836的博客-CSDN博客 google工程师
提升 & 带人成长方法
- 在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进? - 知乎
- 有哪些可以提高程序员技术档次的书或博客? - 知乎
- 你的程序员学习之路是怎样的?你现在对于编程有哪些感想? - 知乎
- 我如何零基础转行成为一个自信的前端 - 知乎
- 作为一个程序员的学习思考 - 知乎
- 年轻程序员如何快速成长
优秀面经
- 面试分享:一年经验初探阿里巴巴前端社招 这个人技术掌握很全面,值得参考的。对比下技术的差距。深度和广度。 这个人的博客。
- 一年半经验,百度、有赞、阿里前端面试总结 - 掘金 有开放的不错的面试题
- 接上,一次面试的全过程
三年前端面试总结 也非常优秀的,讲了技术面和业务面,以及面试技巧