一般都是结构化的,结构化的面试如:
- 一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?
- 你原来做过哪些让你印象深刻的项目?用 STAR 面试法来不停追问细节。
结构化面试最主要是方便你 能比较。
完毕后会针对性的对 ta 熟悉领域深入询问,技术点因人而异了。
最后是些软素质。
看上去就这么点东西,但问得怎么样,就看面试官水平了,通常面了几百号人,也被人面过以后基本都心里有数了。
下面转一下我们的面试方法。
面试方法
- 代码编写笔试
- 问答式
过程遵循 STAR 面试法 。
校招和社招的是不一样的,校招会更加关注基础知识,而社招会更加关注之前做过的项目情况。
项目相关
面试其实说白了就是根据一个人之前的经历,来判断出后续这人会做得怎样,如果你之前从没做成过一件事情,凭什么让别人相信你之后能做成呢?因此无论哪里的面试都会问你之前做过的项目
项目可以是多人协助开发一个产品,也可以是自己个人做过的业余应用,只需介绍 1、2 个就够了,需要注意的是 1 + 1 != 2,做了两个平庸的项目不如做了一个好项目。
一般来说会问如下几方面的问题:
- 做过最满意的项目是什么?
- 项目背景
-
- 为什么要做这件事情?
- 最终达到什么效果?
- 你处于什么样的角色,起到了什么方面的作用?
- 在项目中遇到什么技术问题?具体是如何解决的?
- 如果再做这个项目,你会在哪些方面进行改善?
技术相关 - 1 面
技术一面主要判断对基础知识的掌握
- 描述一个你遇到过的技术问题,你是如何解决的?
-
- 这个问题很常见,有没有遇到过很不常见的问题?比如在网上根本搜不到解决方法的?
- 是否有设计过通用的组件?
-
- 请设计一个 Dialog(弹出层) / Suggestion(自动完成) / Slider(图片轮播) 等组件
- 你会提供什么接口?
- 调用过程是怎样的?可能会遇到什么细节问题?
技术相关 - 2 面
技术二面主要判断技术深度及广度
- 你最擅长的技术是什么?
-
- 你觉得你在这个技术上的水平到什么程度了?你觉得最高级别应该是怎样的?
- 浏览器及性能
- 一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?越详细越好
-
-
- (这个问既考察技术深度又考察技术广度,其实要答好是相当难的,注意越详细越好)
-
-
- 谈一下你所知道的页面性能优化方法?
-
-
- 这些优化方法背后的原理是什么?
- 除了这些常规的,你还了解什么最新的方法么?
-
-
- 如何分析页面性能?
- 其它
-
- 除了前端以外还了解什么其它技术么?
- 对计算机基础的了解情况,比如常见数据结构、编译原理等
兴趣相关
- 最近在学什么?接下来半年你打算学习什么?
- 做什么方面的事情最让你有成就感?需求设计?规划?具体开发?
- 后续想做什么?3 年后你希望自己是什么水平?
主动性相关
- 在之前做过的项目中,有没有什么功能或改进点是由你提出来的?
- 是否有参与和改进其它开源项目
考查要点: 对Web标准的理解浏览器差异CSS基本功:布局、盒模型、选择器优先级及使用等Javascript 基础、JS面向对象实现原理、闭包机制、作用域通常可以做一些小练习来判断TA的水平,js 虽然很灵活,但是具体的实现方式能体现出一个人的全局观
考查要点:
- 对Web标准的理解
- 浏览器差异
- CSS基本功:布局、盒模型、选择器优先级及使用等
- Javascript 基础、JS面向对象实现原理、闭包机制、作用域
WEB前端学习交流群21 598399936