2023年3月7日更新:入职大淘宝技术快一年了,目前负责团队招聘。可推集团所有部门,岗位覆盖算法、数据、研发(JAVA工程师、前端工程师、测试工程师)、产品、运营;有意向的同学可以私信我,详细信息可以看我的另一篇招聘帖ღ( ´・ᴗ・` )比心。
双非硕,2022届,前端岗,有实验室项目,刷题较少。
从3.16到4.9,三周面了6家公司18面,一周等待offer call,目前已全部OC(阿里、微信、字节、美团、快手、有赞,5家offer,字节offer审批中)。
附面试历程图一张:
从2月底开始复习准备面试(刷题+基础+项目)。上来就面了快手,之后每一面结束都复盘、总结、扫盲、记笔记,思考面试官问的每一个问题都是以什么为出发点、想考察我哪方面的内容),思考怎样叙述才可以突出项目的亮点。不断面试不断复盘,螺旋式成长。
目录
1. 各厂面试总结,大厂面试风格总结
2. 详细面经分享
3. 如何准备面试
- 个人复习历程
- 重要知识点(必须掌握)
1. 各厂面试总结
公司 | 阿里 | 微信 | 字节 | 美团 | 快手 | 有赞 |
---|---|---|---|---|---|---|
投递方式 | 扫码内推链接 | 官网投递 | 前端训练营投递 | 官网投递 | 官网投递 | 官网投递 |
面试流程 | 两轮技术面+HR | 三轮技术面+HR | 三轮技术面 | 两轮技术面+HR | 两轮技术面+HR | 两轮技术面+HR |
面试形式 | ☎️ 电话面 | 腾讯会议视频面 | 牛客视频面 | 牛客视频面 | 牛客视频面 | ☎️ 电话面 |
是否笔试 | 前端岗无笔试 | 否 | 是 | 是 | 否 | 否 |
面试周期 | 3.20 - 4.12 | 3.24 - 4.8 | 3.24 - | 3.20 - 4.8 | 3.16 - 3.23 | 3.16 - 3.18 |
offer状态 | offer | offer | offer审批中 | offer | offer | offer |
公司 | 个人面试感受 |
---|---|
阿里 | ⦁ 感觉阿里今年扩招,比较缺人。 ⦁ 我面的部门只有两轮技术面,电话面,没有问到算法题。 ⦁ 有项目经历和实习经历的同学一定要好好准备每一个写在简历上的项目,不要只准备最好或者最近的那个。面试官会凭个人兴趣去进行提问,如果没有准备答不上来就很尴尬。 ⦁ 阿里重视对项目的理解以及在做项目的过程中有没有自己的思考,高频问题如: 1. 你做的这个东西如果要优化,你觉得哪里还可以优化 2. 从你的某个作品衍生出一个新的功能(会根据作品说明具体功能),你要怎么去实现 ⦁ 收获,每一个项目或实习都要去总结从这个项目你收获了什么(技术深度、技术广度、软实力 |
微信 | 腾讯的面试流程感觉非常规范,面试官的风格也比较相像:问项目,问基础,做两道题,结束面试 每面都有代码题或算法题。 |
字节 | 字节面试官风格迥异,整体重代码题和算法题(每面必问)。讲完项目就一直在做题,三轮都是。 字节能过是比较意外的,我本人算法能力是偏弱的,刷题也不多。二面面完一度觉得过不了了,第二天还是收到了三面的通知。 不过4.2通知三面通过offer审批中,就一直在审批流程中,可能评价不高,在排队吧~ |
美团 | 美团到店,两面技术面。第一面纯技术面,不咋问项目;二面Leader面,会更关注对业务的理解。 |
快手 | 杭州这边只有一个电商部门,面试时说实习要满六个月有转正机会~ |
有赞 | 有赞风格有点像网易,重视基础,两面都是基础知识问答 |
Tip
就我个人经验,面试过程中有一些非常重要的TIP:
-
保持自信,保持阳光的一种状态
-
随时反问,有疑问随时提出
-
做不出来求助
- 某个函数接口忘记了,直接提问可不可以查一下🔍
- 思考很久没有思路,就问是不是可以给个小提示💡~
2. 详细面经分享
阿里淘系(两轮技术面+HR,电话面)
一面
项目
- 亮点、难点、最有意义的工作
- 收获
- 优化
基础
- 204,304状态码
- 浏览器拿到HTML文件之后发生的事情
- JS异步加载
- 跨域
热情
- 了解新技术的途径
- 未来想要发展的方向
反问
- 业务
- 团队规模
二面
项目
- 亮点
- 优化
HR(所有HR面都相似)
- 意向
- 稳定性:比如会问籍贯、留杭意向
微信(三轮技术面+HR,视频面)
一面
自我介绍 项目
- 除项目本身,会考察对项目整体的一个把握,整条开发链路
- GitFlow
- 测试部署过程
基础 代码题
- 把数组排成最大的数(Leetcode链接 )
- 实现一个类(考察数组拍平):给一个嵌套数组[[1,2],[1],[3],[5]],实现next方法(取下一个值),hasNext方法(是否还有下一个值)
二面
自我介绍 项目 基础
- 前端模块化,AMD vs CMD
- 熟悉的ES6语法,随后展开
- promise
- async/await
- const、let vs var
- 你知道的网络攻击
- 从输入URL到渲染完毕
代码题
- findKth,寻找数组中第K大的值
- 给定n个人的出生年份和死亡年份,找出人数最多的一年
三面
项目 代码题
- JS中数字运算会丢失精度(0.1 + 0.2 === 0.3是false),给两个浮点数,实现不丢失精度的浮点数相乘
HR
...
字节(三轮技术面,牛客视频面)
一面
项目 基础 代码题
- React Hooks实现倒计时(挺有意思的一道题)
- 括号匹配(Leetcode)
- 读取Cookie为对象
二面
项目 代码题
-
实现左边固定宽右边自适应布局,各种布局方式(flex、grid、float、position)
-
实现PlayBoy类:(很好的题,代码如下,大家可以跑一下理解一下)
// 1. 链式调用 // 2. 实现sleep函数 class PlayBoy { constructor (name) { this.name = name; } sayHi () { console.log('大家好,我是' + this.name); return this; } sleep (time) { const start = new Date().getTime(); while (new Date().getTime() - start < time) {}; return this; } play (game) { console.log('我在玩儿' + game); return this; } } const playBoy = new PlayBoy('Bob'); playBoy.sayHi().sleep(2000).play('王者荣耀').sleep(3000).play('奇迹暖暖'); // 输出 // Bob // 等待2s // 我在玩儿王者荣耀 // 等待3s // 我在玩儿奇迹暖暖
-
给定三个数的数组,判断能否构成三角形
-
follow up: 给定一个数组,判断是否存在三条边能构成三角形
-
follow up: 给定一个数组,值可以任意相加,判断是否可以得到三条边构成三角形(当时没想出来,后来问了同学)
const canGetTriangle = (arr) => { if (!arr || arr.length < 3) { return false; } arr.sort((a, b) => a - b); let sum = arr[0] + arr[1]; for (let i = 2; i < nums.length; i++) { if (sum > arr[i]) { return true; } sum += arr[i]; } return false; }
三面
项目 基础
- 追着React问~
代码题
- React实现Treeview
- 寻找最大公约数
美团到店(两轮技术面+HR,牛客视频面)
一面
一个知识点不断深挖疯狂追问,回答中没说清楚的会问到说清楚为止,面得最艰难的一面😅
代码题
mul(2)(3)(4)() // 24
二面
项目 代码题
- 有一道的,忘了~😛
快手(两轮技术面+HR,牛客视频面)
快手面得比较早,感觉个人面试不具代表性,就不多叙述了
有赞(两轮技术面,电话面)
有赞风格有点像网易,重视基础,两面都是基础问答
3. 如何准备面试
个人复习历程
个人是从基础、算法题、项目三个方面准备面试,三者缺一不可。① 开始复习前花了两整天的时间疯狂看面经,整理高频知识点,会发现某个岗位核心的知识点就是那些,高频题一定要准备得充分,比如”浏览器从输入URL到渲染“这个问题我几乎每面都被问到;② 开始刷题加复习,根据整理的知识点开始系统的分模块的复习:JS、CSS、HTTP、框架重点问题; ③ 个人相关: 自我介绍(一定要准备),项目介绍,学习前端的历程,为什么要做前端(准备)。
① 整理牛客面经,统计高频知识点
② 刷题+基础复习
-
面试已经迫在眉睫的同学直接面向面试按模块复习就可以了 复习模块附图:
-
有意向做前端的学弟学妹,还没到自己的招聘季,建议系统的学习前端知识。我学习的历程如下:
- HTML、CSS、JavaScript、HTTP看书学习
- 红宝书:JavaScript高级程序设计第四版,前端必看书籍
- 精通CSS 高级Web标准解决方案,这本书直接打开我CSS的任督二脉,好书
- 图解HTTP:很旧的书了,但写的非常好,看了两遍。不知道有没有最新版本。
- 做项目
- 做项目一个是强化理论知识,第二个是给简历增加作品
- 我个人属于实验室有丰富的项目,所以不用去找开源项目,大部分同学可能需要去找一下开源的项目跟着做
- 也可以关注字节或者阿里的前端训练营,能参加就参加,也不失为一段好的经历~
③ 整理个人经历:自我介绍、项目亮点难点、项目收获
- 自我介绍 我是XX...,我什么时候开始接触前端,我为什么要做前端
- 如何整理一个项目 & 如何讲一个项目:
1) 项目目的是什么 要完成一件什么样的工作 涉及到什么样的工作
2) 我处于什么位置我的职责
3) 我做了什么
4) 我造成什么变化(如果有必须举例说明,所以要事先想好例子)
重要知识点(必须掌握)
> 下面写的是通过整理大量面经以及个人面试经历总结的高频知识点,后续会更新~
计算机网络
> 个人觉得网络相关知识是基础中最重要的一个part,我是看书学习的(图解HTTP,好书,强推)
- 浏览器从输入url到渲染完成整个过程(几乎每面必问)
- 五层协议、七层协议,TCP/IP
- HTTP状态码
- 1XX,2XX,3XX,4XX,5XX分别代表什么,并分别举例一个状态码
- 204,304
- 什么是客户端错误,有遇到过吗;什么是服务端错误,开发过程中遇到过吗
- HTTP各版本(尤其HTTP1.1 vs HTTP2.0)
- HTTP请求头、响应头字段
- 网络攻击
- Cookie、Session、JWT
- HTTPS如何实现加密
- 跨域
JavaScript
- 数据类型(几乎一面必问)
- 事件循环(宏任务有哪些、微任务有哪些):这篇,一定要看,讲得很好,代码举例讲解的方式
- 继承-原型链:这篇
- 异步
- ES6新特性
- 深浅拷贝
- 闭包(原理,应用:防抖、节流...)
- 垃圾回收机制
- 前端模块化
CSS
- 布局(要自己去尝试写一下)
- 左边固定宽度,右边自适应布局
- 两栏布局、三栏布局
- 垂直水平居中布局
-
选择器及优先级
-
BFC
框架React & Vue
- React vs Vue(简历上两个都写了,必问问题):参考链接,这篇写得非常好
- Vue双向绑定
- 组件间传值方式
同学们有任何疑问都欢迎提问哦,希望可以和同学们一起进步一起上岸~
全部评论
(38) 回帖