大概在今年的1月13号看到雷火的提前批,吓得我赶紧开始准备,然后从2月2号开始就陆陆续续面试,中间由于过年放假暂停了几天,其余时间不是在面试就是在准备面试,可谓身心俱疲。
这期间,面了网易雷火、字节、滴滴、阿里,其中字节挂在了二面,其他都拿到了offer,最终选择去阿里。
在准备和面试的过程中也发现自己好多不足,做一个总结,之后查漏补缺静下心来好好再打好基础和算法。
看了很多牛客网的面经,也写一波面经回馈一下牛客~
网易雷火平台开发工程师面经(OC)
一面
golang中defer的作用
restful原则(post get put delete)
水平垂直居中
Vue3.0和vue2.0的区别
v-if和v-show的区别
数组扁平化[1, [2, 3], [4, [5, 6]]] =========>[1,2,3,4,5,6]
算法题:判断环形图
算法题:并查集
二面
项目的问题
技术选型的问题
Vue3.0和vue2.0的区别
前后端部署的流程/好处/为什么要使用?
实现三栏布局, 两边固定100px,中间自适应
首屏渲染速度慢怎么解决?
算法题:求单链表的中间节点,如果链表的长度为偶数,返回中间两个节点的任意一个,若为奇数,则返回中间节点。
算法题:数组去重
三面HR面
项目情况
拿一个项目讲讲自己扮演的角色
项目中最难的地方,自己是怎么解决的
自己有没有写blog的习惯,自己是怎么学习前端
怎么通过学习解决了一个问题,举一个具体的例子
未来的职业规划,怎么看待实习,未来的学习规划
怎么看待加班
实习时间
反问
字节跳动前端开发面经(凉)
一面
强缓存和协商缓存
从url到浏览器显示发生了什么
tcp请求为什么是三次而不是四次
跨域有了解吗,cors介绍一下怎么实现
react里面的hooks,介绍一下,怎么实现的(原理)
v-if和v-show的区别
说输出
let x = 5; function fn(x) { return function(y) { console.log('result = ', y + (++x)); } } let f = fn(6); f(7); console.log('x=', x);
git rebase有用过吗?对git的理解,对于新建branch的应用场景
http状态码找几个熟悉的说一下
computed和watch的区别
let var const区别讲一下
script标签中defer和async
call和apply的区别,谁在底层实现谁,手写一个bind
嘴贱提到promise,我说不熟悉,面试官说那不让你手写了,找一个你熟悉的(狗头保命
react生命周期讲一下
vue的双向绑定原理是什么
为什么vue不能监听数组的变化,为什么后面改用proxy
实现一个左固定,右自适应布局
flex:1展开之后是什么
算法题:快排
算法题:二叉树的层序遍历
二面
聊项目(聊很久,这部分自己没讲清楚,和面试官讨论了很久,甚至产生了一点争论,自我感觉有点差)
讲一讲原型链
箭头函数的的this和arguments问题
讲讲js自己掌握哪些
知道BFC吗?介绍一下
知道闭包吗,说一下
垃圾回收机制介绍一下,怎么判断一个变量没有被引用(被回收)
flex有哪些常用的属性,说到flex:1,展开之后是什么?
算法题:字符串有效性校验:“sadsadas21321{}” 1.关注括号 小() 中[] 大{} 2.所有的括号都是正确的开闭和嵌 3.不能嵌套比自己大的括号
滴滴基础平台部面经(OC)
一面
自我介绍
说一下看红宝书和看blog有什么特别不一样的地方
JS中的继承说一下
JS中的变量作用域
EventLoop有了解吗?说一下,然后做了一道题
一道编程题
//说输出 var var1 = 1; function b(){ var var1 = 1; var var2 = 2; a(); } function a(){ console.log(var1); console.log(var2); } b(); console.log(var1); //1 1
垂直居中说一下
盒模型有没有了解
一道编程题,实现repeat函数,后面说不用循环,我没想出来
// 'abc'.repeat(3) //'abcabcabc' let str = '123' String.prototype.repeat = function(count){ let str = this; let result = ''; for(let i=0;i<count;i++){ result += str; } return result; }
Vue/react这种框架和jquery的区别,有什么好处?
事件流有了解吗?说一下
DOM原生的方法知道几个,说一下?
vue的实现原理是什么?
vue data中的数据改变,什么时候不会引起页面的重新渲染,什么时候会引起?
301 302 304各自代表了什么,304的协商缓存怎么定义,说一下强缓存
前端不发生请求就调用本地缓存怎么实现?强缓存一直不去读服务器,怎么改变?
说一下项目
反问
二面+三面
都是问一下实习情况,个人情况的问题,相对来说比较简单。
阿里面经(OC)
一面
自我介绍
说一下事件循环机制Event Loop
讲一下闭包
异步编程有哪几种方法,promise里的状态是可变还是不可变吗?
讲一下暂时性死区有了解吗?
flex布局说一下
http协议讲一下
反问
二面
论文(问了我好多深度学习相关的东西,论文聊了很久
问了我项目的难点和亮点
说说自己在项目中做的贡献和印象最深的一个项目
说说对vue的理解
vue的双向绑定和vue-router这种讲一下
问了堆排序和快速排序的区别
智力题?):给我一张白纸,上面随机几个点,有什么办法最快找出有几个点
场景题:给我很大容量的数据,比如1T的数据可以使用什么方法进行排序?
反问:对我的评价和建议
三面
问了一些基本情况,包括实验室的组成,实验室人数,以后从事就业的方向;
问了实验室有没有人从事前端这个行业,我说了师兄,然后他问我和他之间的优点缺点各是什么;
之后就是一道场景题:设计一个微博发布动态的功能,你会怎么做,前端后端都说一下(包括文本框输入,emoji表情管理,后端接口,数据库,页面打开时间优化)个人觉得这一块答的不好,有些细节我讲不清楚,然后一直追问,可能是想引导我,但是我答的还是不好;
然后问了XSS攻击怎么预防;
最后问了除了以上讨论,还有哪些功能是没考虑到的,我说了一些交互方面的;
反问:对我的评价。他说这个评价是很客观的,然后给了建议一个是要学点后端,不能只懂前端;一个是有时候想法更重要,不能过度依赖项目经验(因为前面我碰到不清楚的点,我都习惯性说项目中没有考虑过这部分的实现,所以不太清楚,这里我也深刻感觉到阿里很看重一个人聪不聪明,单纯依靠项目经验堆积起来的技术并不是很够)
四面(Leader面+HR面)
自我介绍
聊了聊项目(就其中一个项目说说自己主要负责什么、产出了什么、遇到什么问题、如何解决
说了说项目中的难点(说了几个,大领导不是很满意
有没有尝试过网上看到的项目的难点等等,了解过(说了文件断点续传等、SSR相关、serveless等
技术选型是如何考虑的
第三面是个后端,面完之后自己回去有没有什么反思和感悟(这个题我事先猜到了,所以有所准备
接下来就是HR了,态度挺友善的,没有网上说的压力面
问了是哪里人
拿到了哪些offer
课程问题
能实习的时间
平时自己是怎么学习的
反问:啥时候能知道结果
五面(HR面)
接到电话的时候挺懵逼的,一直在等能否拿到offer,没想到接到了下一轮面试的通知,然后联系了内推人,帮我沟通了一下说不用面了,已经通过了。
总结
陆陆续续面了三个月,期间自己的心态还是比较浮躁的,一味追求广度,没有静下心来看看感兴趣的东西;
接下去有时间把手头上刚买的两个JS的书看完(真的拖了很久了),算法数据结构方面再巩固加强;
另外,学习永无止境,感觉自己还是有许多不足的,所以赶紧学起来吧!
全部评论
(2) 回帖