「时光不负,创作不停,本文正在参加2022年中总结征文大赛」
写之前,我回头看了我2021年的年终总结——《# 回望我的前端之路,无愧 —— 2021年终总结》。
看看那时候立的Flags,很开心我用了半年,就完成了最艰难的一条:跳槽到更好的地方。
嗯,我一个三本学生,非计算机专业,2020年毕业,在一家小公司工作了两年后,跳槽到了字节跳动。听起来就很(标)励(题)志(党)。
刚好利用这次年中总结活动,来聊聊这半年的心得叭,想到啥就聊点啥叭。
跳槽
从去年年尾,我就开始为跳槽备战了。虽然在flag中,我给自己提供了晋升的选项,但是在原公司的种种现象看来,这个选项还是比较缥缈的,即使晋升可能也拿不到我想要的薪酬。
因此,我果断选择了跳槽这个选项。
当时我也给目标公司做了一个筛选:我要进中大厂。当然这不仅仅是因为薪资的原因,而是我觉得我在中大厂中,更能学习到东西。或者说,它更能提供给我一个学习或交流的氛围。
跟大家一样,我也是在网上找了好多面经,面试题,面试相关的技术文章等等,然后开始学习。
“八股文”
但简单过了一下面试题后,我发现我有一部分知识还处于模糊状态,比如算法,网络协议等等。这时候在我面前就是两条路:背题,或者搞懂它。
而我果断选择了后者,因为我真的太讨厌背诵了。
既然决定要补基础,那干脆全部一起过一遍叭。因此我就根据各种面试题,面经,八股文等等,简单整理了一下前端面试的知识面。这里简单列一下:
- HTML、CSS、JavaScript
- 浏览器
- 网络协议
- 前端框架
- 前端工程化
- 安全问题
- 设计模式
- 算法与数据结构
就👆🏻这些点,然后一个个再不断细分去学习和巩固。
如果时间充裕的话,你可以去看书或者文档,系统的过一遍;否则的话你可以跟着面试题过一遍,当遇到不会的题目(包括你蒙对的题目),去深挖它的原理,并且举一反三,久而久之,你就会发现考来考去就那么几个点。其次,不要只看不动笔。敲一个demo好过你去背一遍。
而有一个例外的,就是算法与数据结构了。这个分支的学习,说白了就是刷力扣题。对此我专门去建立了一个leetcode仓库,保持每日至少一题(至今我还在刷哈哈哈)。
对于刷题的顺序,不太建议跟我一样按照顺序去刷题哈哈。在leetcode会对常用解法进行一个分类,你可以按照分类进行刷题。
其次就是难度,对于hard的我建议就是跳过,如果你时间充裕的话,你可以去看看题解学习。简单和中等的话,还是不看题解实现一遍,即使你用暴力解法,也好过你直接看题解。
刷过一定题量后,你也会发现,无非就那么几个解题技巧,然后举一反三。
项目
公司项目我后面再聊聊,这里想聊聊一些个人项目。
其实我差不多是去年后半年,才开始搞起我的github。
当然,最开始搞github,一定不是为了什么开源项目,就很单纯就让简历丰富点,github有点能看的东西哈哈哈。
最开始,我会把我学习的一些demo往上面丢,然后也没太维护,有多少丢多少。然后开始学习源码,就会开始撸一些mini版框架。
这里最值得一提就是mini-vue3,这个项目其实就是报名了崔大的mini-vue课程,可能前段时间他的软文刷屏了哈哈哈。但营销虽营销,这课程是真心不错,收获蛮大的,不仅仅是对vue3的学习,而且还有学习到了一些单测的知识,开发的小技巧等等,而且在社群中,也认识了不少大佬。
然后想再聊聊这段时间对我帮助很大的另一个人——Anthony Fu。即使他压根就不认识我,但他确确实实是我前端学习道路上对我帮助最大的人之一哈哈哈。
最初知道他,还是在大圣的FunnyCoder栏目对他的采访,之后他也开始在B站活跃起来,一有空就直播,而我基本每个直播就会蹲着。在直播中,他都会去实现一个Feature,而每次看他从零到一去实现一个Feature时,我都会收获很多。其次,他有时候都会分享他一些学习方法,以及一些开源项目的经验。
也就是因为他,那段时间我也开始给开源项目提了PR了。从简单的修改错别字,到bugfix,再到小的feature实现,后续也参与到了Vitest中文文档的翻译工作。
我觉得很神奇的就是,我是一个英语巨烂的人,但因为你想要参与开源,或者想要更快的学习到前端最新的知识,你必须要过英语这一关。因此我现在都会优先去看英文文档,即便有中文文档了。然后我每天会去逛逛推特,follow一些技术博主,然后去看一下国外的博客等等。
久而久之,我不敢说英语有多厉害,但是起码比以前强了哈哈哈哈。
简历
来唠唠简历。
唠之前,我想明确一个点,就是简历内容远大于简历模板。我发现有很多同学会一上来就要别人的简历模板,然后套用,我个人觉得这思路是不太对的。
首先,我们得明确简历需要写什么内容:
- 个人信息
- 姓名
- 邮箱
- 联系方式
- 学历
- 工作年限
- (其他平台的账号,如果有的话)
- 教育背景(倒序,大学开始写)
- 学校名称
- 就读时间
- 专业名称
- 专业技能(合理使用“了解”、“熟悉”、“掌握”,没那把握就别写“精通”了)
- 工作经历(倒序)
- 公司名称
- 在职时间
- 岗位名称
- (简单概括主要工作)
- 项目经验(倒序)
- 项目名称
- 项目技术栈
- 项目中你的角色
- 项目亮点(你负责的)
- (项目的链接,如果有且对外开放的话)
- 开源项目(如果有的话,可以贴上链接)
简历核心内容基本上就是上面这些了,然后你先弄个word或者弄个markdown写出来,梳理清楚,最后在去网上找个模板贴上去就可以了。
再分享几个Tips:
- 有链接可以贴上,然后再弄个超链接。
- 最后一定要导出PDF!
- 内容才是核心,模板只是帮你排版美化,看起来比较舒服而已,没必要搞得花里胡哨。(当然你可以搞一个简历网站)
- 分得清主次,尽可能把你觉得优秀的地方放前面。(比如我学历不太好,我就丢到最后了)
- 最好不要超过两页,字体不要太小,也不要太紧凑。
- 自我评价可有可无,但内容最好真实,别乱写。
- 项目亮点如果不是你负责的话,那你就学会把它变成你负责的,也就是能经得起面试官的拷问。(相反,如果禁不起拷问,那你就别乱写了)
面试
最初我的想法还是在广州求职,因为我原来公司就在广州。但在过年期间,我几个在深圳工作的朋友,疯狂安利我去深圳,一方面是深圳的互联网公司比广州的要多,另一方面是我很多朋友都在深圳哈哈哈哈。
差不多三月,我就开始投简历了。原本计划是裸辞后求职,但发现今年的大环境实属不太好,就不敢裸辞了。(之所以想裸辞是因为我不太想频繁请假去面试)
即使大环境不好,我也不想胡乱海投。首先我过滤掉小公司和外包公司,然后再看看岗位的JD,以及公司的背景等等。其实面试本来就是一个双向选择的。
这里重点聊聊我和字节的缘分叭哈哈哈。
最开始我是找了字节内推,投了抖音的岗位,但是初筛就挂了,后面我基本上就放弃字节了。之后在招聘App上逛的时候,看到字节飞书的招聘,我看了一下JD,就随手一投,然后就划过了,心想着也不会中。
没想到过段时间,字节HR打电话给我,邀请我参加面试,把我高兴的。而且那个HR也很好,她一听到我还在职,就主动帮我安排到晚上面试(我前面面试的公司,都是我主动问能不能晚上面试的)。
字节一共有四轮面试,三轮技术面一轮HR面。前两轮面试还是很顺利的,基本上都能回答上来,面试完后基本上就出结果。但三面就没那么顺利了,当时面试官,也就是我现在的Leader,他问了几道逻辑题,我都没能全部回答上来。但还好,我算法题都写出来了。那晚面试完后,我觉得就凉了,那晚也没出结果,说需要去对齐一下。
我就这么焦虑了几天,也继续看其它的岗位了。
最后很庆幸,三面过了,随后就是HR面试。那时候刚好端午节,HR面就只能推迟到端午节后,我原本以为三面可以快速出结果,然后速战速决,端午节前搞定的哈哈哈。
后面的流程都很顺利,面试结果出来后,需要等一下offer审批,差不多两三个工作日,就谈薪发offer了。这时候,我也推掉了其它的面试,就一心奔向字节跳动。
这里也说说面试的Tips叭:
- 技术面基本就三部分:基础知识,项目,算法题。
- 通常面试官都是从你简历上的项目开始发问,然后不断扩展,顺便延伸到基础知识。
- 算法题不会到hard难度,你可以跟面试官分享你的思路,即使你最终写不出来。(有时候面试官会引导你去解题)
- HR面要实事求是,对于前任公司、薪酬待遇、教育背景等,宁可避而不谈,也不要撒谎。
- 面试结束后,最好做一下复盘,尤其是对你那些没做出来或者是蒙对的题目,再去学习一下。
字节工作心得
我五月中上旬正式入职字节。运气不太好,赶上深圳台风,入职第一天领了电脑就回家办公了,还好隔周就回工区上班了。
到现在已经入职两个月了,简单说说我的感觉叭。
首先我很幸运的遇到这个部门,没有传说中的卷和PUA,基本上我和同事都没怎么加过班。其次公司福利也很好,弹性上下班,包三餐,下午茶,房补,晚高峰打车报销,免费健身房等等。(可能一直在大厂的人会觉得这些很正常,但对于一个从小公司来到大厂的人,这妥妥的福利啊)
当然,从小公司跳槽到大厂,需要花点时间去适应一下整体开发流程。在小公司的流程是很简陋的,而大厂的开发流程是很完善的。这也是我为什么想来中大厂的原因。
其次,就是技术栈的转变。我之前是写Vue的,而字节是React的。我之前不太使用React,只是简单写过Demo而已。因此我需要花时间去学习一下React并熟悉业务代码。
总而言之,我爱字节哈哈哈哈。
最后唠唠
最后随便唠唠叭。
有必要读源码吗
确实,我这半年花了不少时间在读源码上,包括现在很多课程动不动就是带你读源码,手撸mini-xxx。所以这个是真的有助于我们成长,还是就是为了面试呢?
首先,我们得搞懂我们读源码是为了什么。其实就是要学习这个框架的底层原理,而学习了框架的原理,就是为了让我们平日里能够更高效率的开发。
就跟我们学习一个新事物一样,从入门,到实践,到深入学习;就跟我们打王者一样,从新手教程,到实战,到熟悉每个英雄的特征、铭文搭配、装备搭配、战队搭配,从而去提高自身的技术。
当然很多人会说,我打王者就直接之间使用推荐的铭文和出装,然后我只玩我喜欢的英雄,但我也不了解它的特征,我依旧可以玩得很好。那我只能说,你厉害哈哈哈。
我觉得弄清一个事物的原理,是你想要学会这个东西的必经之路。
其次,我们还需要明白就是,我们是需要明白原理,而不是需要对源码倒背如流。很多人会弄错重点,为了读源码而读源码,最后浪费了很多时间,也没收获很多东西。
所以我的建议,深入学习还是必须的,对于常用的框架,我们可以去了解它的原理,不要只停留在“只会用”。而弄清原理我们可以通过各种渠道,比如看看别人相关的技术文章,比如尝试去看看源码,当然你可以通过一些课程去带着你,或者可以参加一些源码共读的活动,我记得若川就有这个源码共读的活动。
然后看源码的时候,关注你要学习的部分。因为源码中有大量的处理边缘case的代码,这些基本上是可以忽略过。你得清楚你想要学习到什么,就去阅读对应的代码即可。
总之,要抱着目的去学习,不要盲目跟风。
学历焦虑
作为一个三本学子,多多少少有点学历焦虑的。
但很庆幸的是,我很擅长于将其化成学习动力,空闲时间多学习点东西。出来混的,迟早要还的。
所以这里我想说的是,如果你学历真的不怎么样,就多花点时间去提高自己的技术和能力,不要浪费大好时光在埋怨。
确实,对于应届生岗位或实习岗位,学历一定会是第一标准。但当你的工作年限越长,我相信面试过程中,你能力的比重,远大于你的学历。
最后附上,我在脉脉被人怼的截图(乐一乐就行,随他去叭):
展望环节
来到字节,也是一个新的开始。
对于剩余半年的展望,我希望能够快速的融入公司和业务。
当然,学习永无止境,况且我还得“精通”React呢哈哈哈。下半年的重心还是会放在React的学习上,然后还是会关注前端新动态,多学点东西哈哈哈。
然后希望能够保持写作,在掘金多发一些有营养的技术文章。
字节内推
最后,如果你想来字节工作或者实习,可以联系我哈哈。如果你准备好了,我可以帮你内推一下。
当然也可以加我唠唠有跟没的也行哈哈哈。
微信:
附上一些备战过程中觉得不错的文章
可能漏掉了很多好文章,反正能找到的都贴上了哈哈哈。
- (建议精读)HTTP灵魂之问,巩固你的 HTTP 知识体系
- 做了一份前端面试复习计划,保熟~
- 从编译原理的角度彻底理解什么是闭包(Closure)
- 「硬核JS」图解Promise迷惑行为|运行机制补充
- 「硬核JS」你真的了解垃圾回收机制吗
- 「硬核JS」你的程序中可能存在内存泄漏
- 字节面试被虐后,是时候搞懂 DNS 了
- 从输入URL开始建立前端知识体系
- 手撕一个符合Promise/A+规范的Promise
- 为了备战金三银四,我整理了41道高频JS手写题!
- 「万字进阶」深入浅出 Commonjs 和 Es Module
- 阿里三面:灵魂拷问——有react fiber,为什么不需要vue fiber呢?
- 又一个月,1.5W字!50+Vue经典面试题源码级详解,完结篇!
关于我
Blog:deweyou.me/
Github:github.com/ouduidui