前沿开发团队的面试过程

以面试前端工程师为例前端

通常的面试过程

咱们通常会有 2-3 轮面试,对于高级别的工程师可能会有 4-5 轮面试。git

咱们可能会采用哪些方法来面试

  • 代码编写笔试github

  • 问答式面试

过程遵循 STAR 面试法浏览器

咱们喜欢什么样的面试者

  • 基础扎实性能优化

    • 从多年的经验看,那些发展好的同窗都具有扎实的基础知识前端工程师

    • 好比只懂 jQuery 不懂 JavaScript 是不行的哦数据结构

    • 若是了解计算机基础会更好,由于咱们将面临不少非前端技术的问题ide

  • 主动思考性能

    • 被动完成任务的同窗在这里进步会很慢

    • 你须要有本身的想法,而不是仅仅完成任务

  • 爱学习

    • 前端领域知识淘汰速度很快,因此最好能常常学习和接触新东西

  • 有深度

    • 遇到问题时多研究背后深层次的缘由,而不是想办法先绕过去

    • 好比追踪某个 Bug 一直了解它本质的缘由

  • 有视野

    • 创新每每来自于不一样学科的交集,若是你了解的领域越多,就越有可能有新想法

咱们喜欢问的问题

如下会列出一些咱们常问的问题,请提早作好准备。

须要注意的是,校招和社招的是不同的,校招会更加关注基础知识,而社招会更加关注以前作过的项目状况。

项目相关

面试其实说白了就是根据一我的以前的经历,来判断出后续这人会作得怎样,若是你以前从没作成过一件事情,凭什么让别人相信你以后能作成呢?所以不管哪里的面试都会问你以前作过的项目

项目能够是多人协助开发一个产品,也能够是本身我的作过的业余应用,只需介绍 一、2 个就够了,须要注意的是 1 + 1 != 2,作了两个平庸的项目不如作了一个好项目

通常来讲会问以下几方面的问题:

  • 作过最满意的项目是什么?

  • 项目背景

    • 为何要作这件事情?

    • 最终达到什么效果?

  • 你处于什么样的角色,起到了什么方面的做用?

  • 在项目中遇到什么技术问题?具体是如何解决的?

  • 若是再作这个项目,你会在哪些方面进行改善?

技术相关 - 1 面

技术一面主要判断对基础知识的掌握

  • 描述一个你遇到过的技术问题,你是如何解决的?

    • 这个问题很常见,有没有遇到过很不常见的问题?好比在网上根本搜不到解决方法的?

  • 是否有设计过通用的组件?

    • 请设计一个 Dialog(弹出层) / Suggestion(自动完成) / Slider(图片轮播) 等组件

    • 你会提供什么接口?

    • 调用过程是怎样的?可能会遇到什么细节问题?

  • 更细节的问题推荐参考 https://github.com/darcyclark...

技术相关 - 2 面

技术二面主要判断技术深度及广度

  • 你最擅长的技术是什么?

    • 你以为你在这个技术上的水平到什么程度了?你以为最高级别应该是怎样的?

  • 浏览器及性能

    • 一个页面从输入 URL 到页面加载完的过程当中都发生了什么事情?越详细越好

      • (这个问既考察技术深度又考察技术广度,其实要答好是至关难的,注意越详细越好)

    • 谈一下你所知道的页面性能优化方法?

      • 这些优化方法背后的原理是什么?

      • 除了这些常规的,你还了解什么最新的方法么?

    • 如何分析页面性能?

  • 其它

    • 除了前端之外还了解什么其它技术么?

    • 对计算机基础的了解状况,好比常见数据结构、编译原理等

兴趣相关

  • 最近在学什么?接下来半年你打算学习什么?

  • 作什么方面的事情最让你有成就感?需求设计?规划?具体开发?

  • 后续想作什么?3 年后你但愿本身是什么水平?

主动性相关

咱们没有 PM 每天跟在你后面催你作事情,因此你须要自主去发现和解决问题,主动性是咱们最看重的软素质之一

  • 在以前作过的项目中,有没有什么功能或改进点是由你提出来的?

  • 是否有参与和改进其它开源项目

参考

相关文章
相关标签/搜索