自述
我是22年毕业的,大三升大四的暑假期间开始学习前端;在这之前一直在小公司打滚;而且至今已经换了四家公司了(算上接下来入职的公司),可谓跳槽非常频繁(其实是小公司容易倒闭)。如果说别人的经历的是如何的加分,那我得经历大概是负无穷。
在这样的背景下,我从2022年末到2023年11月底为止;基本面完了深圳大多大公司和一些小公司,面试情况如下:
- 腾讯 - offer
- 京东凹凸实验室 - 谈薪环节
- 字节跳动 - 谈薪环节
- 富途证券 - offer
- Coding - 谈薪谈崩
- 顺丰 - 笔试 + 一面(薪酬面试官直言给不到,就没继续下去)
- 还有一些中途挂了的公司(蚂蚁、阿里国际化、大疆、微众)
这个朋友面了这么多家,小编想通过大厂面试风格、学历两方面来说下面试情况和感悟,面试风格可以了解到大厂偏向问哪方面;而学历,无论你工作了几年,hr或面试官看简历第一眼想看的就是学历,这是一个很直观地给简历打分的点,好的学历不一定能让你通过面试,但却可以让你的简历通过初筛,很多人可能就因为学历这一关,导致连面试流程都进不去,可能空有一身本事却无法施展
各个大厂的面试风格
每个厂之间的面试风格都不一样,甚至每个部门之间的风格都不一样;面不同的公司进行有针对性的准备可以提高成功几率。
头条飞书、富途证券(算法扎实优先考虑)
把这两个放在一起说是因为这两家都喜欢写算法题。
富途证券这边一共三轮技术面试,基本上每轮都两道以上的编程题或者概率题,全程基本不会问项目,只有第一轮面试会过一遍前端基础问题,后续基本写题就完事了;反馈非常快,大概面试完第二天就能知道面试结果。
头条这边面得是飞书,每轮面试官除了固定的编程题外,像是有明确的问题方向;第一轮偏重前端基础,第二轮偏重项目设计,第三轮主要是针对某一方向深入挖掘和有点压力面得感觉。
另外头条比较好的地方是每轮面试记录比较详细,基本不会出现两轮面试之间问重复问题的情况;头条的反馈也是非常快的,基本上也是面完第二天就有反馈了。
这两家基本上要对自己的算法有一定信心才去尝试,因为算法题占面试的比重极大。
京东凹凸实验室(适合复杂工程化和nodejs方向)
京东也是三轮技术面试,京东是面过的唯一一家没有编程题的大厂。
三轮技术面试基本偏宏观,比较少落到具体某个点的细节;也是唯一一家问了webpack的(我简历中并未提及webpack);京东面的是凹凸实验室,场景比较核心(负责618和京东PC首页),内部平台使用nodejs;成员基本上全栈开发。
着重nodejs的工程化方案、部署运维(内存管理、监控方案);webpack内部原理和针对小程序的应用;面试官对小程序、多端方案、前端微服务这些比较感兴趣。
另外据反馈,商家平台经常挂(nodejs),所以有这方面经验的同学去面基本很稳;基础题极少。
腾讯(比较综合,但题目不算难)
腾讯面试轮次很多和流程较慢,如果像我这样下定决心要进腾讯的,要做好长期作战准备;个人面试腾讯经历了五轮技术面,一轮GM,一轮HR一共七轮;前后一个多月的时间。
腾讯因为技术面比较多,所以总体问的会比较面面俱到,编程题、前端基础、项目、设计都会有所涉及;
个人经历大概是组员负责面基础、leader会根据项目进行展开提问、总监(非前端)聊技术视野、面试委员会会比较难类似头条三面、GM聊人生;leader后面的面试基本都会问职业规范和跳槽原因;这些面试之中会穿插编程题。
总得来说,腾讯面试难度并不高,但是容错率比较低,一些问题没回答到点上就会挂;因为本身轮次也非常多,所以造成了面腾讯非常考验心态,两次面试之间的间隔非常随机,有可能隔一天,有可能隔一周;所以面试腾讯心态是最重要的。
阿里和蚂蚁
这两个都挂了,而且说实话并不知道为啥挂了;二面之前会有道编程题并不难,但不能debug,到时间会自动提交;而且不知道执行结果。
总体的面试风格比较务实,一面基础,二面会根据项目展开进行提问;
个人建议的话,面阿里还是选择杭州的岗位比较靠谱。
进大厂受学历限制
如果你的学历不够让你立刻进大厂,但可以先进一些二三线厂或者小型的独角兽啊,那这可选择的范围就很多了,在这个层次的公司老老实实待个两年,期间别忘了修炼好基本功,别荒废了
两年后你的标签就是一个学历不是太好,但工作经历还不错,并且比较沉得住气的一个候选人,一般情况下,大厂给你个面试机会肯定还是没问题的,进入面试流程后,那就是你真正凭本事的时候了
这里有三点需要注意:
1、作为跳板的公司不能太小了
最起码是二三线或者独角兽,公司太小了也不可能给你太好的项目经历,另外,面试官和hr大概率得听说过你这个公司
2、不要频繁跳槽
如果你是从腾讯跳到阿里再跳到微软谷歌,哪怕你半年一跳都没有任何问题,但如果你是从一个不知名小厂跳到另外一个不知名小厂,这种一年一跳hr都嫌你跳得太频繁了,觉得你不稳定,半年一跳就没法看了,如果你在小厂,然后将来想去大厂,那么就要稳住,别把简历搞花了
3、不要闷头搬砖
无论在哪工作,肯定都是以写业务代码居多,也就是搬砖了,但既然你打定了主意将来要去大厂,那么就绝对不能真的局限于搬砖,要把砖搬出花来
比如发现项目中有个结构不太合理,但凑合着用问题也不是太大,那么你就得想我不能凑合,我得把它整舒服了才行,然后说干就干直到真的把它搞定,比如你觉得工作流程中有些步骤是重复工作,那你可以考虑下是不是可以造个轮子解决这个问题
我经历的面试,很多情况下就是让你给出解决方案,考得就是技术的实际运用能力,几乎每一轮面试我都会碰到这种题目,这就要求你在平时工作中要有意识的积累,光搬砖你是说不出来完整的解决方案的,当然,一些常见的基础知识比如原型链、闭包、diff算法等也都是会问的,所以你不能因为平时搬砖很少用到这些就不管了,有些知识点你可能知道是怎么回事,但就是说不明白,那也是不行的,一定要真的弄明白了
总而言之,就是要有自己的思考,不能光顾着搬砖,因为搬砖谁都会,大家都一样,都是搬砖的,凭什么你能去大厂我不能去?所以你就得比他们强才行,没条件创造条件也要上
大厂面试中一些面试题
编程题
- 实现Promise
- 实现xss-filter
- 实现正则获取url params
- 合并n个有序链表
- 渲染一个超长的list,实现dom节点的复用
- random7实现random10
- 实现正则切分千分位(10000 => 10,000)
- 实现正则切分银行卡卡号(像实体卡一样四位一个空格)
- 实现jsonp
- 判断一个ipv4地址是否存在已有的1000万条ipv4地址中(bitmap)
- 实现bind,实现new
- 一次可以走一步或者两步,n个阶梯的楼梯有多少种走法
- 实现扫雷(二维数组,随机分布地雷坐标)
- 计算累进税率
- 求一个数组中比左边和右边的元素都大的元素(On)
- 实现双向绑定
- 实现InputNumber
网络和安全
- https原理(握手过程)
- http1和http2有什么区别,http2优势
- http常见返回码及其含义
- http缓存控制,协商缓存相关的几个头部的之间的优先级关系
- 什么是cors?为什么要用cors?
- xss是什么?如何防范?具体例子,jsonp如何防止xss?
- cookie有什么用?存在什么问题?如何解决?crsf如何防范?
- dns寻址过程?简述cdn原理
其他简述题
- 谈下vue和react的差异
- 谈下对react hook的理解
- 谈下对typescript的理解
- 谈下对前端微服务的理解,有什么好处,有什么坏处
- 谈下对serverless架构的理解
- 谈下react fiber的理解
- 浏览器输入url后流程,尽可能详细
- 前端适配方案
- 谈下mobx和redux的差异和选择
- 如果让你从零主导一个项目,描述下整体思路,前端后端,开发到部署
- 如果让你搭建一套前端监控方案,具体思路
- 如何定位内存泄露
列举的都是通用面试题,小编把面试过的题目整理成一个文档,内并附有答案,有需要的朋友可以戳此传送门即可获取完整版的 PDF 哦
小结
作为技术人,最重要的就是自己的技术能力,很多人在刚毕业的时候一腔热血,每天打鸡血一般通宵工作也不嫌累,但是后来被社会毒打的次数多了,很容易就疲倦了,可能有的人喊着喊着就放弃了,开始安于现状,这是很危险的事情,技术这条路不进则退,只有持续学习才能在技术这条路上越走越远
而另外一方面,客观的困难确实又是存在的,比如工作量太大没时间,前端技术发展太快学不完等,这就需要你找到一条可持续发展的道路,比如每周仔细研读一篇高质量技术文章,或者定期地进行总结,不要给自己太大的压力,但又必须要保持学习和进步
无论你选择的方法是什么,最终最重要的还是要落到实处,收藏了一大堆优秀文章的链接放在收藏夹吃灰是没用的