[面经]一年半前端进入有赞
刚刚 跳槽
🔥🔥,这里分享一波个人学习资源。想看跳槽之路
的可以点点:一年半前端人的求职路[1]。先赞再看
,养成习惯,感谢各位大佬🤓作者:俊劫 https://juejin.cn/post/6942988170208215076
一、简历
一定要有 亮点
!!!名校、大厂、工作经验、个人博客、开源项目等等。如果说都没有,来,现成的
,把我的博客fork一份拿去自己用,搭建教程博客也有(完全免费),求个start
。俊劫的博客 GitHub[2]。下面是个人认为比较重要的点,有不同见解的,评论区battle
一下🤓
1、总体
重点颜色
标记自己擅长
的技能,简历模板一定要简洁
,字体大小,行距要看的舒服,不要一大段一大推文字的来,用1234
来描述自己负责的事情,产出的结果,社招简历不要低于两页
。投递简历最好找靠谱的内推
,能根据你的经验,给你推业务较为匹配的部门,同时能跟进进度
。不然就找猎头
给你推,最后boss联系hr
也行。(大部分公司有简历档案,一般半年起步
不能再投,除非有人捞你)2、项目经验
最重要
的部分,类似的项目经验可以浓缩下,根据项目熟悉度
,排序写。没啥写的就编一些你知道的解决方案
,前提是自己要搞清楚,很多面试官会逮着你的项目经验细问
。项目经验中,要加入一些个人思考
,是不是这个项目不让你做,结果
也一样?有没有考虑过每个需求的合理性
,扩展性?有定制化需求如何处理?你的价值
在哪里?你做过哪些方案调研
,架构设计
,产品设计
?遇到过什么难题
?技术方案怎么落地
?新技术
如何推进?3、工作经历
几年几个月
。自己在公司担任的职位,负责的事情
,做出的产出
。获得过什么什么奖项
都可以写写。4、基本信息
几年经验
、个人博客
、GitHub链接
等等。照片的话,对自己有自信的,美一美搞一个。学校好的,可以重新起一栏写,不好的就一笔带过吧。二、面试高频问题
2月初面试遇到的一些问题, 不全面
,但是比较真实
。
1、JavaScript
讲讲 js数据类型
?基本和引用的区别?symbol
和bigint
讲一讲应用场景?判断数据类型的方法? instanceof
原理?判断空对象
?typof null
?typeof NaN
?var/let/const 区别? 暂时性死区
?块级作用域
?const a = {}; a.x = 1 能不能修改?说说你对 函数式编程
的理解?函数柯里化
的理解?平时的使用场景?防抖、节流
的含义,使用场景?手写一下
?call、apply、bind区别? bind实现
?bind之后还能修改this指向吗?为什么?闭包概念,最主要的还是问 闭包的场景
?用 es5实现es6
类的继承?各种继承问的挺多的深拷贝与浅拷贝?常用方法?手写一个 深拷贝函数
?说说你知道的JavaScript 设计模式
?观察者和发布订阅的区别?手写
一个发布订阅?我真的写了说说对你对JavaScript 异步编程
的理解?ES Module
与CommonJS
模块的差异?两者互相加载的方式?一般会扯到AMDPromise
.all、race、allSettled 概念、手写?很多手写题都会用到,比如用promise实现请求并发个数
限制?
2、CSS
水平垂直 居中
?兼容性?不知道宽高
情况下?BFC概念?作用? 常用场景
?Flex?注意 flex:1
的含义,一般会给你个场景题盒模型
概念,如何切换
盒模型?实现 1px
边框?1px线条?伪类
和伪元素
区别?使用场景?
3、Http && 浏览器
浏览器 缓存
?http缓存?主要要讲一讲
强缓存、协商缓存、preload、prefetch、Service Worker等,304
的含义?协商缓存e-tag
是怎么生成的?Last-Modified
是基于什么生成的?两者对比一下?优先级
哪个高?什么是 跨域
?什么情况下会跨域?浏览器根据什么字段
判断是否允许跨域?跨域的解决方案
有哪些?options
请求了解过吗?说说CORS中的简单请求
和复杂请求
?form表单提交
会跨域吗?讲一讲浏览器事件循环 Event Loop
?node事件循环
描述一下?http2
有哪些新特性?http2
还有哪些缺陷?http3
的一些了解?从输入 URL 到页面加载完成的过程
,一般要很详细的描述:包括DNS查询
,缓存
查询,3次握手
,4次挥手
,浏览器渲染进
程等,面试官会从里面再挑几个问题深入问,比如为什么是3次握手4次挥手?渲染进程中的GUI渲染线程、JS引擎线程、事件触发线程等等?可能会问到进程线程的区别?浏览器为什么是多进程?js为什么是单线程?怎么支持多线程?等等https 加密原理
?主要是讲对称加密
和非对此加密
结合使用的一个过程。什么是中间人攻击
?和http区别?
4、Vue
生命周期?那个生命周期可以获取到 真实DOM
?修改data
里面的数据,会触发什么生命周期?组件data为什么是一个 函数
?vue 组件通信?一般说了 vuex
,就会问vuex用法?action
和mutations
区别?实现原理等?vue 导航守卫
,分全局和组件的,一般用于权限控制,这个就可能扯到项目中的一些鉴权问题
。$nextTick
作用?实现原理?微任务向宏任务的降级处理
,经常被问到说出几种宏任务,微任务。vue响应式原理
?基本都会问vue scoped
属性作用?实现原理?vue router
有几种模式?实现方式?key
的作用?没有key的情况,vue会怎么做?会引出diff的问题vue diff过程
,和react diff区别?vue 2.x defineProperty缺陷
?业务代码里面怎么处理?$set
原理?vue是怎么重写数组方法
的?考察你是不是真的看过源码vue 3.0 proxy
优缺点?怎么处理vue3不支持IE?computed
和watch
的区别和运用的场景?除了基本的,看你能不能说出三种watcher
的区别
vue原理相关的可以参考我的另外一篇文章:vue2.x高阶问题,你能答多少[3]
5、React
生命周期
详细描述一下?官方为什么改变
?说说你对 虚拟DOM
的理解?直接全量更新和diff哪个快(这个问题要分情况
)?什么是 HOC
?React里面用过哪些?可能让你实现一个add(1)(2)(3)
的函数Fiber
干了什么事情?requestIdleCallback
了解多少?react
性能优化?hooks
出现的意义?类组件
和函数组件
之间的区别是什么?为什么 不要在
循环、条件语句或者嵌套函数中调用hooks
?记住官网的一句话,Not Magic, just Arrays
setState 同步
还是异步
?比较常问,问的可能也比较深入如何避免组件的 重新渲染
?memo/useMemo、PureComponent?useMemo和useCallback区别?
拉钩之前有个一块钱的课【深入浅出搞定 React】修言大佬的课,有兴趣的可以去看看(也可以借号🤓)
6、其他
中间层
,也基本没问node的问题,所以这块我就简单写写常用的一些模块, fs/path/http
等等EventEmitter
概念,使用场景,错误捕获Stream
概念?使用场景?常见的Stream?
webpack
基本也是必问,得系统学习一下webpack 构建流程
?打包原理
?项目中做的一些 优化
?loader
和plugin
的区别?有没有写过?常用哪些loader和pluginwebpack 热跟新
原理?tree-shaking
?对于 CommonJS,tree shaking怎么办?webpack loader的 执行顺序
?从左到右?从上到下?
项目做过的一些性能优化, 基本必问
长列表渲染
怎么优化?各种 懒加载
的实现原理?路由?图片?Typescript 中的 interface
和type
到底有什么区别等等,很多 低频率
的想不起了
其他的一些东西,主要还是看你简历上 写了什么
,或者你的回答
有什么面试官感兴趣的词。尽量突出
自己的优势
,发挥好就行,结果对自己的检验,不是对自己的否定,加油💪🏻
三、资源分享
1、博客
阮一峰的个人网站[4] 持续更新,没事就去看看,阮大的风格就是 很容易看懂
字节飞书的学习计划 - 超清楚(必看)[5] 字节前端知识梳理,很清楚, 建议收藏
冴羽的博客[6] 淘宝大神总结的 前端基础
Gridea[7] Gridea 是一个 静态博客
写作客户端,帮助你更容易地构建并管理博客或任何静态站点vuepress-theme-reco[8] 一款简洁而优雅的 vuepress 博客 & 文档 主题。我的个人博客[9]基于这个搭建的,有兴趣的可以了解下,博客也有 搭建教程
前端知识每日3+1[10] 学习大佬的姿态,我也搞了个 每日学习打卡
,各位大哥可以搞起来 (俊劫的个人博客[11])有赞技术团队[12] 干货满满
2、社区
掘金[13] 有必要写一下的,还有SegmentFault、CSDN、博客园等等,就不一一写了 开源中国[14] 没事去逛逛,看看 业界大哥们
都在搞什么vue中文社区[15] 不知道是不是正版,基本都是 vue的相关生态
印象中文[16] 算是一个 导航
,资源汇总
3、算法
leetcode[17] 我一般只刷 简单和中等的
,难的我知道我搞不出来😂人人都能看得懂的Leetcode力扣刷题教程合集[18] 不错的算法 视频讲解
,跟着做,算法问题不大力扣加加[19] 努力做西湖区最好的 算法题解
用JavaScript实现的算法和数据结构[20] 看名字
就知道很强了,没事练练
4、开源项目
深入浅出 Webpack[21] 真 深入浅出
Promise 小书[22] 面试都被 promise
锤过吧?这里有很全面的讲解大厂面试题每日一题[23] 没事就来刷一刷 大前端面试宝典 - 图解前端[24] 图解
,懂吧前端面试每日 3+1[25] 以面试题来驱动学习,提倡每日学习与思考,每天进步一点。 有点卷
,但是没办法😂前端面试[26] 里面也有每日一题,可以持续打卡, 还是卷~
😂七天学会NodeJS[27] 算个入门教程吧,挺全面的 若依后台管理框架[28] 若依官网[29] vue后台系统
,感兴趣的可以了解下TypeScript 中文手册[30] 学习 TypeScript
必备
5、React
React高频面试题梳理,看看面试怎么答?(上) React 生命周期图[31] 大神之作
,画的很清楚35 道咱们必须要清楚的 React 面试题[32] 问题和答案都有 这可能是最通俗的 React Fiber\(时间分片\) 打开方式[33] React 入门儿[34] 京东凹凸实验室出品,非入门 成都房协网数据分析[35] React + TS
可以学习一波React 中文风格组件库[36] 很 有意思
的开源项目
6、Vue
Vue.js 技术揭秘[37] ustbhuangyi
大佬的课,讲的很清楚vue 源码分析[38] 视频
,带你从头实现一个vue一次关于Vue的自我模拟面试[39] 百度大佬的梦,学习一波,也去做个梦 vue2.x高阶问题,你能答多少[40] 我写的
,掺个水图解 Vue 响应式原理[41] 图解
,懂了吧,思路很清晰
7、效率&工具
写文档专用[42] 各种技术文档写作 用来生成好看的代码块的[43] mac风格的代码块 Markdown Nice[44] 美化markdowm样式,很多模板可用 reveal.js制作网页版PPT[45] 之前写了一个,聊一聊前端性能与体验的优化[46] 在线PPT展示,点击直达
8、其他文章
一个合格\(优秀\)的前端都应该阅读这些文章[47] 合格&优秀 前端常见跨域解决方案(全\)[48] 跨域的问题,就一篇 搞定
吧2021年,我是如何从一名Vueer转岗到React阵营! 目前个人也在 vue转react
,后续也会出一篇个人的感受拯救你的年底KPI:前端性能优化[49] 个人对前端性能优化相关的总结,有兴趣的可以看看,文章里有 在线PPT
可以看可视化拖拽组件库一些技术要点原理分析[50] 加深自己对 可视化
的一些认识10 个 GitHub 上超火的前端面试项目[51] 面试相关的, 收藏
搞起来前端面试常见的手写功能[52] 准备面试,至少 来写一遍
无头浏览器 Puppeteer 初探[53] Puppeteer
可以帮我们做很多服务端的事情,不知道的同学去了解下。也可以看看我用Puppeteer做的产出:Egg + Puppeteer 实现Html转PDF[54] 在线预览:html转pdf[55]2021年前端面试必读文章[56] 梳理的很全面,每个知识点对应的都有 文章链接
,有些基础
的知识点建议看MDN
,对某些东西,每个人都有自己的理解。图解 HTTP 缓存[57] 政采云
前端出品,讲的挺清楚的浏览器渲染机制[58] 讲的 很全
参考资料
一年半前端人的求职路: https://juejin.cn/post/6940058373534515237
[2]俊劫的博客 GitHub: https://github.com/alexwjj/alexwjj.github.io
[3]vue2.x高阶问题,你能答多少: https://juejin.cn/post/6921911974611664903
[4]阮一峰的个人网站: http://www.ruanyifeng.com/home.html
[5]字节飞书的学习计划 - 超清楚(必看): https://bitable.feishu.cn/appNuDKPaGtimrdkB0JnXmpoktZ
[6]冴羽的博客: https://github.com/mqyqingfeng/Blog
[7]Gridea: https://gridea.dev/
[8]vuepress-theme-reco: https://vuepress-theme-reco.recoluan.com/
[9]个人博客: https://alexwjj.github.io/
[10]前端知识每日3+1: http://www.h-camel.com/index.html
[11]俊劫的个人博客: https://alexwjj.github.io/
[12]有赞技术团队: https://tech.youzan.com/
[13]掘金: https://juejin.cn/
[14]开源中国: https://www.oschina.net/project
[15]vue中文社区: https://vue-js.com/
[16]印象中文: https://docschina.org/
[17]leetcode: https://leetcode-cn.com/
[18]人人都能看得懂的Leetcode力扣刷题教程合集: https://www.bilibili.com/video/BV1wA411b7qZ
[19]力扣加加: https://leetcode-solution.cn/
[20]用JavaScript实现的算法和数据结构: http://www.conardli.top/docs/
[21]深入浅出 Webpack: https://webpack.wuhaolin.cn/
[22]Promise 小书: http://liubin.org/promises-book/#introduction
[23]大厂面试题每日一题: https://q.shanyue.tech/
[24]大前端面试宝典 - 图解前端: https://lucifer.ren/fe-interview/#/
[25]前端面试每日 3+1: https://github.com/haizlin/fe-interview
[26]前端面试: https://lgwebdream.github.io/FE-Interview/
[27]七天学会NodeJS: https://nqdeng.github.io/7-days-nodejs/#1
[28]若依后台管理框架: http://vue.ruoyi.vip/index
[29]若依官网: http://ruoyi.vip/
[30]TypeScript 中文手册: https://typescript.bootcss.com/
[31]React 生命周期图: https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
[32]35 道咱们必须要清楚的 React 面试题: https://juejin.cn/post/6844903988073070606
[33]这可能是最通俗的 React Fiber(时间分片) 打开方式: https://juejin.cn/post/6844903975112671239
[34]React 入门儿: https://juejin.cn/post/6899243806214848519
[35]成都房协网数据分析: https://github.com/mengsixing/cdfang-spider
[36]React 中文风格组件库: https://github.com/zhui-team/zhui
[37]Vue.js 技术揭秘: https://ustbhuangyi.github.io/vue-analysis/
[38]vue 源码分析: https://www.bilibili.com/video/BV1LE411e7HE
[39]一次关于Vue的自我模拟面试: https://juejin.cn/post/6870374238760894472#heading-5
[40]vue2.x高阶问题,你能答多少: https://juejin.cn/post/6921911974611664903
[41]图解 Vue 响应式原理: https://juejin.cn/post/6857669921166491662
[42]写文档专用: https://www.docz.site/
[43]用来生成好看的代码块的: https://carbon.now.sh/
[44]Markdown Nice: https://www.mdnice.com/
[45]reveal.js制作网页版PPT: https://juejin.cn/post/6850037266082070535
[46]聊一聊前端性能与体验的优化: http://118.25.49.69:8086/
[47]一个合格(优秀)的前端都应该阅读这些文章: https://juejin.cn/post/6844903896637259784
[48]前端常见跨域解决方案(全): https://segmentfault.com/a/1190000011145364
[49]拯救你的年底KPI:前端性能优化: https://juejin.cn/post/6911472693405548557
[50]可视化拖拽组件库一些技术要点原理分析: https://juejin.cn/post/6908502083075325959
[51]10 个 GitHub 上超火的前端面试项目: https://juejin.cn/post/6895752757534261256
[52]前端面试常见的手写功能: https://juejin.cn/post/6873513007037546510
[53]无头浏览器 Puppeteer 初探: https://juejin.cn/post/6844903504276881422
[54]Egg + Puppeteer 实现Html转PDF: https://juejin.cn/post/6907500437134376974
[55]html转pdf: http://118.25.49.69/
[56]2021年前端面试必读文章: https://juejin.cn/post/6844904116339261447
[57]图解 HTTP 缓存: https://www.zoo.team/article/http-cache
[58]浏览器渲染机制: https://segmentfault.com/a/1190000014018604