1、前言
本文的面试问题只写了些开放性的问题,其公司要求保密的试题就不写出来了。
- 字节跳 X
一面,45分钟
根据自己简历和做过的项目,问一系列相关问题。 闭包的输出值,考查闭包(看试题给结果,分析过程)。 状态码 304 是什么意思,有什么用 ? 浏览器缓存的方法有哪些,它们的优先级是怎样的 ? 都说要减少 https 的请求,https 为什么慢 ? http2 与 http1 有什么区别 ? click DOM 节点的 inner 与 outer 的执行机制,考查事件冒泡与事件捕获 (看试题给结果,分析过程)。 for 循环中的 var 、let 与 const 区别,比如 for( const i = 0; i< 3; i++ ){ console.log(i); } 会输出什么结果 ?(看试题给结果,分析过程)。 有没有系统学习过 es6 或者看过 es6 的书 ? js 单线程、宏任务与微任务的执行顺序 (看试题给结果,分析过程)。 考查箭头函数的 this 与 普通函数的区别,this 的指向 (看试题给结果,分析过程)。 vue 中 computed 与 watch 的内在是如何实现的 ? 接下来前端要深入的方向 ? 写一个方法输出 ABCDEFG 的值(看试题、现场写程序)。 从排好序的两个链表中,找到相同的节点,并输出链表(看试题、现场写程序)。 最后面试官问了句,你没刷过什么面试题吗 :sleepy:。 总结
最后没过面试,总结一下原因。
因为这次面试是字节的猎头找的我,帮我内推的,但我还没准备好就去了,没多大信心; 很久没面试了,第一次面试还是比较紧张,很多技术问题的回答也不是很好,现在回想下,当时连情商都不在线 :sleepy:。
- CVT X
一面是电话面试,半小时
问了简历中的项目的一系列问题(此处省略)。 vue 中 next-tick 的作用与大概实现原理 ? vue 组件的双向绑定通信是如何实现的 ? vue 按需加载的方式有几种,是哪几种 ? 浏览器缓存的类别与优先级 ? react 中数据请求为什么要在 某个生命周期里面执行,在哪个生命周期 ? react 高级组件的作用 ?本质是什么来的 ? 总结
CVT X 的面试是找熟人内推的。 回答的都挺好,过了一面。 二面是视频 HR 面试,20 分钟
问了一系列个人以及在现在公司的问题。 总结
后面就没有下文了,所以没有第三轮现场技术面,我猜原因如下:
谈期望薪资时,我说了该公司的招聘信息上的最低薪资,应该还是太高了,因为那是 3年+ 经验 的薪资范围。 再加上我是以前面的字节跳 X 的薪资范围做为了参考标准 :joy:,字节跳 X 的薪资范围的是很高的,我有点漂了 :cold_sweat:。
- X 教育
一面,现场面试,大概 1 小时
var 和 let 的作用域,匿名表达式的运用(看试题给结果,分析过程)。 --proto-- 指向 (看试题给结果,分析过程) 闭包,及修正方法 (看试题给结果,分析过程) 一个从小到大排好的数字型数组,找到数值为 target 值,并返回 index 值(现场写程序) function findIndex(arr, target){ ... }
给两个 input 框,实现双向绑定功能的思路或者代码(现场写程序)。 【JavaScript学习笔记】自己实现双向绑定 nextTick 的使用场景 ? vue 路由中,有 post/:id 的路由,当路由切换 post/1 => post/2 时,组件会更新吗,如何修改能更新 ? vue更新路由router-view复用组件内容不刷新 vue-router 的导航钩子有哪些 ?组件里面的导航钩子又有哪些 ? header 头部固定,剩下 body 占满全部高,超出就上下滚动,如何实现 ? 平时的开发流程 ? 二面,大概一个钟
tcp 和 udp 的区别,各自的优势是什么 ? web-socket 用过吗 ? 对计算机的基础知识熟悉吗,比如网络层什么的 ? 给 10 亿的数据的 url 去重,思路(现场写部分代码) 三面,HR 面
问了一系列个人以及在现在公司的问题。 总结
技术面试的过程表现的都不错,最终拿到了 offer ,开出的薪资涨了不少。 虽然总收入涨了,但是就时薪来说,还是亏了的。 跳槽的成本是很高的,总薪资或者时薪没有涨 30% ,都是亏的。 因为现在的公司上班时间是 965 或者说是 955,平时有比较多的时间写博客,做些有意思的开源项目什么的,入职这家公司估计就不能了。 所以没去这家公司。
- 酷 X
一面
线上笔试,20 分钟
线上笔试的内容应该是有试题库的,笔试前签了不能泄露试题的协议之类,就不写出来了。 for(var i = 0,j=0; i<10,j<6; i++,j++){ console.log(i+j)} typeof 与 instanceof 的区别与使用 html 中基本的三大结构元素是什么 行内元素与块级元素的区分与使用 闭包的理解与使用 var 作用域的理解 “+” 的类型转换 现场逻辑题面试,30 分钟
行测逻辑题面试,试题声明了不能泄露试题之类,就不写出来了。 现场技术面试,大概 10 分钟,就问 10 个问题左右
模块化开发方式有哪些,你用过哪些 ? 闭包的理解和其应用场景有哪些 ? 对JS闭包的理解及常见应用场景 对 mvc、mvp、mvvm 的理解 ? vue 双向绑定的理解 ? 对设计模式的理解,有用过哪些 ? http 的理解,tcp 包有什么内容 ? https 为什么比 http 安全 ? https 请求,你通常要注意的是什么 ? post 和 get 请求的区别 ? 前端要考虑什么安全问题,比如:你知道 ssr 跨站脚本攻击吗 ? 一般工作中你是如何排查前端性能问题的 ? 总结
结果是没过,技术面试问的太宽了,以上写出来的问题还是我细化之后的了。 我感觉我的技术范围和面试公司的不是很一致。
- 总结
情况
投了十来份简历,都是离我住的地方不是很远的公司,都是广州的大厂,收到的面试邀请才 4 个而已,有些投了简历都没人看。 笔者 GitHub 上的开源项目总收获的 Star 数超过了 1.6K 好像也没多大作用,面试过程都没怎么问。 广州的互联网大厂其实挺少的,目前大厂没有什么坑位,有的估计也是候补的,要求更加严格,而且社招的几乎都是 3 年及以上的高级前端工程师,不到 3 年经验的没多少机会。 2 年多的社招,面试的内容绝大部分还是基础知识,实际工作的内容问得少。 笔者在广州的时薪应该算是中偏上的水平。 经过最近的面试,笔者感觉如下:
经过 2018 年的寒冬,现在 2019 年下半年了,寒冬依然严峻。 想通过社招进大厂的程序员,最好有 3 年及以上经验了再去面试大厂。 回答开放性问题时,要把面试官往自己熟悉的方向引。 很久没面试了,要准备好再去面试,不然信心不足,成功率不高。 面试成功往往是后面面试的公司,先去面试几个不是最想去的公司,再去面试最想去的公司。 不要裸辞,特别是才工作一两年的程序员,不然压力非常大,最后可能找到的也是不是非常理想的公司。 如果非要跳槽,那建议: 骑驴找马 。
- 最后推荐阅读:www.jianshu.com/u/7e7ee1652…