高级前端面试总结

金三银四魔都两年半前端面经

前言

先介绍下我的基本状况,16届本科非计算机相关专业,毕业转行前端,过年后裸辞休息了半个月,而后到三月份开始全力准备面试,主要是过去作过的项目总结,刷算法题,巩固基础知识之类的。3月末开始面试。由于目前网上面经仍是以1~3年居多,我投简历对标的3~5年岗位,考察点确实有些不同,这里把接近3个星期的面试经历分享出来,但愿能帮到你们。css

过程

公司选择

由于我以为面试更多的算是一个技术交流过程,因此本着和一些大佬多聊聊也没坏处的想法,基本上JD写的比较有诚意招人的公司或者眼熟的公司都会投一投简历,不过真正的目标很少,比较偏好于非996的符合我的价值观的公司。前端

达达京东到家(过)

笔试

都是些基础选择题,考察计算机网络,事件循环机制,闭包,this这些。vue

一面

  1. 三次握手和四次挥手详细介绍
  2. TCP有哪些手段保证可靠交付
  3. URL从输入到页面渲染全流程
  4. 如何预防中间人攻击
  5. DNS解析会出错吗,为何
  6. ES6的Set内部实现
  7. 如何应对流量劫持
  8. 算法:top-K问题,分红top-1,top-2,top-K三小问

二面

  1. 跨域
  2. webpack的plugins和loaders的实现原理
  3. vue和react谈谈区别和选型考虑
  4. webpack如何优化编译速度
  5. 事件循环机制,node和浏览器的事件循环机制区别

三面

  1. 单元测试编写有哪些原则
  2. 一个大型项目如何分配前端开发的工做
  3. 怼项目

我的评价

面试总体上偏重基础知识,1,2面基本没问项目,加班状况听hr说属于正常程度,有双休,环境也挺不错的,感受是家不错的公司。node

达观数据(过)

笔试

一样都是基础题,注意有两道算法:柯里化通用实现和two-sum问题。react

一面

  1. typescript有什么好处
  2. vue项目中如何约束rxjs数据的类型
  3. rxjs高阶数据流定义,经常使用高阶数据流操做符

二三面

一块儿说了吧,基本没问基础题,全围绕着个人简历问项目细节,侧重于rxjs和typescript这块内容。webpack

我的评价

作NLP的公司,聊下来感受公司很重技术,技术栈Angular + Python,也有严格的code review,不加班,提倡工做和生活分开。听下来是否是感受挺不错的?不过有一点比较坑的我要说下,hr给的薪资是我报的指望薪资的最下限,也是我拿到的全部offer中最低的,涨幅10%,更绝的是试用期还要减1k工资,社保公积金按10k交,这就很微妙了emmm。nginx

英语流利说(挂)

一面电面

  1. JWT优缺点
  2. 选择器优先级
  3. 基本数据类型
  4. RxJS冷热流区别
  5. RxJS调试方法
  6. nginx负载均衡配置
  7. 前端性能优化手段
  8. 针对React的性能优化手段
  9. 301 302 307 308 401 403
  10. vue的nextTick实现原理以及应用场景
  11. vue组件间通讯
  12. 谈谈XSS防护,以及Content-Security-Policy细节

二面

  1. 场景题:一个气球从右上角移动到中间,而后抖动,如何实现
  2. 场景题:一个关于外边距合并的高度计算
  3. mobx-react如何驱动react组件重渲染
  4. forceUpdate经历了哪些生命周期,子组件呢?
  5. React key场景题:列表使用index作key,删除其中一个后,如何表现?
  6. 算法:实现setter(obj, 'a.b.c' ,val)
  7. RxJS相对于其余状态管理方案的优点?

三面

  1. 手写冒泡排序
  2. JWT细节,适用场景
  3. 跨域
  4. 方案题:不一样前端技术栈的项目,如何实现一套通用组件方案?

我的评价

感受是家有点东西的公司,考察的题目相对偏硬核和细节,也是惟一一家把我挂了的公司,虽然不知道挂在哪了。和hr聊的不算很愉快,我提到我的抗拒996,而后问贵司工做时间的时候, hr的回复是“咱们的员工都是很自觉推进工做那种,何况你还年轻,趁这个时候多拼一下“,我只能表面笑嘻嘻了。加班应该算比较严重的,不过团队成员仍是有水平的。程序员

拍拍贷(过)

一面

  1. ES6特性
  2. 闭包和this一块儿谈谈
  3. postcss配置
  4. Promise内部实现原理
  5. vuex, mobx, redux各自的特色和区别
  6. react生命周期
  7. 各方面谈谈性能优化
  8. serviceworker如何保证离线缓存资源更新
  9. virtual dom有哪些好处

而后换了个有黑板的面试间,狂怼项目,各方面都问到了。web

二面

总监面,把刚才一黑板的项目架构图所有擦掉,再来谈一遍。面试

三面

交叉技术面

  1. Vue3 proxy解决了哪些问题?
  2. Vue响应式原理
  3. 发布订阅模式和观察者模式的异同
  4. 图片懒加载实现
  5. css垂直居中
  6. CI/CD流程
  7. 谈谈性能优化

我的评价

主要作混合app和node方向的工做,成长空间应该能够,公司环境也不错,薪资也算有诚意,不过由于是核心组,加班确定很多。另外由于p2p行业缘由,对这方面有顾虑的也要好好考虑下。最后再要说一点的就是,地理位置太偏僻了。。下地铁后还要坐4站左右的公交吧。

天壤智能(过)

一面

  1. react生命周期
  2. key的做用
  3. hooks
  4. vue和react区别,选型考虑
  5. canvas优化绘制性能
  6. webpack性能优化手段
  7. 事件循环
  8. 如何解决同步调用代码耗时过高的问题
  9. 手写Promise实现

二面

  1. 场景题:如何实现登陆功能
  2. 聊项目

三面

聊项目

我的评价

一家作人工智能的创业公司,好像已经有落地场景并实现盈利了。我的感受真的挺不错的,工做时间975,hr和面试官都颇有诚意,薪资也不错,若是不是很看重平台的前端均可以考虑一下,大概会接触到一些可视化相关的工做,惟一不足的就是前端团队目前比较小。

拼多多(过)

一面

  1. Promise实现原理
  2. vue组件间通讯
  3. 性能优化
  4. vuex数据流动过程
  5. 谈谈css预处理器机制
  6. 算法:Promise串行

二面

  1. CI/CD总体流程
  2. 性能优化
  3. SSR对性能优化的提高在哪里
  4. 怼项目

我的评价

这个应该都比较熟悉了,纯正996。996icu仍是从我作起,我就面着玩玩,不过有一说一,薪资开得确实大方,我随口说了个数都没有犹豫就答应了,也算是提供给了实在缺钱或者重视钱的程序员用命换钱的一种选择吧。

猫眼电影(过)

一面

  1. vue组件间通讯
  2. react和vue更新机制的区别
  3. Vue3 proxy的优劣
  4. 性能优化
  5. symbol应用
  6. 深拷贝
  7. 怼项目

二面

  1. dns解析流程
  2. 怼项目

我的评价

中规中矩的公司,加班属于正常互联网范围,上海这一块由于负责演唱会票务的相对来讲紧急加班会多一些,薪资正常。

米哈游(过)

一面

  1. 跨域
  2. 性能优化
  3. vue和react选型和比较
  4. ssr优缺点
  5. 贝塞尔曲线
  6. 怼项目

我的评价

只有一面。多是我以前的工做内容恰好对上了这个项目组须要吧。我我的很喜欢的一家公司,创始人的理念和风格蛮对我胃口的,而后工做环境也不错,二刺螈这种,加班很少,在里面的员工工做幸福度好像都挺高的,惟一的遗憾就是薪资开得过低了,指望薪资的底线。为爱发电不容易,虽然钱不是主要问题,主要仍是感受没被重视。

bilibili(过)

一面

  1. Vue3 proxy优缺点
  2. ES6特性
  3. Vue组件间通讯
  4. 性能优化
  5. ssr性能优化,node中间层细节处理
  6. 问项目

二面

这一面比较特别,和以前的面试都不太同样,是知乎早已关注好久的之昊老师面的。

以前的面试大概是属于主导权在我这边,面试官倾听的比较多,搭配上少许提问。而这一面基本全程处于被之昊老师教育加吊打的状态,感受之昊老师说的话比我还多了,针对问出的每一个点会在我回答的基础上作更多的延伸说明,没有局限到具体的技术方案或者细节代码,更多的是谈到了一些方法论或者说做为一个优秀的开发者面对一些问题时比编码更高的思惟层面上的处理方式。收获很大,聊到了不少以前工做中都没有考虑过的东西。这就是大佬的世界吗.jpg。

我的评价

各方面都很喜欢了。要说我转行前端的契机其实和b站有关,大学时候算是个mader,作着好玩,能够简单理解为动画剪辑视频吧,里面大概会接触到一些motion graphics的知识,前端的动效就能够看作最简单的motion graphics,同时AE里面也会涉及到表达式知识,这玩意的语法也就是基于JS的。经过这个爱好,就了解到了前端这个工做方向天然而然就转过来了,因此能够说b站影响了个人职业方向,对b站仍是有特殊的情怀在的。虽然最近随着发展壮大,由ACG社区变为一个各类内容都有的社区,风评也是有各方面的声音吧,不过不进来看看我确定是不会死心的。。而后除了情怀以外,工做内容,工做时间,环境,待遇都满符合我指望的,主站这套架构也有dalao在知乎写过度享文章,基于vue作的ssr,绝对属于赶潮流各类东西都能折腾的水平,跟着之昊老师作事待遇少点我也愿意啊,关键是待遇也绝对不算少,因此我就接这个offer了。再见各位,我去二刺螈了.jpg。

阅文(面试中)

一面

  1. 如何编写loaders和plugins
  2. 性能优化
  3. webpack 热更新原理
  4. vue和react组件通讯
  5. 谈谈eleme框架源码
  6. 谈谈项目
  7. 我的兴趣爱好

我的评价

阅文也是我一直很喜欢的公司,张鑫旭dalao在里面,早期学css的时候看了不少他的文章学到了不少,而后不加班,招聘时特别看重兴趣爱好这一点,感受就仍是蛮重视员工生活的,不只仅是一个编码机器。面试比较奇怪,一二面不连续,二面要约到下个星期,据一面面试官说筛选比较严格。。。

Thoughtworks(面试中)

一面先写一套笔试题,涉及到一个开发需求。给3天时间,比较简单,公司要求就不透题了。主要涉及到单元测试和响应式布局,modal,popover组件的知识。而后笔试经过后会约现场,大概流程就是在笔试题上再增长一些新需求,现场和面试官结对编程。这一面反馈比较迟,我笔试完成后大概一周左右才收到现场约面,又约到了比较迟的一个时间,如今还没面。

我的评价

不加班是出名了的,而后待遇可能也比较低也是出名了的,看我的选择吧,我感受实际上是挺好的一家公司,里面有一套比较严格的开发流程,而后面试也相对难些,确定能学到很多东西,对于注重wlb的同窗也是很好的选择。

小结

而后还约了头条和蚂蚁的面试,不过优先级都在我这不算很高了,由于我是996icu的坚决支持者,最近又出了福报巴巴这个事,面蚂蚁的兴致更低了,固然头条和蚂蚁技术上确定都是很强的公司,有不少厉害的人在里面,能进去的话确定对我的技术发展也有很大好处,不过于我来讲价值观仍是不太符合,就算侥幸进去了工做也不会开心。由于已经拿到喜欢的offer了,再加上很早就计划好了的下周去日本玩一圈(两年一次的Persona Super Live,我是p系列脑残粉),还要准备赴日各类事务,因此对于这些这没面完的公司,若是有空的话面一下再补上来,没空的话就算了。

总结

整体面下来一个比较强烈的感受就是,对于3年左右的前端,相对于基础而言,更看重的是项目经验。算法和基础真没问到多少,反而我写到简历里的主要项目基本上属于必问,并且大量知识点也会围绕着项目展开。好比我以前的工做中处理了比较多的性能优化问题,每一家公司都会问到性能优化相关的知识。而后若是你的项目正好符合公司这个面试官需求,就会加不少分。好比米哈游和拼多多的面试官明确说了你以前作的这个项目很符合咱们的需求大量加分。固然也有一些风格偏重视基础知识和算法的公司,好比英语流利说,头条这种,因此这些知识也一样不能落下。

而后有一个点仍是要提一下,就算有了3年工做经验,学历仍然是一个比较重要的点,至少简历关确定是有用的,我中流985本非对口专业,投的比较佛系,没有主动找任何内推,就boss直聘和拉勾,v2ex上投,也只被再惠和饿了么刷了简历,因此在读书的同窗尽量的选择一个好学校也是很重要的,不要相信说什么程序员不须要学历的说法,非985最好读个985的研提高学历,985本就看我的选择了,固然过了简历关就各凭本事。

最后就是公司对前端的需求和待遇问题了,感受寒冬并无想象中那么严重,各个公司其实都缺前端的,有很多公司的hr或猎头和我说招了近一到两个月的前端都没招到,因此我以为好好学习的话,找到一份合适的工做确定不难。待遇方面属于正常,各个公司都有本身的评级,除了一些996大厂给的比较夸张,或者说wlb的公司涨幅略低些,大部分公司都能给到30%的涨幅。

以上就是这个金3银4我对魔都前端情况的一个观察了,但愿各位都能找到合适的工做啦~

 

做者:unsad
连接:https://juejin.im/post/5cb87f9df265da03555c78ec来源:掘金

相关文章
相关标签/搜索