四年前端裸面,两周拿到美团offer

面经

先分享一波面经吧,我知道你们想听这个。

我三轮面试主要聊的项目,通过项目维度考察的基础面,所以能分享的面试题不多。

  1. 手写Promise.all()
  2. aysnc 和 derfer的区别
  3. http1.1/http2/http3 的区别,keep-alive的作用
  4. http 队头阻塞问题,如何解决
  5. TCP队头阻塞问题,如何解决
  6. TCP三次握手,每一次失败会怎么样
  7. 说下你理解的hook
  8. 从全链路角度分析性能优化

以上提到3,4,8我已经在面试后整理发布了相关技术文章,

透视http协议 - 掘金

面试官问你前端性能优化时,他想问什么? - 掘金

第6,7条相关文章在酝酿中了。

面试过程

面试前

我是被内推的,朋友反馈两年来第一次社会招聘,机会难得。

其实我并没有强烈离职的想法,抱着试一试的心态,简历没改,面经没刷,抱着无所谓的心态就上了。

一面

这是我最近几年感受最好的面试体验之一。

我有注意到JD上标注,有性能优化经验者优先考虑,恰好我正在推动专项优化,于是我在自我介绍中都会强调一下这方面的经验,果不其然,所有人都问了。

我从价值,目标,实施,成果四个方面介绍了我的专项汇报。

讲了大概20分钟,面试官很满意,忍不住说,这是很完整的计划了。

他对我的项目经历表现了极大的兴趣。

接着我们又聊了我做过的项目。

微前端,对比了几个主流框架和原理,和我们的选择。

深入调研了微前端,还是iframe最香 - 掘金

前端脚手架,这个我确实做的很好,我封装过vue+webpack项目模版,vue+vite项目模版,uniapp小程序模版,后台管理系统脚手架。只是稍微讲了一个,就可以和面试官聊很多了。

Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】 - 掘金

小程序原理,这个我实习阶段就已经在研究了,只是太久不做,忘记了,回答得不好。

微信小程序底层框架实现原理|万字长文 - 掘金

后来,问我写没写过node,我正好缺失这部分经验,也就没问。

因为聊的投机,说完项目已经1小时10分钟了,面试官说,按惯例还得做道题目。

于是让我手写下Promsie.all()

我花了7分钟,写了最简单版本的,于是结束了。

二面

两天后,就是二面。

二面面试官项目问了性能优化相关,他更专注底层。

比如协议层,传输层的一些原理。

http部分答得还行,tcp就知道个握手了。

不过他提的问题,我说没了解,但是可以思考一下。

后来查阅相关问题,思考的内容和正确答案基本一致。

同时,对我项目网络库封装部分,非常感兴趣。

因为他说他以前也做过,但是我迟迟get不到他的点。

交流了几波之后,我终于明白了,他的封装思路和我在上家公司的封装思路是类似的。

恰好,老东家所有的前端代码我都烂熟于心,一下就和面试官对上了。

后面又聊了些,对前端脚手架未来的技术规划。

三面

两天后,就是三面。

三面面试官先询问了我的履历。

问了性能优化相关和脚手架相关,不过关注的问题更加宏观,都是全局视角。

问:前端脚手架的意义?

我说来说去,绕不开降本增效,但是我感受到面试官想听到其他东西。

问:从全链路角度分析下性能,主要问题存在哪个阶段,期望达到什么效果。

我说的有些啰嗦,面试官一直打断我,他喜欢重点或者关键词,我答得不好。

问:说下你对hook的理解?

我从公共和复用的角度回答了下,但是没准备,我感觉能回答得更好,有些遗憾。

最后面试官,说了几句我印象深刻的话

"你对技术是有热情的,也保持了一个不错的学习和输出的习惯,这很好。但是我感觉到你工作初期,缺少一个大的业务对你的挑战,没有一个好的领导对你的培养,做事情的方式有点野。如果能有一个大流量,大业务对你的考验和磨练,你的成长不限于此......"

后续

后续就是hrbp,提交流水,谈薪,发offer,离职申请。

对了,还去了趟以前的公司坐了一会,还了个愿,之前许下要去大厂的愿望,现在终于实现了。

几点感悟

你所做的大部分努力没有想象的那么有用

其实一年半前,我就想去大厂看看,不为别的,就想增加自己身上的标签。

名校毕业,在加个大厂标签,好上加好。

我在之前两篇文章中,也都提到了前端人去大厂的意义,这是我的初心。

有兴趣可以看看。

谈谈干前端四年的几点感受 - 掘金

谈谈干前端三年的几点感受 - 掘金

这一年多,为了这个目标我做了哪些努力呢?

  • 刷算法题,刷了快400道,至今不得其法。
  • 封装个项目模版,有40多个star,连我的同事都不用
  • 写了51篇技术文章,水文和干货参半
  • 报名了山月linux训练营,工程化训练营,webpack训练营,面试训练营,边学边忘。
  • 看完了5本掘金技术小册,水分很大。
  • 组内做了6次技术分享,我估计他们也没仔细听听

这些努力的大部分其实没有立即看到成效,也没有想象的那么有用。

或者说潜移默化的变成了我的一部分。

真正在面试中直接帮助到我的是 写技术博客。

但要是从结果论,我觉得有很多因素决定我拿到offer。

最重要的是环境,是有岗位的空缺,有工作机会。

其实是个人的外在条件,年龄,工作时间,学历,

然后才是个人的内在条件,自己做的努力,跟上面比起来都是微不足道,大部分努力都是无用功。

最后多少沾点运气,就是我们常说的面试的眼缘。

但我仍然劝你做些无用功,但不要报过高的期望,只要你觉得这件事是有价值的。

因为大部分时候我们面临选择时,分不清那是不是机会,还是更差。

很多时候被生活和工作推着向前,没有什么考虑时间。

你没有办法辨别什么是机会,没有人能长一双慧眼,看到机会的来临。你只能做各种各样的准备,往往是准备之后你做了临时性的选择、不知深浅的决定,正是这些准备,让你的各种选择和决定改变了命运。等你若干年回过头看,你才恍然大悟,原来那次抓住的就是机会。

筛选

我工作四年了,换了两家公司,我和遇到的同事都保持了一个还不错的关系。

但是我慢慢感觉,和一些同事的交流对我是一种消耗。

一些人虽然工作经验丰富,技术实力强悍,但是不一定能帮助到你。

我们要多和能帮助到我们的人交流。

比如说,和山月交流了一年,

我印象最深的不是,给webpack提了pr,不是哪个知识点我没听说过。

而是在面试摸底时,他说。

"不要太焦虑,你现在技术,是符合你年限的,你的工资,也是匹配市场对你的定位的。你是可以试试现在的大厂的,我觉得没问题。"

再比如说,我的前领导在年初问我今年如何打算时,提到。

"一定要努力去大厂,现在还能去,再有几年就更难了,我知道你不想加班,那就干一年就走,但你是需要这个履历。"

所有人都知道让我往高处走,但只有他明白我不想太累。

价值

其实这就很明白了,多做有价值的事情,能提升自己价值的事情,要努力增加自己身上的标签。

我们记住一个人,都是记住的这个身上的标签。

我们认识一个人,也是从他身上的标签开始的。

别人想帮助你,也需要你自身有价值。

你想和能帮到你的人多交流,也得认识到自己的身上的价值,要明白自己要什么。

自洽

每个公司都会有它的问题,换份工作也会面临新的问题。

问题只会随着职级工资的升高,越来越多,越来越棘手。

有些人沉醉研究技术,做好自己的事情;

有些人向上管理做得好,在职场风生水起;

有些人工作摆烂,不求进步,无心绩效;

有些人大厂换大厂,一路晋升;

有些人跳槽越跳越难,赋闲在家。

这些人都是对的,最重要的是要自洽,找到一个自己内心能接受的方式。

相关推荐
王解34 分钟前
webpack loader全解析,从入门到精通(10)
前端·webpack·node.js
我不当帕鲁谁当帕鲁38 分钟前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段
前端·javascript·arcgis
那一抹阳光多灿烂43 分钟前
工程化实战内功修炼测试题
前端·javascript
放逐者-保持本心,方可放逐2 小时前
微信小程序=》基础=》常见问题=》性能总结
前端·微信小程序·小程序·前端框架
毋若成4 小时前
前端三大组件之CSS,三大选择器,游戏网页仿写
前端·css
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
Black蜡笔小新5 小时前
网页直播/点播播放器EasyPlayer.js播放器OffscreenCanvas这个特性是否需要特殊的环境和硬件支持
前端·javascript·html
秦jh_6 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
蜗牛快跑2136 小时前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy6 小时前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js