本科两年多前端开发经验,常用技术栈Vue+TypeScript。
换工作的原因:想着趁自己还年轻,不能老是在一家公司混吃等死毕业之后没有再面试过,想去外面看看机会,合适就溜,不合适就接受一下社会的毒打认清自身的差距踏实的学习(其实这是最初真实的想法)!
最终结果:通过了百度、字节、滴滴、58等岗位的面试。
观前提醒:本篇文章仅为记录+分享,提及的问题都有自己粗略的总结,我把能凑合看的都加上了链接,但不保证其正确性而且肯定比较主观,所以希望大家带着质疑和自己的理解辩证的去看。如果有错误的地方欢迎各位大佬指出一起讨论~
css部分考核确实比较少,主要是细节,这个平时注意积累一下即可,毕竟面试的时候答不出来挺尴尬的可能还会影响自己的心态。
在框架满天飞的今天我们可能越来越忽略了HTML认为它不过就是一堆标签,但不要忘了作为前端归根结底就是学习HTML、CSS和JS这才是前端的三大基石!在本次面试中让我印象比较深刻的是面淘宝时面试官就HTML和我聊了将近半个多小时,很遗憾当时的面经后续整理的不太细致,因为当时比较明显的发现这是他的一个KPI任务,但仍然很感谢和面试官有这么一场交流。
建议关键的位置看一下源码实现,这一部分尽量看完之后有点自己的总结,然后再对比大佬们的总结可能更好理解。假如完全硬记的话可能面试官稍微一聊深点就没法继续了....
我webpack部分的具体实践比较少,所以只整理了一些比较基础的问题,如果你跟我一样也只有几年工作经验有某个部分比较弱的话建议面试之前花点时间补一下,木桶原理不要让某个短板特别明显,大佬忽略~
可能大家和我一样,平时直接上手用平时总结的很少,如果你的简历上也有提到不妨看看。
算法对于前端来说到底重不重要,这个仁者见仁智者见智,它确实稍微有点耗费时间而且使用频率没有特别大,但是如果你想进大厂尤其是大环境比较差,面试者都比较卷的当下。我建议还是适当的刷一下。主要攻破:二叉树、链表、递归、回溯、动态规划。以我本次找工作的经历来说:字节、小红书、快手、猿辅导的代码题都有考察算法。我自己差不多刷了LeetCode 100道左右,以middle为主(easy:20%、mid:70%、hard:10%)如果前期自己效率比较低确实刷不下去的话推荐《labuladong的算法小抄》跟着一起看。
输入一个数组 arr = [1,2,3]
输出全排列 [[1], [2], [3], [1, 2], [1, 3], ...., [1,2,3], [1,2,4] ....]
Input: 'abcdaaabbccccdddefgaaa' Output: 4
1. 输出叠词的数量
2. 输出去重叠词的数量
3. 用正则实现
正式的面经到这里就结束了,后面你可以认为是朋友之间的闲谈(不感兴趣的可以直接忽略)。我最开始也有提到我本次出来看机会的初衷是因为缺乏学习的动力,希望接受一下社会的毒打,而且毕业之后也没有任何面试的经验。但我又怕先去刷题和背八股时间太长,拖着拖着不了了之(本人间接性踌躇满志,持续性混吃等死),所以啥也没准备就开始了自己的第一场面试,毫无意外当场GG。但我也不是直接摆烂,而且面试结束之后那位面试官还主动加了我的微信。后来我才得知他也是刚开始替公司面试,其实当时和我一样紧张。因为我俩工作年限相近,又都是北漂还是有一些共同话题的。之后还一起去王者峡谷奔跑了几圈(算是一个有趣的小插曲吧,如果你跟我一样是个重度的拖延症患者不妨尝试一下这种方式,但这个拿来练手的小白鼠最好是个你不打算去的中小企业)
如果你自己有比较强的自制力和自我驱动能力,强烈建议还是稳扎稳打的来,先去网上搜集2-3篇和自身经验匹配的高赞面经汇总,以我自身举例我找了两篇和我年限相近的:掘金面经-1、掘金面经-2,然后把里面80%以上的问题搞清楚(问原理的非常清楚的张口就来,代码题十分钟内直接手写出来,千万不要模模糊糊,一问有印象,一答支支吾吾说不清楚)然后再去集中约面,相信这样下来你的效率和offer的数量都会比我高很多。还有一些其他唠叨的话和本次踩过的坑就不在这里展开说了,如果感兴趣也可以去看看【面试三部曲:约面方式&心态调整&argue薪资】