2 年前端被裁后的辛酸面试经历

大家好,我是雷布斯。

今天给大家分享一篇面经,作者双非一本非科班,从事前端两年,今年 10 月被裁后,参加了 11 家公司的面试,最后拿到了 2 个 offer,可以通过他总结的面经看出找工作的辛酸。

也不由感慨现在的行情太差,大家且行且珍惜。

前言

ps1:前言包含了自己的个人背景、心路历程、和自己的碎碎念,想看面经的同学可直接通过目录拉到下方

ps2:掘金上多是大佬面经,大佬们都比较厉害,大厂offer拿到手软~ 中小公司的面经不是太多,所以自己也想回馈下社区。本人真·菜狗,往下看就知道啦

个人背景

双非一本毕业,非计算机科班,目前毕业两年。

校招进的前东家,没换过其他公司。前东家是互联网某细分领域下的top1,勉强算个小厂吧,进公司一年后转入核心业务线,非常忙,做不完的业务需求,一年中除了每次放假前后的那两天,其余都是业务需求满负荷。

再加上我自己也比较菜,对技术也没了最开始的热情,一直在繁重的业务需求中麻痹自己,自己的技术并没有多少成长。导致我的项目经历特别的贫瘠,两个项目,一个是自己主R的模块重构,第二个是基于司内的埋点sdk搭建的预警系统,在面大厂的时候也被面试官直接说项目太简单了,没难点......

自己主要是用vue,写过node项目,webpack会基本配置(菜狗无奈...)

十月被裁

今年,其实不止今年,从去年前年开始已经能感受到大环境不好了。从校招就可看出来,我是21年进公司,当年和我同一批进公司的研发,大部分都是双非本或是双非硕。两年后的23年校招,我们组进到面试流程的,9个人中,7个211/985,6个硕士。

21年进公司后,公司其实一直在裁员、组织架构调整,并且频率逐年提升。我是今年10月份被裁,我这波已经是今年的第三波了,这还没算上小于10%的小规模裁员,听说年底还有一波。

n+1,还算满意,所以和前东家交接后直接开开心心走人啦~

躺平半个月

知道被裁的时候只有开心,因为当前的工作太累太累,base也不高,自己已经在计划着跑路了,正好被裁,还能拿一笔赔偿~

在家躺了两天,等了个周末就和对象回老家啦(对象也辞职了)。

回家后在父母店里帮帮忙,和老友吃吃饭,半个月很快就过去了。

(和老友们聊天其实真的让自己成长了挺多,在外面漂久了亦或者是当程序员当久了,一些很现实的问题我一直在逃避:买房、买车、结婚...... 这里就不扩展啦,免得跑题了)

10月底回到北京,回到北京后老毛病肾结石又犯了,硬撑了好几天,最后还是去医院做了碎石手术,恢复了好几天才将体内碎石全部排完。

面试经过

11.5号正式开始准备面试,这时其实已经开始焦虑了:有开支没收入、同批被裁的前同事已经在开始找工作但是不太理想约不到面试。

改简历、背八股文、刷算法题、投简历......

自己在准备阶段比较随性,并没有很高压,LOL世界赛每场都看、学累了就出去玩一天吃一天,所以在11.20才正式开始面试,此时距离被裁已经过了一个月。

最终结果

11.20~12.6,历时近三周,过简历约面试的有18家,参加了11家的面试

最终拿到两个offer:

一家做k12教育的,教育行业的那几个大公司之一,进去后是核心业务线,不是太卷,早9晚7,很少加班。不过涨幅给的很低、也没啥福利、并且自己对k12教育不太看好,就拒了。

第二家是做社区app的,规模还可以,有一定的知名度和用户量,涨幅给到20%+,房补餐补都有,不过早10晚9,思考了下还是接下了,赚钱嘛不磕碜~

碎碎念

最近行情真不行,大家能苟着还是苟着吧,互联网寒冬真不是空穴来风......

周围的同批被裁的大多还在找着工作,甚至上批被裁的少数也还在找工作,今年寒冬,年末更是寒上加寒。

经过这次面试,更加确信是真的菜,卷不过大佬们,在职的时候还想着多准备下冲个大厂,但真到自己失业了,一个多月没上班时只有焦虑,并没有躺平的闲适,所以有了offer就直接接下了。

自己可能并不适合前端这一行吧,希望自己之后可以尝试下更多可能性:提升学历 or 宇宙的尽头?

面经

ps:只列举了5个公司的面试题,其他没录音就没做记录

公司A(一面挂)

做设计稿编辑器的,类似蓝湖,公司总的100多人,前端30来个,所有研发7、80个

是自己的第一次面试,八股文准备得不好,直接挂了

两道手写题:

  1. 实现 Promise.all
  2. 翻转二叉树,二叉树的左右节点翻转

公司B(offer)

做k12教育的,就是教育行业的那几个大公司之一,进去后是核心业务线,感觉不是太卷,早9晚7,很少加班

一面

三道代码题:

// ```1、输出结果
Promise.resolve().then(() => {
  console.log(0)
  return Promise.resolve(4)
}).then((res) => {
  console.log(res)
})

Promise.resolve().then(() => {
  console.log(1)
}).then(() => {
  console.log(2)
}).then(() => {
  console.log(3)
}).then(() => {
  console.log(5)
}).then(() =>{
  console.log(6)
})
// ```


// ```2、描述下列代码的执行结果
foo(typeof a);
function foo(p{
  console.log(this);
  console.log(p);
  console.log(typeof b);
  let b = 0;
}
// ```

//# 3. 数字千分位

// ## 题目

// 将数字按照千分位生成字符串,即每三位加一个逗号。不考虑小数。<br>
// 如输入数字 `78100200300` 返回字符串 `'78,100,200,300'`

/**
* 数字千分位格式化(字符串分析)
@param n number
*/

二面

两个手写题:

  1. 编写一个vue组件,组件内部使用插槽接收外部内容,v-model双向绑定,实现折叠展开的功能

  2. 利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a5b1c5

    • 如果需要是连续的呢?比如aabcccccaaa会变为a2b1c5a3
    • 再优化一下,如果只有一个元素那就将1给去掉

三面

三面是现场面,两个面试官,一个是该业务线的leader,另一个是该业务线的研发leader。没录音,主要问了个人规划、自己对裁员的看法、你觉得为什么裁的是你不是别人、你的优缺点等等这些偏hr的问题

公司C(二面挂)

也是做教育的,大前端,3、40人,有一些外包,现在急需前端,一般8、9点走

一面

两道代码题

  1. 给定一个二维数组,其中只包含0和1。我们定义1相邻的区域是指1与1是上下左右相邻的区域。请编写一个JavaScript函数,找出给定二维数组中所有1相邻的区域。

  2. 封装一个函数,接收多个promise,其中只要有一个promise resolve或者reject了,那它整体就resolve了

    • 什么场景会用到这种实现?

二面

体验比较差,面试官对我的项目没有兴趣后,就让我自己讲项目,期间一直在做自己的事情,全程没有反馈,最后也意料之中的挂掉了

公司D(一面挂)

公司不大,100多个人,做游戏的,八个前端,偏中后台,不卷,很肯定的说晚上七点就能走,不加班

面试官不错,问问题由浅入深,不过自己有些没答上来就挂了

  • 自我介绍

  • 如何研究vue2/vue3的原理,你是怎么学习的?

  • 对源码的哪一块记得比较清楚?

    • 我:响应式,面试官:那说下响应式吧
  • webpack,自己写过loader和plugin吗?

  • 深问项目

  • 如果本地存储的草稿>5M了,有什么其他方案能够解决

  • new一个对象的时候会做些什么?

  • es6的class和es5的function的关系?

  • ES5怎么实现继承

  • 父类上的引用类型的属性,子类继承下来,还是那个引用类型吗?

    • class类的继承呢?
  • js代码执行顺序(事件循环)

    • 微任务产生的微任务是在本地循环还是下次循环?

    • 在嵌套的微任务,用户去对页面进行交互,能成功吗?

    • 换成宏任务可以成功吗?

  • 口述一下节流函数的实现

  • 口述一下,实现一个函数,接收字符串,返回对应的布尔值

    - () true
    - ())) false
    - (()) true
  • 什么情况下会产生跨域?

    • 服务端请求服务端会跨域吗?
    • webpack或者vite中可以使用proxy解决跨域,它解决跨域的原理是什么?
    • 为什么跨域的时候有时候请求会发两次?
    • 那为什么非要有这个预检请求呢?
  • Vue2和vue3哪个更熟悉?

  • v-if和v-show的区别?

    • 它两在对页面产生重绘重排上面有什么不同?
    • 分别为一个组件设置v-if和v-show,值由false变成true,或者由true变成false,组件的生命周期会怎么执行?
  • v-if和v-for共同作用在一个元素,谁的优先级更高?

    • vue3呢?

    • 你觉得为什么vue3调整了优先级呢?

  • created 和 mounted 有什么区别?

    • 能在这两个声明周期里面通过this拿到method,data,$refs这些吗?
    • 比如我在created发起ajax请求,ajax完成之后,在其回调里面能拿到回调吗?

公司E(一面挂)

也是做教育的,技术上感觉比前两家做教育的更厉害点

追问的几个点没答上来,面试官不太满意

两个代码手写题

  1. 自定义实现eventBus

    • 需要支持on、once、off、emit

    • 如果emit的时候需要传入参数,怎么处理?

  2. 手写防抖、节流

建议

  • 目前工作真的不好找,能苟还是苟着吧~
  • 大公司进不去的话,可以试下中小型公司,中小型公司问的问题更偏实际开发一点,其中两个公司甚至完全没问八股文,全程死磕实际开发遇到的重难点。

最后

上面的大部分面试题都已录入我们的题库,大家可以直接点击查看答案。

还没有使用过我们刷题网站(https://fe.ecool.fun/)或者小程序的同学,如果近期准备或者正在找工作,千万不要错过,我们的题库主打无广告和更新快哦~。

老规矩,也给我们团队的辅导服务打个广告。

原文链接:https://juejin.cn/post/7309293844427882534