2022今年这个行情实属不易。以下是来自一位吉林大学(已保研)一位前端大佬,虽说今年旱的旱死,涝的涝死,但是这位大佬可谓是大厂offer收割机
。或不多说,下面是他的个人介绍:
今年的秋招已近尾声,在整个秋招的过程中呢,我一共参加了3+1+2+4+5+4+3+3+2+4+3+2=36场面试,面试的公司覆盖字节跳动、阿里巴巴、蚂蚁金服、美团、华为、小红书、同花顺、4399,最终通过了其中33场。。
第一次是字节data三面挂,知识有漏洞;第二次是字节剪映1面和面试官沟通不畅挂:第三次是4399hr面薪资要太多了挂;
......
从此后一路乱杀,开奖了满意的offer,不得不说互联网大厂的薪资依旧是具有强吸引力的。
简单介绍下背景:末流985(JLU)非科班,0实习经历。主修电子,辅修计算机,不过项目经历较多,技术栈比较宽领域,嵌入式、前端、后端都能做,倒不是刻意转码,选择前端只是因为热爱。
在这么多轮的面试中,我也算是积累了相对全面的面试经验,特此呢进行一个简单的复盘总结与分享罢。
下面我将从几个角度对秋招进行一个简单的解读剖析。
vue
以及vue
系列,后端采用的是nodejs
以及衍生的express
等框架,图形学围绕webgl
、canvas
渲染等技术展开。对于前端八股,我又将分为下面几个部分:
iso/osi,tcp/ip
]tcp
3次握手4次挥手以及理由ajax
的封装websocket
的原理以及使用keep-alive
等https
工作原理、缓存dos/ddos
、csrf/xss
以及如何解决、跨域问题等常见考题:
tcp
握手挥手过程以及为啥tcp
握手3次,挥手4次http1.0 1.1 2.0
新增的规则csrf
cookie
的字段有哪些,如何禁止document.cookie
的访问“这个考察稍微薄弱,主要围绕进程与线程的区别、锁相关机制、通信相关机制展开
常见考题:
此处的基础很重要,在后续开发中具有较为深远的影响。如首屏优化方案、渲染流程、重排/重绘、跨域通信解决方案、dom事件模型[传递和冒泡]、事件循环(区分v8与nodejs的机制)、cors...
常见考题:
defer/sync
)dom
事件类型[3种],事件冒泡的过程以及阻止方案nodejs
的事件循环,nodejs
的nextick
这个是重中之重。
Map
、WeakMap
、Set
、RegExp
、XmlHttpRequest
等对象,Object.entries
、Array.from
、Array.forEach
、Array.map
、Array.reduce
、typeof
、instanceof
等常用的方法,除此之外还需要掌握现代的编程手法并了解一些开发模式,如函数式编程[函数柯里化]、订阅发布模式、观察者模式等...
常见考题:
es5
和es6
的继承方案call
、bind
、apply
使用方法以及互相转换instanceof
的设计、浅拷贝/深度拷贝的实现Promise
、Generator
、async/await
的使用,Promise.all
、Paomise.rase
、fetch
等的封装,Promise
,这就需要了解promise
的状态[pending/resolve/reject
]、链式调用的构建,参考链接[https://juejin.cn/post/6844904063570542599]BroadcastChannel
、localStroge
添加箭头、SharedWorker
]等前端技术日新月异,前端工程化是目前最主流的开发方案。
html/css
技术是基础,需要有一定的积累[熟悉编码规则,了解常用的元素,熟悉使用各种选择器(了解其中的优先级规则),熟悉常用的布局实现方案,了解css3
的动画等机制]。
在此基础上必须掌握至少1种框架[Angular/React/Vue]。
在这么多次的面试中,我发现这些公司React
的使用频率比较高,较少产品使用Vue
(面试小红书时他们告诉我技术栈是vue
)。
由于我的技术栈是vue
,这里重点谈一下。
vue
的构建nextick
等除此之外便是了解vue底层原理,包括生命周期、虚拟dom
、diff
算法、vue2
与vue3
的区别,以及各自的优缺点。除此之外还可以多了解一些测试库,比如Mock
。
常见考题:
vue2
与vue3
区别,以及vue3
采用proxy
的好处考察的很少,但可能会有,更多集中在css媒体查询、第三方跨端库、路由动态加载、rem、像素比...上面
前端面试对算法有考察,但不算非常多,主要围绕链表操作、树遍历、图、dp、排序(尤其是快排)...。
关于手撕,其实不懂为啥网上叫手撕代码.......哈哈哈。
关于这块个人觉得可以适当积累一下(比如了解到大数运算、版本号比较、LRU缓存、订阅发布(eventBus)、Promise的各种比如all、rase等、new的实现、es5/6对象的创建、(深/浅)拷贝、节流防抖、函数柯里化。
u1s1,这些问题考察其实蛮基础滴,熟练掌握js的话,自由发挥即可欧~
常见考题:
这个不是必要的哈,可以忽略。看到网上很多人评价说前端饱和,走下坡路,觉得互联网快不行了、大寒冬。
但本人并不那么认为,饱和的仅是web2.0罢了,web3.0正在刚刚开启,这是我们这个时代的红利。
我们不要总把局限定死在前端/框架上面,一定要学会技术转型。图形学就是一个很好的突破口,了解数据可视化,设计相关的项目会有很大很大的优势。
因为图形学项目,当时蚂蚁金服2面直接十分钟口头offer并跳过三面(hr说这是P9面),hr面走个过程直接意向书。
常见考题:
除了基础八股,大厂面试官更看重个人对场景业务的解决思路。比如登陆鉴权的实现方案、如何保证安全的传输...
这些需要灵活运用手头上掌握的技术去合理设计方案。
面试大厂,经常会遇到一个问题,
我认为遇到这类问题,面试官考察的未必是八股,而是思考。
“对于第一个问题 ,常规的回答可能集中在vue2和vue3的数据劫持、然后引申到
defineProperties
、Proxy
、然后引申到优缺点分析上。 个人认为内,除了这些基本的回答,我们还需要横向进行一些选型分析,这就是我们的思考了,为什么要选择Vue2或者Vue3,他们的适用场景是什么?Vue2升级到Vue3在代码结构上、生态上带来的价值是什么?
React和Vue也是如此。这类的思考会给我们的思维模式上有一种境界上提升,也会让自己的潜力能更大化地被面试官get到。
第三点是站在个人角度,项目经历非常重要,掌握必要的技术(如git),拥有团队开发的经验。我的项目经历相对完整,涵盖的范围比较广,因此还是拥有一定的竞争力的。
对于大厂面试官,经常问的几个问题有:
需要好好准备,提前思考好并规划好来应对。
最后围绕面试流程进行展开话题吧。
大厂的面试流程首先是进行自我介绍,简单介绍自己学历背景后,要简单突出个人擅长的技术点,不宜冗长。然后选择自己最得意的项目进行讲解,讲解也分为几个步骤:
此过程中面试官经常问的问题是:为什么要设计这个产品;你遇到了什么困难?以及怎么解决的;你的优缺点是什么?;怎么进行评估性能;后续怎么进行优化?
这些问题本质上是考察面试者的思考,以及确保项目的真实性,也就是传说中的深挖,做好这些准备是完全可以拥抱变化的。
最后就到了反问环节,我一般会选择询问:产品业务是什么、技术栈是什么、面试官对我的感觉如何......这里自由发挥罢~
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有