前端面试 70+ 场的经验总结
2024-3-4
| 2024-3-4
0  |  阅读时长 0 分钟
type
status
date
summary
tags
category
icon

面试情况

面试通过的公司:小红书(上海)、拼多多(上海)、携程(上海)、九坤投资(北京)、富途(深圳)、大疆(深圳)、比亚迪(深圳)
面试备胎的公司:阿里、金山、coupang、希音
还有一些面试过程中,说了期望工资就没有下文的公司了,可能是性价比不高吧,总体还是收获了些 offer,但选择的时候就纠结了。

面试过程

因一些原因想换一份工作,从 23 年的 11 月开始准备,前期主要是再回顾一些前端基础知识和算法相关知识,以及刷 Boss直聘看一些机会。
从 12 月份开始投递简历开始进入面试环节,感觉真是一个寒冬,看广深这边的前端机会,要么是小公司为主,要么是外包,尝试面了几个,都没有过,要么是成为备胎,要么是薪资方面不符合预期;
因此 1 月份也将范围扩大到上海,机会变多了,但挺多还是不合适,有些面试过程中就挂了,薪资不匹配或者经验不匹配的。
1 月份是集中面试的一个月,大概面试了 50 场左右,从小公司到大公司,从互联网行业到非互联网行业,能约上面试都尝试了一下。
2 月份面临着过年了,大概就收尾阶段,有些没有面试完的公司就继续面,也么有新投递其他公司了。
目前 3 月份了,在想应该入职哪家公司了。

面试总结

1. 前期的准备

此次面试发现考察八股文在变少,而是注重算法、项目经验、场景设计等。但我前期准备的还是八股文为主,例如前端的基础知识,网络知识,还有浏览器渲染相关,V8相关知识等。在前期的面试过程中吃亏较多,讲项目的时难点难以体现以及讲质量、性能优化时细节准备不足,导致看起来不像是是深究过这些事情;
因此前期的准备,需要先调研了一下面试形式的变化,看最新面试会考察那些内容,尤其注意看工作时长和应聘岗位的面试考察。有大致的判断后,在有针对性的准备面试,随着工作年限增加,面试的要求也会不一样的;
准备面试过程,算法是必不可少的一个环节,因为简单说一下我准备的思路:以看题/背题为主,因为时间比较紧迫,如果还是leetcode刷原题,效率太低;我每天会花一个小时左右看leetcode算法相关的数据,推荐微信读书中的《算法通关之路》和labuladong的算法总结相关的博客。通过每天看,反复记忆,如果看了两次还是记不住,就先手动对照着敲一遍代码,然后再凭记忆再敲一边代码加强记忆;我通过这种方式,对于一个中等难度的算法,基本都可以解答出来,但也有特殊情况,面试腾讯了遇到了一个困难模式的,然后就挂了。
 

2. 面试中的应对

面试是一个查缺补漏的过程,所以记录很重要,目前AI的流行,记录面试也简单多了,可以自己手机开一个腾讯视频,飞书视频会议等,里面都会有录制功能,录制结束之后就会有AI的总结。基本上可以总结出面试过程的问的一些问题,同时辅助自己的一些回忆,可以较好的发现遗漏的知识点。
同时面试过程中也需要记录一些面试官的反馈,例如你的某些回答,面试官是否可以理解,一个理想的状态是问和答是一个互动的过程。你回答之后他会继续追问一些细节,这说明就引起了对方的注意力,同时也能有机会展示自身的能力。
如果面试官不能感同身受,尤其是说项目的一些难点痛点的情况,这个是大概率是面试要不通过了,此时可以尝试了解一些面试官的曾经的经历,然后通过对比的方式再阐述一下答案。
回答问题也需要注意些技巧,尽可能是谦虚的表述。不要觉得面试官的问题很简单,然后回答就是“这个问题很简单,不就是/就是xx”,每一个问题都可能是为了引出下一个问题,由浅到深的一个过程,回答问题的通用模板是语句可以是:“我的经验是”,“我觉得可以通过xx”,“我曾经看过一个解决方案”。
回答问题过程中,也是先说大的思路,然后补充项目的细节。举一个例子,讲项目质量时,可以先说如何做的,按照事前、事中、事后三个阶段展开,事前主要聚焦在预防,预防可以从意识、流程、工具等方面展开讲讲,结合项目再讲讲流程方面做了哪些事情保障质量。然后再延申到事中、事后阶段。
回答问题如果遇到不理解的题目或者比较难以回答的问题时,可以先确认,然后再缩小问题的回答范围,例如回答你对React和Vue的看法这类问题,可以缩小为对开发效率的影响,什么时候应该选择React或Vue,找一个小的切入点,然后一点点的互相你问我答。
 

3.面试后的复盘

面试完之后,能过是最好的,不能过也只能通过发现问题,然后解决问题以避免下一次再翻车了。所以面试后总结比较重要,我个人是习惯发现不会的就立马去寻求答案,同时针对同一个问题也看看有无类似问题,一并解决了。然而这只是一个初级的总结,解决问题能力是工程师最基本的要求。
面试完之后,需要额外注意的是发现自己的优缺点,针对哪一些问题可以较好/较通顺的回答,这个就是优势,同时回答不好的点就是不足。还有一类问题了,切换角色发现潜在风险,自己的回答是否留坑,如果被继续追问,是否可以应对,这个就是知识的盲区了,运气成分在里面,但面试后也是需要去发现的。
项目/基础知识的比较好总结,但对于算法相关的就比较难了。算法有随机性在里面,随机性里面包含着必然,对于算法的总结,我的做法是看labuladong的算法总结,每一个题目其实都会对应一种思路,是不是对某一类算法题目就是不了解导致答题失败。

面试方法

  1. 真诚:面试官一般都是有经验的人,一般可以听出来你是真有经验还是在说一些大而空的话,遇到没有经历的过的问题,可以先回答自己没有遇到过,但是了解过其他人是如何实现的,然后回答一些思路;
  1. 结构化表述:不是说1,2,3条就是有条理,而是回答问题能结构化,结构化有很多种形式,面试最常用的是总分结构(金字塔结构),先说大的理论框架,再细分具体的行为;还有Star模型表述一个项目;
 
如果你也正在找前端工作,或许我可以帮助你,可以加我微信(debug-js)一块沟通。
 
 
 
技术分享
  • 前端
  • 教程
  • 思考
  • Linux 配置 Clash 客户端使用Cloudflare实现域名重定向
    目录