[面经] 1年前端菜鸟 - 历时3个月收获3个offer🔥

340 阅读7分钟

1. 前言

作为一个在2022年毕业的普通民办二本学生,我于2022年5月份步入职场,加入了一家民营企业的前端开发团队。虽然公司的前端技术栈相对前沿,但很快我意识到,自己的职业发展需要更大的舞台和挑战。
可能我面试的公司 不是各种大厂 不像掘金中发帖子的一些大佬 面经都是面试大厂的 不喜欢希望误喷。谢谢

2. 在初职的日子

在我目前的公司,我负责后台管理系统的开发。很快我发现,每天的工作重复度很高,大部分时间都在进行增删改查(CRUD)操作。尽管我独立承担了两个项目的开发,但我觉得公司的技术学不到新的东西,且公司没有调薪计划,这让我考虑到了跳槽。

3. 面试之路

泛微(挂)

第一家面试的是泛微 一家国内做OA系统的 面的是全栈工程师 后端技术栈用的是node.js 但是属于是二次项目开发 在原有项目基础上去给客户定制开发。复盘:最终由于我在CSS和SQL方面的基础不足,我未能成功。

一面

  • 进行自我介绍
  • 简述事件循环原理
  • refs是用来做什么的
  • css您这里熟练吗 在项目中css写的多吗
  • 原生js中如何阻止冒泡
  • vue 的keep-alive的作用是什么?怎么实现的?如何刷新的?
  • vue 是怎么解析template的? template会变成什么?
  • 说一下你认为你项目中最难的地方
  • 增删改查的sql语句说一下
  • 如果一个接口请求后 没有数据结果返回 你该做如何处理

不知名的小公司(offer)

其实就是为了涨一涨面经 没想到竟然过了 这家公司的前端团队比我的初职公司还小。经过三轮面试,尽管我展现了不错的技术实力,但由于薪资问题,我们未能达成一致。

一面

  • 上机写一个ToDoList 可以完成增删改查功能(15分钟)
  • 数组都有哪些方法、哪些方法会改变原数组、哪些方法不会改变原数组
  • TS中新增的两个数据类型是什么
  • forEach和map的区别
  • 在antd的Table组件中如果你在第二页进入了某一个数据的详情页后 你在返回到列表页的时候 页数会跳转到第一页 这个问题您怎么解决

二面

  • 讲一下你们的项目情况
  • 如果在项目开发过程中 如何能避免需求的变动
  • ts中interface和type有什么区别

三面

  • 介绍下自己
  • 为什么要跳槽
  • 您觉得您会给我公司带来什么利益 我公司又会给您带来什么利益

上海班图网络科技(挂)

公司是做游戏的 面试的是node.js开发工程师 前端用React+antd 我当时理解的就是全栈开发工程师 但是到面试后我发现不仅仅需要写后台管理系统 还要使用node.js做游戏开发 复盘被挂掉的原因:前端八股文没背熟悉 问了很多后端知识

一面

  • 进行笔试
  • es6新增的特性
  • 如何创建node.js集群并做到不中断重启
  • redis了解过吗
  • 列举js中数组遍历方法 追问 for in 和for of 可以遍历数组吗 追问 有什么区别
  • 如何不使用第三个变量来交换两个数的值
  • 编程题:现有1000个苹果,10个盒子,问各个盒子内应该分别放入多少个苹果,才能使得用户要买任意1至1000之间的一个苹果数,都可以给他(卖的时候是整个盒子卖,不能拆盒子的包装)

哈敦智能(挂)

尽管我认为自己在这次面试中表现得相当出色,但还是被哈敦智能刷下来了。这次的经历让我深感面试有时也带有一定的运气性。

一面

  • forEach和map区别
  • 数组中有多少种方法
  • async和await有什么区别
  • some和every分别如何用
  • 看你简历中软件著作权能说下这个怎么申请的吗
  • 为什么选择前端这个职业
  • 手撕代码:不用sort实现数组排序
  • 手撕代码:判断括号是否配对
const str='(a*(b+c)+d)*e)'
  • 手撕代码:把所有的name节点都取出来,最后放到list数组里面
const Tree =[ 
  {
    name: 'a0',
    children: [
      {
        name: 'a0-0',
        children: [
          {
            name: 'a0-0-0'
          }
        ]
      }
    ]
  },
  {
    name: 'a1',
    children: [
      {
        name: 'a1-0',
        children: [
          {
            name: 'a1-0-0'
          }
        ]
      }
    ]
  }
]

const flatten = () = {
  const list = []
  
  return list
}

上海派森诺(offer)

面试过程中,我对这家主营医疗科研的公司留下了很好的印象。但由于薪资问题,我们未能达成共识。

一面

  • 介绍下你的项目
  • react函数组件中如何模拟生命周期
  • react里的key的作用是什么? 为什么不能用Index?用了会怎样? 如果不加key会怎样?
  • 扩展运算符如何使用,你用来会做什么
  • 类组件和函数组件有什么区别,你觉得哪里好
  • every和some的区别
  • forEach和map,谁的循环遍历可以提前停止
  • 如何实现垂直水平居中
  • useMemo、useCallBack、React.memo有什么区别 分别都是什么作用
  • react如何实现性能优化
  • react18的新特性有哪些
  • TS中泛型如何使用
  • 讲一下你项目中的功能实现

二面

就是线下聊聊天 没有问技术问题

爱用科技(被刷kpi)

公司是做 电商的 但是一面是hr线上视频面 绝壁是hr刷kpi面了 谁家正经公司想招人 一面hr面

华粤企业集团(挂)

我的前同事向我推荐了这家医疗公司。虽然技术栈并不是我期望的,但也想着现在面试机会不容易,技术栈之前是jq 新项目上的是vue3应该也没有多长时间 而且还没有上TS 感觉公司不是很注重前端技术栈这里 这个公司没什么好技术复盘的 问的都是八股文

一面

  • 说一下h5的新特性和语义化
  • 如何实现排序 不允许用es6的方法
  • vue如何进行父子组件传值
  • 场景题:如果让你做指纹验证 如何做
  • js原生方法了解吗 说几个方法

上海云轴信息(挂)

这家云计算公司的技术氛围吸引了我。但面试题目深度较大,我意识到自己的经验和知识还远远不够。

一面

  • React router底层原理是什么,要让你实现一个类似的功能,你该如何实现
  • 如何实现一个深拷贝 说思路就行
  • 浅拷贝和深拷贝有什么区别
  • useMemo和useCallBack做了什么事情,底层原理是怎么实现的,如果要让你实现一个useMemo如何实现呢
  • 你公司中为什么要选择用umi这个框架呢
  • 单元测试有做过吗,覆盖率能达到多少
  • graphql了解吗、使用过吗
  • 云计算相关知识了解吗

某区块链公司(offer)

公司做海外项目的 原本没有抱太大希望,因为我了解到公司里的员工都有大厂的背景。但出乎意料的是,经过三轮面试,技术面、总监面和HRBP面——我顺利地通过了。面试过程中并没有太多难题,这让我真正的理解了面试真的靠运气,已收到offer,薪资待遇也很满意,期待新的工作和挑战!

4. 总结与反思

上面的面试问题 有的不全 因为都过了好久了 每次面试完后 也没有去整理每次面了什么 只是大概记得这些 这篇文章只想记录下 毕业后第一次跳槽的经历,面对如今的市场形势,历经三个月的努力挑战。每一天,我都坚持不懈地寻找新的机会并投递简历。尽管面试的机会凤毛麟角,这段旅程让我深感心酸,甚至一度对自身的能力感到迷茫。然而,我最终收获了应得的果实,深知只要坚持和努力,好运迟早会到来。