献给前端求职路上的你们(个人面试经历分享)

从今年找实习以来,页面时了不少公司,包括tab,zhu场和zhu场游戏部门,整体感觉是,t的面试过程,整体感觉最轻松,聊天式,a的面试内容会稍微比较新一点,目前比较新的东西,要适当了解,有时间可以自己用一用。b的问题问的稍微深一点,zhu场的整体感觉相对稍微简单一点,但是zhu场游戏要求的还是比较多,不仅仅是前端,数据库,服务器这些也是要了解的哦。

下面我就不指名是哪个公司了,面试的内容有交叉,有一部分东西也是根据个人经历扯出来的,还有的面试到了二、三面就不问这些基础的东西,
问的更多的是你的项目经历,解决问题的能力,未来的规划,我当时没记录下来,但是我个人认为最重要的就是一面和二面,大部分的人是跪在前两轮,也包括我自己,所以希望以下内容能有助于大家顺利过关前两轮。最好能帮到大家拿下offer:

面试一

内容包括项目介绍、跨域、闭包、原型、设计模式、CSS盒子、Linux一些命令,SVN拉分支,还有一些项目的前后台交互。HTML5新特性及离线存储。

首先是问项目,项目里你做的什么东西,写了哪些页面,前后台是怎么调用的,遇到了什么问题,你是怎么解决的。用的前端框架是什么?源码你看了吗?觉得这个框架的优缺点是什么?
接下来是基础问题了。具体问题记下了:
1. 为什么要用闭包?你对闭包的认识,应用场景是哪些?
2. JS里的继承有哪些?口述一个原型继承的代码。
3. 在项目开发中是否遇到了跨域问题?有哪些解决方案,jsonp与html5的解决方案是什么?
4. 讲讲几种简单的设计模式的应用场景。外观模式与适配器模式的区别。
5. 常见的Linux指令你用过哪些?管道是用来干嘛的。
6. 讲讲CSS的盒子模型,怎么区分和使用。
7. SVN拉分支的命令是什么?
8. 你对加班怎么看?

面试二
内容包括项目介绍、CSS3新特性、HTML5新特性。
首先是问项目,用的框架是什么(因为自己用的是公司内部框架,所以这个问题一般都会问。),这个框架与Angular有什么不一样?源码是否了解?
接下来是基础问题了。问的比较新,我就跪在这。具体问题记下了:
1. CSS3 动画用过吗?animation有那几个属性?Transition呢?(自己用的都是jQuery里的animate,和他讲错了),那时候心里已经开始慌了,CSS3和Html5新特性只是了解一些,稍微一深入,就有点吃不消,我和他讲,平时公式用的CSS都是公共的,有专门的负责样式的自己只是拿过来用就是,对css掌握的不是很好。果然下面到了html5.
2. Html5里的离线存储平时用过么?有哪些。Cookie与WebStorage的区别。
3. Html5里的多线程知道吗,如何创建一个线程?线程嵌套了,他们之间是怎么通信的?
面试到此结束。我了他哪里答得不好?前端知识更新快,对于一些新东西要快速学习,快速理解。有一些比较重要的东西,光会用是不够的,里面的一些原理还是要弄清楚。

面试三
内容包括项目介绍、JS闭包、HTML5跨域处理。整体来说这个面试最美压力,整个过程就是聊天一样。技术性东西没怎么聊。
1. 首先问了一下为什么首选城市是上海?愿不愿去深圳。
2. 学的是通信,为什么要选前端?你觉得你对于计算机专业有什么优势与不足?
3. 聊了大概十分钟的项目,吐槽了一下在实习遇到的部门沟通与最佳实践的种种问题,他也表示感同身受。
4. 最后问了JS闭包、HTML5跨域处理。

面试四
首先聊项目,这里聊得还可以,满顺畅的,但是接下来我犯了一个严重错误,就是因为聊得顺畅。我给他介绍了一个比较厉害的功能实现。但是其实这里在具体的项目中不是我实现的。记住一点不会就不要乱吹,不然是搬起石头砸自己的脚。
聊完项目,开始聊知识点了,总体感觉是问的比较深,一共就问了4个问题,但是一个问题会拓展下去。
1、 JS事件模型与事件流介绍一下,事件代理用过吗?自定义事件,事件广播和分发【答得不好】
2、 浏览器原理,和他讲了一通。Js是怎么解析的?什么时候执行的?but定时器的执行原理【答的不好】
3、 怎么设计一个JS组件。【复用性,扩展性】
4、 jQuery与angular有什么特点。源码里哪里比较有特色。

总结:自己的做的要比较熟,一些基础的东西不能浮在表面,要深入一点,被问到的时候不能虚,会多少答多少,不会了就直接说出来,我当时不会了就在那里,一直让面试官等着,最后面试官问了句,你还在吗?这印象太不好了。干脆利落,他可能会多问几个问题,拖拖拉拉,对方可能就不想问了。

面试五

这里提醒一下,腾讯的电话,我事先没接到,前一天晚上打球去了,打球回来洗澡去了,晚上十点打了我两个电话没接到,第二天中午我直接打过去了,是hr接的电话,下午就电话就来了。

这次记住了上次的教训,聊项目的时候,可以给面试官挖几个坑,因为这次面试的明显能感觉出来是个boss。坑在哪里?坑是自己掌握的比较好,在聊项目的时候可以吸引到面试官的点,稍微带一带方向,下一个问题面试官可能就是要问你这个问题了。
第一坑:
我给他挖的第一个是angular的源码分析。(较上次jQuery源码的教训,还不如讲自己比较熟的angular)。
为什么会挖这个坑?因为项目用到的框架是企业内部的框架,没法和他讲,但是是对angular的封装,我说这个框架,企业内部因为我权限不够,无法查看源码,但我知道它是对angular与ajax的封装,我对angular比较熟。这样他就被吸引了。

完事了聊了聊实习的一些经历。讲了在企业学到的一些东西,因为我感觉他对我做过的东西不是很感兴趣,都是一些和具体业务有关。我就和他聊了一些企业管理的东西,从开发中的代码规范到最佳实践,再到敏捷开发流程,最后发现面试官比较喜欢听团队管理,又和他聊了一些部门间沟通的事情,部门间联调,加班的一些事。

最后问了我一些技术问题,问我对算法熟不熟?计算机网络怎么样?【这个是聊到了通信与计算机专业差异性问题,我是学通信的,他想了解一些我对计算机基础的知识的掌握程度。】我说数据结构与算法学过,但是都还给老师了,但是学校没有吧学费退给我。他又问计算机网络呢?我说还行,【因为当时心里不敢再说不怎么熟,我就说了还行】

问题:怎么减少http的请求次数?答了前端的东西,他要求从协议去解释,没有想出来。

面试六

  1. 刚开始聊项目,项目问了怎么实现的
  2. 根据项目问了cookie机制
  3. ajax和jsonp的实现原理,用原生js怎么实现
  4. 如果要实现一个自定义的事件,要怎么实现
  5. 描述一下angularjs的模块注入和依赖注入
  6. angularjs的双向数据绑定实现原理
  7. 响应式设计的一些问题
  8. 问了rem

面试七
1.实习期间做了一些什么?
2.canvas是否熟悉,说一下一些常用api,以及canvas的性能是否有关注过,你项目里那个网页游戏用到了canvas,游戏的fps能有多少。
3. 你项目中组件是怎么写的,如果要你写一个弹窗组件,你怎么写。
4. 一个a标签绑定点击事件怎么阻止提交,又让我说具体原理。
5. tcp和udp具体有哪些不同?
6. 实习时间是多长?

面试八
问题好多,好散,大概问了大概30个问题。我尽量回忆。考察的知识面好多。
1、 css兼容性处理。
2、 纯css3实现360度旋转,不能用js。
3、 Css动画用过吗?过渡函数有哪些?
4、 Css盒子,怎么设置?
5、 Css定位,怎么响应式布局双栏,多种方法。
6、 选择器有哪些?给我出了具体的个题目,问能不能达到效果。关于伪类选择器的,我猜了一下不能。
7、 原生js实现ajax的流程,状态码有哪些。
8、 怎么区分不同的浏览器(火狐,IE,google),多种方法。
9、 Js声明函数的方式有哪些?分别有什么不同?
10、 闭包与匿名函数的区别,分别怎么用?举例子说明
11、 BOM的常用属性
12、 节点的增删改查分别怎么操作?
13、 Javascript的继承机制,有什么好处与不足。
14、 Js事件流的处理兼容性处理,一共有哪些,【答全比较难。】
15、 SE6的let与const有什么区别?
16、 用过sea.js与reqire.js吗?【表示没用过】
17、 Angular用过吗?有哪些特性,原理是什么?
18、 在angular的开发中遇到过什么问题吗,双向绑定吗中数据模型变,v不显示。
19、 移动端与PC端开发有什么不同?
20、 怎么设置响应式布局?
21、 Bootstrap响应式布局是怎么实现的?
22、 为什么频繁操作dom节点的代价比较大?
23、 Html5有哪些新特性,你用过哪些?
24、 http1.0与http1.1有什么区别?http2有神么新特性?
25、 数据库常见的存储引擎有哪些?有什么区别?
总结:问的问题都比较基础,但是设计的面很广,问题量比较大。基本覆盖了所有的重要的知识点。认真打好基础吧。

猜你喜欢

转载自blog.csdn.net/A_BlackMoon/article/details/80368807