【回馈牛友】从错失京东offer到腾讯(六面+HR面)、百度(三面+HR面)、字节跳动(四面)面经总结
楼主2020届前端小渣渣,从三月底开始准备大厂面试,经历大大小小十几场面试,历经磨难终于拿到 百度offer,现在决定留一篇面经历纪念两个多月的艰苦生活。
面经篇
京东(走实习转正路子)
京东一面(2020-4-23) 电话面试:(30分钟)
- 自我介绍
- 项目相关的问题,api接口如何搭建的,异步的api怎么做?讲到同步任务和异步任务以及事件循环机制
- css层叠,z-index
- 深拷贝和浅拷贝(我讲到基础数据类型和复杂数据类型以及相应的内存),Object.defineProperty()对一个对象劫持是深拷贝还是浅拷贝。
- promise.all(), .reca() API理解吗?讲到promise的三个状态
- vuex的使用以及原理介绍了一下
- 小程序相关,讲了原生的小程序的学习,以及可以用vue的语法写小程序的mpvue
- 你在公司实习收获到什么,对你来说最值得炫耀的是什么?
- 你有什么想问我的?
京东二三面(23号、29号) 视频面试
不知道为什么纯技术面只有一面,二三面问的重点在做事和性格以及学习能力方面(部门领导和总监),所以没有记录下来,现在能想起来一个有趣的问题就是, 二面面试官问我怎样教他学会打斗地主。不知道你们有什么好的回答,反正我觉得说什么都是纸上谈兵, 所以我和面试官说打开手机我们打一把,我边打边教。
结果
后面三面结束以后当晚我在那个部门的学长就告诉我面试都通过了,后续就等流程了,说实话我很开心,恰逢五一放假就开开心心出去玩了,结果回来收到学长消息说hr那边offer审批无法通过,原因是我是2020届的,没几个月就要毕业了,现在发我offer的话在公司实习时间会太短,不够转正的。(第一次大厂通过被放鸽子有点难过, 不过后面又有腾讯也通过了技术面试也被鸽了就见怪不怪了,但是内心的煎熬无法与外人言说...)
腾讯(六面+HR面)
腾讯-深圳 一面 视频面试: (45分钟)
- 介绍项目
- css动画与js动画的区别
- 为什么js动画性能不如css动画
- 回流重绘说一下,回流重绘以什么单位进行的?更深一点了解吗?
- 事件循环
- 从事件循环角度来讲为什么js动画会性能不好
- 讲一讲vue
- vue router 原理 以及实现细节描述一下
腾讯-深圳 二面 视频面试: (40分钟)
- 在实习期间做什么事情?
- js多线程 面向对象怎么搞的?
- js 实行机制 事件循环是什么?
- web 性能的优化
- js 绘制产生的性能问题是什么? 解决方法是什么?
- 编码题: 找出连续子序列和最大的和是多少?动态规划算法思路
- http2怎么实现多路复用?(问题其实是https的ssl层的过程。)
- 反问阶段?
腾讯-深圳 三面 视频面试:(90分钟)
编码题:1. 快排、2. 大数相加、3. 拖拽、4. todo mvc 增删改查
- 在公司做过的项目
- 项目的优化有哪些
- 自己的亮点在哪?
- 前端安全CSRF攻击
- 原型链,prototype
- new过程做过的事情
- 对象如何不可以被new
class A { constructor() { throw new Error('can not call by new') } } new A()
- var let const的区别
- node如何实现多进程
- ts了解吗?
- 了解了那些新技术
- 浏览器存储
结果(HR面被超时放弃)
三面结束当晚流程里就变成HR待面试的状态,刚好三面是周五晚上,所以本来以为过完周末就会约HR面试,自己其实内心很急但是又不知道如何查看流程,所以便于周一晚上主动与三面面试官短信沟通加微信,结果收到回复部门没有headcount了,还安慰了我一波(素质没问题,但是很遗憾)。这次面试结束以后给我很大打击,我都差点崩溃了,给你希望又被踩灭的感觉实在太难受了,但是幸运的是“我的那个她”一直支持我继续面腾讯, 还说这个城市没有headcount了,咱就换个城市,所以也就有了后面阴差阳错的重庆腾讯的社招面试。
重庆csig 腾讯云 一面 视频面试:(40分钟)
- vue 生命周期
- 继承介绍一下
- 服务端的js 介绍一下,谈到node 多进程,fs、 流、 buff
- 数据库设计范式 谈到Sequelize(ORM)
- 介绍一下登录注册的流程, get 和 post 的区别 和应用场景
- 本地存储方式 ,cookie 和 Session 的区别, 用户信息 放 cookie 还是 Session 里面?
- 用户信息放在 Session 里面可能会产生什么问题,如果用户信息存放在 Session 里面,服务器宕机怎么办?
- cookie 的 安全问题
- 反问阶段
- 算法,介绍一下快排、树你知道的遍历方法
重庆csig 腾讯云 二面 视频面试:(30分钟)
- 项目介绍
- 父组件如何通过具名插槽获取子组件相应的内容
- http响应头和请求头
- cors跨域设置Access-Control-Allow-Origin HTTP响应头具体怎么做,对于什么内容
- 浏览器缓存机制,协商缓存相应的状态码
- cookie可不可以跨域?
只有根域名相同的不同源的cookie才有可能实现跨域访问,当前根域名不同不能实现跨域。 域名b.baidu.com获取域名a.baidu.com存储的cookie,涉及到跨域,给cookie设置domain属性即可。 document.cookie="name=value;path=path;domain=baidu.com" domain属性规定cookie的跨域范围,可以实现cookie被baidu.com或其子域名访问。
- 事件循环, 在promise.then 里面加 setTimeout,谁先执行。
- 如何用原型链实现class类
- 盒模型 和2列布局,如何获取盒模型的高度和宽度。
- v-for 为什么要加 key ,标识唯一性。
重庆csig 腾讯云 三面 视频面试:(40分钟)
- 项目介绍
- 为什么要学习前端,以及在大学做了哪些准备
- 给一列无序数组,求出中位数并给出算法的时间复杂度,有没有更优的解呢?
- 快排介绍一下,快排稳定吗?为什么
- 兼容性的理解,以及相应的解决方案
- 反问
结果(已拒)
重庆csig 腾讯云 HR面 视频面试
HR面试实在不记得面试内容了, 反正就是和面试官聊天balabalabala...的。也是直到这一面我才知道我好像投的社招, 流程也是社招的流程, HR说要回去问招聘经理还有没有校招headcount,周末之前给我回复,后面也一直没收到回复,直到我催才让我加招聘经理微信,恰巧这个时候招聘经理在休假,但是也和我说了有headcount,后面等她休假回来再走发offer流程。(此时我已经接了百度接收函)
百度(三面+HR面)
百度app 搜索业务部门 一面 视频面试:(97分钟)
- 自我介绍
- 圣杯布局,如何让三列布局中固定的那两列与中间的那列等高
- 响应式布局 移动端的自适应 rem 是相对什么进行计算的, html 根字体大小是固定的还是动态的
- css的预编译 less 你用了哪些?
- cookie 和 localStorage 和 sessionStorage 的区别,sessionStorage的应用场景
- 手写一下节流函数
- call aplay bind 之间的区别
- 原型链以及继承讲一讲, 实现一下继承, 从call到原型链到组合继承到寄生组合继承。
- 事件循环讲一下
- 实现一个深拷贝, 要求可以测试所有的基本数据类型和引用数据类型(区分数组与对象)。
- tcp网络四层模型, 我不会讲了七层osi模型
- 输入url 之后发生的事情, 顺便讲了dns解析
- http和htts, 一个url由什么组成。
- 讲一下啊你项目中用来哪些跨域解决方案。
- vue的生命周期, 以及生命周期可以做什么事情。
- 讲一下diff算法, 讲到从普通diff算法O(n^3)到vue/react diff算法的O(n) 的转变。
- vue-router 的底层原理 , 实现一个v-model。
- 讲一下vuex ,可以直接调用mutations中的方法吗?
- 讲一下你知道的webpack
- git merge 和git rebase
- 你了解ts吗, 有没有用过其他语言,除了js或者node以外的
- 反问
百度app 搜索业务部门 二面 视频面试:( 90分钟)
- 讲一下js的数据类型
- 自我介绍,实现网易云音乐那样轮播图的思路
- 如何判断数组和对象
- 跨域
- 前端模块化,说node的comomjs和es6 的模块化, 然后问知道AMD和CMD规范,说具体点
- 百度一下搜索的原理, 讲一下思路和如何实现
- 与服务端交互,登录注册的流程,从前端角度如何理解
- http 和https ssl 层是怎么做的
- 在登陆注册时候安全性怎么考虑,相应的解决方式
- 数组有哪些遍历方法,foreach和vue的兼容性
- indexof的实现, null == undefined结果是什么
- 移动端响应式布局了解吗, flex 布局兼容性
- 给一个百度app,搜索框下的tab,是如何实现的,使用css实现
- git fetch和git merge , merge log 了解吗
- shell脚本, 没听懂, 其实知道一些,但是面试可能太紧张,没听懂这个单词,没get到意思
- 反问
结果(已拿offer)
百度app 搜索业务部门 三面+HR面试 电话面试
三面和HR面试好像差不多,现在也记不得面试内容是什么了,后面又来了HR面试谈薪资待遇的,总之技术内容不多,在这里也就不赘述了,由于百度给的反馈还是比较快的,所以先接到百度的接收函(HR说相当于offer,校招同学要寄出三方协议以后才能发出正式offer)。本来字节反馈也是比较快的,但是字节面试结果晚于百度出来,而我在经历了之前连续的打击之后,内心其实是非常害怕又是竹篮打水,所以就决定去百度了。(在爱奇艺的实习也离职了,决定出去放松一下。)
字节跳动(四面)
字节跳动一面 视频面试:(60分钟)
- 自我介绍
- 工作项目介绍
- 深拷贝, 谈到基本数据类型和复杂数据类型,手写深拷贝
- 手写发布订阅者模式, 实现发布, 订阅, 删除等功能
- vue2.0和vue3.0的区别
- vue和react的区别
- flex布局介绍一下
- 手写输出二叉树的右子树节点
- 反问
字节跳动二面 视频面试:(60分钟)
- axios是基于哪个api封装的,手写ajax(method, url, data), xhr.open第三个参数了解吗?
- jsonp功能介绍, 为什么需要它?option请求知道吗?用在什么时候
- vue object.defineproperty API介绍
- v-show 和 v-if 的区别
- computed和watch的区别 和运用的场景
- 高频发送请求如何解决, 防抖节流, 手写防抖
- v-router 的实现介绍
- 用过哪些webpack plugins, 介绍相应的plugins是干嘛的
- 平时怎么学习的,,看过哪些书, 看书频率。。。
- instanceof 作用介绍 实现一下,手写
- 知道Promise.all API吗, 手写一下
- mock知道吗?怎么用?
- 反问
结果
字节跳动三四面 视频面试
编码题:
- 手写JSONP
- 二叉树的遍历,找到是否存在一条根节点到叶子节点的路径,节点和为sum
三四面的内容记不太清楚了,只记得其中的两道编码题, 姑且看看吧。本来前面面试官和HR说只有三面(其他面试也都到了offer流程中了),但是三面面试通过以后又给加了几天后的四面,而此时已经和很好的朋友约定好毕业旅行了,所以便(内心)放弃了字节的面试(内心放弃了,但是前面已经接受了四面邀请,还是会进行面试的。)四面是在宾馆里进行面试的,前面聊的挺好的,但是可能是决定去百度了,所以编码题部分主动放弃了,直接和面试官说了在外面玩无心面试。后面过了几天收到感谢信,总体来说字节面试反馈是最快的,面试官也给了很多好的面试建议~ 还是值得去的~
总结
我一直相信马云爸爸的一句话“人一定要有梦想,万一实现了呢”,这句话激励我从高中到现在,以后也会一直激励我前进,双非本科的学历并不是你进不了大厂的理由,只要朝自己的梦想一步一脚印的前进,总有实现的那一天的。
打个广告,欢迎收藏此文章,后面将更新我整理的面试高频知识点文章,相信会对正在找工作的同学有帮助。