写在前面
整个流程一共三轮技术面+一轮HR沟通,下来让我感触比较深的还是一面面试官,在问完我每个问题后,都会给我讲解一遍问题的整个过程,并且在面试最后给了我一个非常全面的总结和建议,我真的非常非常感谢这个哥,希望以后能一块共事哈哈
另外可能是面试官风格的问题,整个面试流程没有被问到算法的问题,也可能是运气比较好吧。
一面 视频面试(90 mins)
1.自我介绍
2.实现一个css布局:类似后台管理系统页面,整个界面一共左右两个模块,左边固定200px,右侧自适应大小。
3.布局显示问题:给出以下布局代码,最后界面实现是什么样子的
p { background: red; color: #000; position: absolute; } 11111 2222 3333
***循环题
console.log('script start'); setTimeout(function(){ console.log('setTimeout'); },0); Promise.resolve().then(function(){ console.log('promise1'); }).then(function(){ console.log('promise2'); }); console.log('script end');
5.Promise考题
Promise.resolve(1) .then((x)=> x + 1) .then((x)=> { throw new Error('My Error') }) .catch(()=>1) .then((x)=>x + 1) .then((x)=>console.log(x)) .catch(console.error)
6.闭包,this指向问题
var x = 10; function fn(){ console.log(x); } function show(f){ var x = 20; (function(){ f(); })() } show(fn);
7.原型链、继承相关问题
Function.prototype.a = () => alert(1); Object.prototype.b = () => alert(2); function A() {}; var a = new A(); a.a(); a.b();
一面题目不多,但是其实每道题都涉及到了很多知识点,在回答问题的过程中也不仅仅只是把答案说出这么简单,面试官更在乎思考的过程,所以在答题时,跟面试官会有很多的互动交流,也能让他明白我是如何想、如何解答的。
二面 电话面(45 mins)
二面面试官也很好,首先聊到了现在在微信做的项目,我大概讲了我负责的事情(项目性能优化),然后面试官
就开始问这方面的问题。
1.自我介绍
2.了解到的性能优化有哪些?(先说了因为js是单线程执行的,所以对性能优化这块需要特别注意)
3.于是开始问 进程和线程有什么区别?
4.js事件循环过程,以及和node事件循环有什么区别?
5.继续聊性能优化,谈到网络缓存
6.缓存有哪几种?分别是什么形式?请求头和响应头有什么不同?缓存整个流程分别是什么样的?
7.浏览器从输入url到页面渲染完成都做了什么操作?
8.继续聊性能优化,说到前端的页面部分
9.防抖和节流分别是怎么实现的?他们分别被应用在什么方面?
10.还有知道的哪些优化方式吗?(webpack打包、SSR服务端渲染,但是这块我会的不是很多,没有追问)
还有部分内容不太记得了,总体来说面试官稍微高冷一些,但也是重点考察你的沟通表达能力,是否能把一件事表达清晰就ok
三面 电话面(45mins)
三面是经理面,虽说是技术面,但基本上就是聊聊自己的学习规划,自己现在的技能树有哪些?
顺便聊了下百度网盘的产品,讲讲目前产品有什么需要改进的地方吗?如果是你进来的话,你会想做些什么打算?
以及就是对这个团队的看法啦,对于我个人来说,百度网盘应该还是一个很不错的团队,非常期待后续的工作
全部评论
(6) 回帖