2016 年网易、腾讯春招前端面经

April 28, 2016

网易前端面经

时间:2016年4月12日 地点:杭州市滨江区网商路599号 网易(杭州)网络有限公司

一轮:

  • 谈项目经历,项目中学习到的经验。
  • 做项目时候合作会出现的问题。
  • 项目中如何做响应式布局设计?
  • 如何用javascript根据dpr确定移动端基准rem的值?
  • 三栏布局,左右定宽,中间自适应,如何实现?
  • 定宽定高的div如何水平垂直居中?
  • 不定宽不定高的div如何水平垂直居中?
  • 都做过哪些js插件?
  • 轮播图怎么实现?左右切换图片如何做到?图片布局时使用position哪种属性,如何优化能让切换画面更流畅,如何优化能提高访问速度。
  • 返回顶部按钮定位应用position如何定位到右下角(跟随正文右侧)?
  • 返回顶部效果如何实现?用到哪些函数?如何优化?
  • 谈职业生涯计划。

二轮:

  • 谈项目经历。
  • css3用过没,css3实现div逐渐从100px高度增加到500px用的哪个属性?
  • HTML5内置缓存用过吗?
  • jquery扩展插件的方法。
  • javascript轮播图水平切换图片如何实现?position值如何定义?
  • 两栏布局,一栏自适应如何实现?(我使用的双飞翼布局方式,后来问不使用双飞翼负margin值的话,用position定位如何实现?)
  • javascript作用域是怎样的?
  • javascript继承如何实现?如果父类有name属性,子类继承父类,查询name属性值的查找过程。
  • 用没用过javascript断点debug?
  • javascript原生实现ajax的方式。
  • 都用过哪些框架?
  • React如何查找到子标签?
  • 谈不足,谈UI和Photoshop使用。

三轮:

  • 谈项目经验,选择所学习技术的过程。
  • 谈目前所投递的公司情况,职业规划,毕业期望去的城市。
  • 谈对网易的了解,对网易产品的了解,用过哪些网易的产品,最了解哪个?这个产品有哪些优点和不足?
  • 谈学校课程和实习时间安排。
  • 谈工资与住宿补助。

腾讯前端面经

时间:2016年 4月25号(一面)、4月26号(二面) 地点:重庆沙坪坝区天陈路15号丽苑大酒店16楼黄桷厅

【一面】

  • 自我介绍
  • 收获最多的项目是哪个?有哪些收获?
  • 做项目时候对项目整体感的思考有哪些?
  • 在我的项目中,快速迭代的软件开发模式,迭代1和迭代2的项目规划分别是什么?
  • 画一下网站架构(我的一个项目),这个架构的优化。
  • 前端性能优化(资源加载角度,代码优化角度,浏览器内存角度,雪碧图,针对移动端优化,css3硬件加速原理)
  • 三栏布局的实现方式?(float布局优缺点,display:inline-block优缺点;圣杯布局优缺点,双飞翼布局优缺点)
  • 响应式图片如何实现?获取设备宽度或者dpr编写JavaScript替换图片路径
  • JavaScript内存回收与泄露问题?
  • JavaScript鼠标点击事件如何优化?(事件冒泡与事件委托)
  • 低版本IE浏览器兼容性遇到哪些问题,如何解决的?
  • nodejs的了解,和php比较后端性能
  • javascript作用域链怎么理解?
  • JavaScript闭包是怎样实现的?闭包对性能的影响?
  • JavaScript块级作用域怎么理解?
  • 有6个div,鼠标拖动交换两个div的位置,写一下数据结构,用json怎么表示?
  • 性格对代码有哪些方面的追求,是差不多就行还是要追求极致?
  • 平时总结分享的方式?(搭建个人博客,维护西大IT技术论坛)
  • 对UI设计的经验,几种常用图像格式的联系,优缺点与适用环境?
  • 组织管理与创新精神的理解?
  • 给你个机会问我一个问题?

【二面】

  • 自我介绍
  • 项目经历
  • 为什么从 JAVA 转到 UI 与前端开发?
  • 有哪几种跨域方式?(我答的html标签src属性跨域,Ajax,JSONP,comet)
  • 说一下ajax的使用方式?什么时候适用ajax(异步刷新,搜索框下列表,上传表单,上传图像即时预览)
  • 能不能给跨域下个定义?什么才叫跨域?跨端口叫不叫跨域?(http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html)
  • 跨域会遇到哪些问题?弊端?跨域既然那么好用,我所有资源都跨域可以不可以?(这里我举了个利用http请求referer属性值防盗链的例子,并不会更多了)
  • 浏览器访问网址到呈现的过程,能想出多少说多少?
  • 上面的过程,所有过程进行优化,应该怎样优化?
  • TCP/IP协议叙述一下,分为哪几层?如何优化TCP/IP协议?
  • TCP和UDP的区别,分别适用于哪种场景?
  • http协议有什么理解?
  • 平时使用什么后端语言?
  • bootstrap理解多少?(这道题我最熟悉,说了十分钟,从引用方式、兼容性、响应式WEB设计、移动设备优先、234版本区别和联系、css组件、javascript插件、字体图标、LESS与SASS编译角度分别阐述)
  • 创新精神的理解?(举了我在学生会写“密室装机大赛”策划书的过程,面试官表示很有兴趣)
  • 最后一个问题:你有什么问题想问我吗?
  • 【我】您觉得对于前端开发来说,TCP/IP协议、HTTP协议、数据结构和算法分别应该掌握到什么程度? 【面试官】:TCP/IP协议了解就好,HTTP协议建议深入了解一下,毕竟WEB开发和HTTP协议息息相关。数据结构和算法掌握基础就够了,实际前端开发中用到的算法不多,很少,学习算法重要的还是锻炼逻辑思考能力。
  • 【我】:还有一个问题,您对前端未来三年的发展前景怎么看,未来前端会是什么样子? 【面试官】:还是很有潜力的行业,JS的框架和库特别多,以前人们都用原生js开发,后来有了jquery,逐渐向框架迈进,后来开发的人多了,框架越来越多了,近几年新的框架越来越多。前端MVC、MVVM框架也出现了,说明做前端的人们开始思考一些问题,拿出了一些解决方案。我个人觉得未来的整个WEB开发会从现在的前后端分离,逐渐走向大一统状态,前后端走向融合。包括现在的ES6、ES7对于语言本身功能方面的思考也越来越多,还是很有发展潜力的。

腾讯、网易面试总结

经过网易三轮面试、腾讯两轮面试,我也有了一些经验,在此分享:

面试的技术是一方面,表达沟通能力真的很重要!一般在面试最开始的时候会要求做自我介绍,这是在给我们机会阐述我们自己擅长的技术领域,从而给面试官一个轮廓,以便让面试官根据这些领域问我们问题。

有质量的技术面试是双方良好沟通的结果,我们引导面试官发现我们所擅长的技术领域,面试官引导我们将正在讲的技术深入挖掘,全部说出来,直到说完为止。我们和面试官互相引导,才能将我们所有的技术领域都阐述出来并且阐述清楚,这是最完美的解果。

如果不善言辞且紧张的话,无法引导面试官发现我们擅长的东西,当我们思路断掉的时候,不知道接下来说什么,面试官也不知道问什么合适,只能挑一些问题来问,这些问题就未必是我们所了解掌握的了,非常容易答不上来,从而陷入尴尬,草草结束面试。