腾讯
错过第一个电话(3.14 13:59)
3.14有面试官试图发起一面,然后我没接到电话,然后就GG了。
一面(3.20 19:31)
终于等到你,不过这次好像跟之前不是同一个面试官,简历可能换了个人被捞起来。
一面大概30min。首先是一些基础的js问题,然后问了事件代理以及事件代理在事件哪个阶段发生(冒泡还是捕获);问了mvvm的基本原理,对比下mvvm和flux等;问了tcp三次握手;问了我js线程各种相关问题和事件队列机制,也问到promise。其他问了项目有关的问题,问了项目的性能优化,扯React和Redux相关,还现场围观我的博客提问,问我的Redux源码分析是不是自己写的(当然是啊,虽然有学习),问我了this各种使用。
二面(3.20 20:19)
二面大约也是25分钟,就在一面结束后五分钟发起。最开始就是又扯项目里的各种性能优化(跟一面一样)。问了强缓存和协商缓存各种知识点,问的挺深入的这一块。二面的主线问题就是输入url到页面展示渲染过程,我每回答一个阶段,面试官都会提出各种谜一样的问题。比如说,https相关的问题(自己挖了个坑跳,当然事先也有准备),在渲染阶段问了如果html里面插入script标签怎么运行,重构重绘等等。这个问题大概持续了10分钟。其他问了一个线程调度(囧,没回答出来)。
三面(3.22 20:21)
三面大约也是30分钟,似乎我面试时间都不长,这次面试发生在广州的一个晚上。似乎没有问很多项目技术细节,主要问了我如何说服团队成员选用React技术栈,如何团队合作开发等等,基本都是很虚的那种问题,没有深入的技术细节问题。最后又问了一个线程和进程区别问题(hhh没回答好,我也很绝望)。
HR面(3.24 14:00)
HR面没啥好说了,就是聊聊天,谈谈心。
附赠阿里菜鸟网络一面(3.16)
一面全是问了项目。问了我性能优化,问了为什么要用React和Redux,问了我Redux的数据流是怎么样的,问了Redux的中间件和webpack的中间件等等。另外问了我怎么学习前端的。
小结
似乎我没有遇到过一个css问题,全是js和其他计算机基础问题以及项目,可能只是个例。
简历是面试关键,多写点有话可说的项目可以避免一些基础问题回答不上来(准备再充分基础问题也会疏漏)
最后安利一波个人博客mjzhang.cn