2018年, 个人前端面试复盘

这篇文章简单总结下2018年内个人一些前端面试经历, 在这简单分享一下,但愿对你们有所启发。html


楼主在深圳,毕业两年。面的主要是深圳的几家公司。前端

包括: 腾讯蚂蚁金服LazadaShopee, 有赞 等 。python

楼主在准备面试前, 想着复习一下, 可是前端的范围实在太大, 后来决定找两个肉鸡公司试一下水, 面试以后, 大概内心有个底。react

最后楼主也拿到了 阿里, Shopee 等几个不错的 offer.面试

下面就根据上面几家大厂的面试状况,和本身搜集到的一些信息,总结分享给你们。算法


自我介绍

简单介绍一下就好,适可而止。 面试官就是想看看简历先,让你先说一下子。segmentfault


技术一面

一面主要考察基础, 有些会有技术笔试, 好比腾讯Shopee跨域

Shopee 有现场的编码题, 难度不大, 要注意细节。promise

腾讯的技术笔试很是基础,两张纸,通常二十分钟就作完了,主要考察一些js基础,包括但不限于:浏览器

  • CSS

    • 盒子模型
    • BFC,Flex
  • 变量类型

    • JS 的数据类型分类和判断
    • 值类型和引用类型
  • 原型与原型链

    • 原型和原型链定义
    • 继承
  • 做用域和闭包

    • 执行上下文
    • this
    • 闭包
  • 性能问题

    • 好比为何要用事件委托,原理是上面
    • 为何Dom 操做就慢了, 解释一下
  • 看程序写输出
  • 框架相关

    • 简历上没写就不问, 写了你要答出个因此然, 原理什么的要清楚, 仅仅会用API是不行的。

都是一些很基础的考察, 可是若是写错太多, 也很容易就凉了。

通常是根据你作题的状况, 和你说的一些,针对性的提问, 懂套路的同窗能够在这一步上,准备一些关键词, 并作好准备工做。

几乎没遇到问框架的, 可是基础的原理是要懂的。

一些发散性问题

  • 事件循环, Promise, setTimeout/setInterval, React setState 是如何实现的, 原理等。
  • Vue defineReactive 方法是如何实现全局状态更新的, 依赖是如何收集的。
  • 语言的词法分析和语法分析 和 浏览器的html parse 有什么区别, 浏览器具体是如何解析的, 为何标签不闭合浏览器也能正常处理, 能怎么实现,
  • C++ 里没有settimeout, 既然没有, 要实现的话,用线程如何实现。
  • Html5 新特性
  • requestAnimationFrame 是作什么的, 若是写个 Node.js 的C++ 扩展, 怎么去优化requestAnimationFrame ?
  • Dns 具体是如何解析的?
  • 1 有没有 toString, Number(1) 有没有, '1' 有没有, 为何
  • react diff
  • 虚拟DOM
  • react 新旧生命周期
  • 为啥有新生命周期 , 这两个能够参考个人另外一篇文章中,关于 Fiber 和生命周期的介绍
  • 事件传播
  • Event loop
  • Obj getter setter

技术二面

一面完了以后, 会有相应的评价, 二面面试官会针对性的考察。

腾讯的面试官就很喜欢问 HTTP(1.x, 2.0, HTTPS), 安全浏览器缓存 方面的问题, 计算机基础,可是要懂为何

好比:

  • HTTP 有什么缺点
  • HTTP2 有什么好处
  • HTTPS 有什么好处, 有什么缺点,为何。
  • TCP, UDP 的区别
  • 为何说HTTPS 是安全的, 解释一下加密过程(就非对称加密, 密钥交换那一套)。
  • 三次握手的过程,为何握手三次, 为何挥手四次
  • 安全相关(XSS & CSRF) (高频)
  • 浏览器缓存策略(高频
  • 缓存头相关
  • 浏览器 Cookie 相关。
  • 常见的跨域问题及解决方案
  • 常见的安全问题(csrf,点击劫持, 等等)
  • 输入URL 到页面展现发生了什么(超高频
  • 性能优化策略(结合上一条, 高频)。
  • 基础的数据结构和算法(好比快排,merge sort, N sum, Top N 等, 手写代码)
  • 事件循环原理, 看题写输出, 解释一下。
  • 一些经常使用的方法, 好比debounce, throttle, new, create, bind 的实现。
  • promise, 异步的处理。
  • 基础的算法和数据结构(Tree, BFS, DFS)

技术三面(腾讯交叉面)

通常都是没有三面的, 腾讯才有, 具体的套路和前面差很少。 前面两轮你都能的话, 这个就不用怕, 复盘下前面的面试状况, 准备好再去, 有备无患, 就稳。

楼主的遇到的问题大概是:

- 简单自我介绍
- 问你作的项目
- 遇到什么问题
- 排查问题的方法
- Https 的优点
- Https 链接的过程(证书, 非对称加密的过程,加密算法等)

总监面

通常到了这里就问题不大了, 固然也有翻车的。 这一步主要就是看:

  • 问项目

    • 作了什么
    • 哪些地方比较出彩, 有什么成果
    • 这里我建议实现画个思惟导图来梳理, 有计划的突出重点, 本身作的好的,多作准备。
  • 看你的沟通能力
  • 有些会问你一些智力题,也有人回问数学题(好比矩阵乘法)等, 考察是否聪明.
  • 会python 吗?(腾讯)
  • 简述Https 链接的过程(仍是非对称加密那一套的流程)(腾讯)

这一步, 总监以为你OK, 就会放你到HR。


HR 面

这一步, 若是是正常的HR, 会问你:

  • 过去的一些经历,作过啥
  • 为何离职 (权衡稳定性)
  • 对工资的指望

    • 这一步不要虚, 毕竟你都走到这了, 怕啥。这里谈钱不伤感情千万不要

      • 不要急于出价

        • 能够先套路一波
      • 给你多少就要多少

        • 一旦你说出一个薪酬范围,本身就不能增长薪酬了
      • 谈一次被打击一次,最后愈来愈没有底气。

        • 自信一些, 此条面对阿里的HR时, 请自行斟酌。
    • 也不要漫天要价, 本身值多少钱, 内心(能没个B数?)要有点数, 不知道的,要去脉脉上问下。能够适当加多点:

      • 一方面是留点砍价的空间
      • 另外一方面, 万一HR就答应了呢, 那不就美滋滋。
      • 对于已经谈拢的薪酬待遇,必定要 HR 以发邮件 offer 的形式来确认。
      • 你前面拿的一些肉鸡公司的offer 能够做为加价的筹码, 不要扔了。

补充

  • 持续学习

    • 面试官还会看你平时的积累, 好比技术博客有没有常更新, 写的都是啥,持续学习很重要。
  • 关注下产品

    • 前端是有义务参与产品的设计的。
  • 关注下业务

    • 阿里的leader 会考察你对产品和业务的了解状况。
    • 技术特别牛逼的,自行斟酌。
    • 要有某个突出的点(或技术, 或产品, 或对业务的理解)。

最后

大概就是这些吧, 有须要面试的朋友能够参考一下,文中的题目, 答案我还在整理, 后面会慢慢写出来。 但愿对能给有须要的朋友带来一些帮助 :)

END.

若是以为内容有帮助能够关注下个人公众号 「 前端e进阶 」,一块儿学习成长

clipboard.png

相关文章
相关标签/搜索