前言
良久没有更新了,最近忙着面试,写毕业设计和论文。
不过不想停下记笔记的习惯,所以偷偷的发面经,而后 ” 惊艳 ” 老铁们。
校招面经,面试难度中等,看官老爷们看个冷落就行。
历经一个月阵线,投了阿里和腾讯,具体部门这里不开展了,都是外围部门,提供的舞台很大,至于最初抉择去哪一家公司,能够关注文末。
接下来复盘一下这一个月来的面试感触吧。
本文不会泄题,只是依据我的简历,来开展谈一谈,可能会被问到的题目。
最初以下都是个人观点,集体能力无限,如果有谬误,心愿能纠正我。
简略介绍
2021 届毕业生,掘金外面的 TianTianUp,双非本科院校(江西师大),没有听错,那个彩礼“天价”的省份。
21 届外面,应该算起步比拟晚的了。2020 年寒假 7 月份,才开始认认真真“温习”前端,过后连 js 作用域,闭包,浏览器缓存都不分明。因为起步晚,所以后续错过了秋招。
当初我才粗浅意识到,视线的重要性。
过后大三学了点 vue,做了点看起来牛逼的货色,就感觉很牛了,于是春招投了阿里,后果惨不忍睹。
重点过后没有释怀上,还是持续玩,持续打游戏。
还好之后觉醒过去,才有了前面网易的故事。
嗯,也导致后续很多环节跟不上其余同届大佬。
秋招的时候,jack,三元同学,林不渡,单哥,承和等大佬都是 offer 收割机,各种腾讯,快手,字节 ssp,无不冲击着我这个萌新。
暗自下决心: 我也要去大厂外围部门,去做有意思的事件。
有了布局,接下来就是看技术博客,入手实际,总结梳理,写博客。
熬了有数的夜,无数个周末在社区彷徨,这个知识点不懂,查文档,看不明确就换一篇文章,争取做到一遍过。
这么保持了半年,2021 年的春招,后果让我称心,但后果还是有些遗憾的。
称心的中央: 借面试机会,跟着大佬交流学习了一波。
遗憾的中央: 其余大厂没有去尝试,没有趁着面试机会去接触其余畛域的大佬。我感觉起因能够归咎于:
- 找不到大厂外围部门的内推,心愿去外围部门。
- 须要口试,感觉流程很慢,没有人跟进。
所以前面提到了面试机会。
整个春招的过程中,聊一聊心态产生的扭转吧,迷茫 – 缓和 – 坦然 – 自信,最初到意向书,到拿到 offer。
小 tips⬇️
如果你是在校生,举荐你浏览三元同学博客,干货满满。
面试机会
基本上我是靠内推的,腾讯文档,是一位校招大佬帮忙推的,感觉履历还行,给了个面试机会,才勉强给我通过的。真的是勉强给的机会,因为学校的确跟 985 比起来,差距很大,还好有网易实习经验 buff,加上写了点博客笔记等笔记输入,才有这个面试机会。
内推,内推,内推,这是最快,最无效的形式,能够第一工夫晓得面试后果,面评,以及后续的面试流程。
至于其余的,美团,百度,shopee 走的都是官网流程,须要口试。腾讯这边到四面总监面的时候,我基本上都放弃了。
最好的形式就是找靠谱的内推吧,比方秋风大佬,字节找 ssh(昊神),很靠谱的。
好的履历也很重要:
- 学校 985,211。
- 大厂实习经验,泛滥 offer。
- 扎实的根底,读过源码,了解框架设计思维。
- 社区有肯定影响力,保持做博客产出。
- 开源奉献,开源我的项目维护者,酷爱前端。
基本上,我会把握其中的一两个点,争取做好,才会有后续的面试机会。
有了面试机会后,剩下的就是如何去做好一场面试的筹备工作了。
如何筹备
这个链接外面总结的特地好,我基本上看它温习的。
https://bitable.feishu.cn/app8Ok6k9qafpMkgyRbfgxeEnet?from=logout&table=tblEnSV2PNAajtWE&view=vewJHSwJVd
不过面完,给我感觉,重在平时的积攒,基本上都是围绕我的项目开展的,之前做的我的项目得好好筹备一下,比方我的项目难点,我的项目如何做优化的,我的项目的亮点。
这里举荐一个链接:
面试被问我的项目教训不必慌,按这个步骤答复相对惊艳
https://juejin.cn/post/6844904102795706375
至于其余的局部,更多的是向面试官展现本人的长处,闪光点。
面经心得
基本上都是围绕我的简历来的,有趣味的话,能够分割我要 pdf,能够给你参考下。
![专业技能]
简历上技能写的不多,基本上能保障的是我写的都能聊上两句。
从我简历局部来看,次要波及几个点:
- React 局部,这外面能够问的内容也很多。
- 浏览器相干的。
- 计算机网络局部。
- 算法与数据结构,基本上这算是我的一个杀手锏吧。
- webpack 相干的,同时会波及到 babel。
我当初回顾我的面试局部,都是围绕这些点张开的。可能我是应届生校招的起因,很多时候,考查的是我学习能力,理解能力,对前端酷爱的水平这些方面。
基于这几点,开展聊聊我面试过程中会留神的点,以及围绕我写的专业技能,会聊到的一些话题。
自我介绍
很重要的一个环节,说不定能够奠定本次面试的节奏,会依据你说的内容,来张开问你,同时也会给 给面试官一个缓冲的工夫来从新相熟你的简历。
面试自我介绍,要:
恪守极简准则,突出重点,疏忽细节。
小参考:
- 我是谁。
- 我的亮点,能够形容一下几个点,最近的经验。
- 我为什么须要这份工作(其实这个我自我介绍都是疏忽的)。
围绕下面的点,我会着重突出,我在大学的经验,次要是算法相干的经验,接着就是我在网易实习期间的播种,以及两头会继续更新博客,写总结。
基本上,面试官对我的掘金博客,以及大学搞算法的经验感兴趣,进入了本人善于的畛域,就会轻松很多。
记住一个点,面试是跟人打交道,学会去展现本人,以及及时跟面试官做正当的沟通很重要。
以上是我会留神的一些点,我也是这么去做的,尽量围绕本人的 亮点 去开展,当然了,有些面试官有本人的格调,可能一上来就是问你我的项目,那么咱们应该如何把握呢。
我的项目相干
我感觉我的项目相干的话题,是个挺难的话题,围绕它开展的话,能够延长出很多话题,我列举了些有意思的:
- 我的项目难点。(如何发现问题,解决思路,最初后果)
- 我的项目思考过优化吗,你是如何优化的,思路是什么。
- 我的项目的组织架构,你对它的现有架构的了解,哪些长处值得借鉴,哪些毛病须要改良。
- 如果让你从 0 到 1 建一个我的项目,你思考的点是什么,有哪些流程须要留神的。
- 我的项目中代码标准,你们我的项目有计划吗,你理解的代码标准有哪些计划。
- 说一说我的项目中你们是如何测试的,有哪些单元测试计划,能不能说一说。
- 我的项目中引入 TS 的起因,为什么这么做。
不过对于 应届生 来说,问我的项目都是围绕你简历来问的,比方我过后的我的项目,我感觉没有好的难点,我就 着重阐明 了下,我对我的项目是如何优化的,优化了哪些点。
整个面试下来,都会问,你我的项目写到的优化的中央,能不能具体聊一聊。
这个时候,真的要把握机会了,问到你会的点,你得有清晰的思路,能够参考 STAR 法令。
从新回顾一下 STAR 法令四因素:
- Situation:事件是在什么状况下产生,基于一个怎么的背景;
- Task:你是如何明确你的工作的;
- Action:针对这样的状况剖析,你采纳了什么口头形式,具体做了哪些工作内容;
- Result:后果怎么,带来了什么价值,在整个过程中你学到了什么,有什么新的领会。
这里有段话,我感觉说的很不错:
往往大部分同学一上来就间接介绍做了什么以及实现的过程,条理也比拟清晰,内容也颇具技术含量。但很多同学很容易疏忽了 Situation 和 Result 的局部也就是背景和后果。或者是在面试官进一步理解诘问细节的时候容易惶恐不安。这些起因往往都是因为面试前对本人的经验没有将前因后果讲清楚以及总结不够全面和深刻。
基本上,我对我的项目这块目前能聊的就是这么多,对了,如果你面 大厂外围部门 ,可能还须要关注的点是, 我的项目的组织架构了解,让你实现一个我的项目,整个流程须要留神思考哪些点。
这块真的能够着重筹备一下,以我这次春招教训来谈,是重点。
聊完我的项目,接下来就围绕我 简历写到的专业技能,依此来梳理一下。
JS 根底
考查的是一些根底问题,这里最好过一遍,切记不要丢大分。
比方我写了对异步编程有了解,所以得看一下,异步编程的解决方案,它的倒退过程,每种解决方案的优缺点,得了得,最初我会 拓展一下 async 计划存在的缺点 ,对谬误的捕捉,聊到babel 相干 的,现有的 babel 社区是否实现了对 async 语法做谬误捕捉解决,以及谈了下,社区外面的这个插件存在的缺点。
总结的话,我会围绕 面试官问的根底点开展,把相干连的局部形容一下,面试官有趣味的话,会顺着你的思路往下问。
至于面试过程中问到 JS 根底 相干的题,这里就不列举了。
React 相干
第二局部,简历上写了 React 相干的,那我总结了些能够会问到内容:
- React 框架的原理,聊一聊它是如何执行的。
- React 更新流程,次要经验了哪些步骤。
- React 中 setState 的了解,须要留神哪些。
- vue 和 React 区别,如何从我的项目的选型上辨别它们。
React 框架的了解,vdom,patch,批量更新,渲染的过程,经验了啥。
你对 React 源码很感兴趣,能够关注一下 卡颂大佬,他的自顶向下学 React 源码值得举荐学习一下。
当然了,React 真的要问,太多能够问你的啦:
- 比方让你手写一个 Hoc 组件,实现相似怎么样的性能,思路是怎么样的。
- 比方 Hook 你对它的了解,过后面试问到了 Hook 实现原理,还难看平时喜爱折腾,看了下大抵流程。
- React-fiber 机制引入,解决了什么问题,具体的流程是怎么样的,数据结构上产生了哪些变动。
- React 中的工夫切片理解嘛,如何实现的,流程能不能说一说。
这次问到好几个 React 相干的问题,更关注的点是你对原理的过程,有关注嘛,大抵是一个怎么样的过程,最初又从中学到了哪些点。简历上写看过 React 原理相干的,得谨慎啊!!!
- 快进到浏览器局部。
浏览器相干
这也是我简历上专业技能写到的一个点,这里也写了几个点。
- 输出 URL 到页面渲染。
- DNS 解析的端口号是多少,为什么采纳 UDP 协定。
- 你渲染流程晓得的这么具体,图层,分层,绘制,栅格化线程池,GPU 减速,能不能说一下,对你开发有啥影响呢。(其实这个时候,被有情打脸了,晓得这个有什么用,过后反诘我)
- 浏览器缓存。(能够拓展一下,联合 webpack 如何命中缓存,而后就到你相熟的 webpack 畛域了)
- 浏览器过程架构历史。
- 浏览器内核。(这个能够理解)
- 浏览器的垃圾回收机制。
经典八股文了,不过其实我感觉也是能够拓展的,问到浏览器缓存的时候,联合 webpack 谈一谈如何命中缓存的。比方讲到浏览器的渲染流程时,咱们都晓得外面的一些具体流程,比方分层,绘制,栅格化操作,而后其实能够结合实际去思考一下,有哪些具体的用处呢,这里咱们须要借助浏览器中的 performance 来看看。
外面有很多关键性指标,比方 Long Task 执行的细节,跟面试官交换了下,排查性能问题 ,我是如何通过这个 Performance 相干的细节去把握的,当然了,外面的内存应用状况,是否呈现 内存泄露 问题,都能够借助它。
非要我总结的话,我感觉哪怕是八股文,咱们也要尽可能的展现出亮点来。
最近也在学习性能优化相干的局部,发现 Performance 相干的局部,还是有很多中央能够学习的,能够继续关注我 噢~
webpack 相干
基本上,看我简历上写了这部分的,会问到,局部问题:
- webpack 打包原理。
- import 最终被 webpack 编译打包成什么。
- 路由懒加载的原理是啥,能不能联合 webpack 说一说。
- 写过 webpack loader 或者插件吗。
- webpack 如何做性能优化。
- babel 的原理理解吗,babel 是用来干嘛的。
- 说一说常见的 babel 库,你有应用过哪些。
- 写过 babel 插件吗?用来干啥的?怎么写的 babel 插件
- 晓得怎么转化成 AST 的吗?
基本上考查,你是否实际过,因为本人简历上写了这方面的,可能问的比拟多。
比方问到 babel 原理能够这么答:
babel 的转译过程分为三个阶段:parsing、transforming、generating,以 ES6 代码转译为 ES5 代码为例,babel 转译的具体过程如下:
- ES6 代码输出
- babylon 进行解析失去 AST
- plugin 用 babel-traverse 对 AST 树进行遍历转译, 失去新的 AST 树
- 用 babel-generator 通过 AST 树生成 ES5 代码
基本上至多得晓得它大抵的原理,平时如果有积攒的话,其实问题不大。
比方 babel 的话,举荐能够看看 babel 是如何解决 async 谬误捕捉转换的,这个有点意思,正好借这个机会跟面试官交换一下这块的知识点,集体感觉还是很有意思。
学的时候,多折腾一下,应该就问题不大了。
算法与数据结构相干
其实这块,我心愿面试官问我多一些,因为大学期间,更多的精力放在算法。有幸碰到过面试官也是打过 ICPC,CCPC 等较量的,已经都是热血青年,最初因为生存,抉择了向生存抬头。
聊得过程还是很欢快的~ 也是第一次,跟面试官聊到了,线段树,主席树,最小费用流,二分图匹配(匈牙利)算法,差分束缚,Graham 扫描法,无限状态自动机,AC 自动机。
仿佛找回了大二的那份对算法对激情。
记得服役的时候,在 QQ 个签上,写过这么一句话:我永远酷爱算法,无论它虐我千百遍。
可能是真的熬了有数的夜,才会有这样子的感叹吧。有点跑题了,感兴趣的话,后续会更新,我是如何走上算法这条路的,最初给我的成长播种又是哪些。
回到正题,至于这部分的话,我感觉没有一个很明确的范畴吧,毕竟算法太广了,过一遍吧。
- 有向图判断是否有环。
- 给定一个数组,如何拆分,保障两个数组的和靠近。(想到的是贪婪,正解应该是 dp)
- Json.parse()实现。
- 常见的数据结构。
- 数组和链表区别。
- 工夫复杂度和空间复杂度计算。
- 排序算法。
- 你是如何对待算法的,给你的播种是什么。
算法很重要的,对你将来的倒退,我感觉还是很有必要去学习的。至于怎么学,我没有能力答复这个问题,要我给倡议的话,看书是一个抉择,如果要长期应答面试,刷一刷 leetcode 来说,只能说短期有成果。
集体倡议:
能够联合书的内容,分专题去刷,比方动静布局 dp 专题很难,我记得我过后看完书后,对它的了解就很清晰了,当然做题是另外一回事,通过题目一直坚固你对一个算法知识点的了解,我感觉是没有问题的,然而至于完完全全刷 leetcode,应酬面试,不从最根底的开始,这样子“超车”,感觉意义不大。
以上是我集体了解,能力无限,说的不对,您就当看个笑话。
个人经历
问到这部分的话,可能是总监面你的时候会问,也可能是 hr 会问,到 hr 环节的话,根本探囊取物了。不过也不能粗心,说不定一不留神,卡你学历啥的,一个月的面试付诸东流,还是要认真对待的,列举了几个点:
- 整个经验自我介绍,越具体越好,什么时候接触计算机,什么时候接触前端。
- 整个经验中,你认为最值得自豪的事件,最难的事件是什么。
- 什么事件让你骄傲,什么事件让你有挫败感。
- 将来的倒退,本人的布局。
- 为什么当初才来秋招,不抉择秋招。
拿我来说,我 双非本科,最放心的就是卡学历。过后 hr 明确问了我,你对当初的学校称心嘛,师范类的院校,怎么抉择走软件工程呀,诸如此类的问题很多,无不困扰着我。
不过我也不搞虚的。瞎话瞎话,为什么高中问题差,又为什么抉择软件工程,争取做到坦诚相待的态度,表白出本人最实在的想法吧。
小结
看到这里的话,可能对你来说,没有具体说明确,哪些知识点会考,哪些不会考查。
我面腾讯和阿里的时候,也没有看到我这个部门具体的面试题。
我感觉更重要的是,把握好 专业技能和我的项目经验 的表白,疏导面试官去往你所晓得的畛域交换问题,最初在这个畛域拿出本人的 杀手锏,这样子面试官会更有好感,接下来的交流会更加欢快。
对简历感兴趣的话,能够参考下:
须要获取简历模板 pdf 的话,私信我(文末有联系方式),或者公众号回复,个人简历,即可获取。最初
作为一个行将毕业的我来说,第一份工作很重要。在我面临抉择的时候,慎重考虑以及找前辈交换过后,最初抉择了 腾讯。
在行将毕业的最初阶段,我应该算交上了一份称心的答卷,将来的路还很长,让咱们刮目相待吧!
有想交换的问题,欢送分割我⬇️
微信:DayDay2021
最初做一个简略,自在,有爱的技术人吧。