网易前端面试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046318/article/details/78021803

这是我经历的最棒的一次面试,面试体验很好,面试官也挺不错,会引导你往哪个方向去思考。

一面:
首先是比较帅气的一个小哥,先是让自我介绍,完了之后面试官说讲的太快了(哈哈)
然后问了下实习做的东西,主要用的什么?对React了解多少?讲讲虚拟DOM的概念,Diff算法有了解过吗?MVVM模式有了解吗?然后问如何去判断(跟踪)状态数据变化了,从而触发视图UI?
因为简历里有写看过jQuery源码,然后问了些jQuery源码的东西。主要是Deferred对象。与ajax返回的对象有何区别?
下来是一个div里面有一个a标签一个img标签,然后让把整个布局画出来,并解释为什么?
后面全程都是在这个基础上的题目。
1. 如果要把a变成一个块级元素,怎么去设置?并画出布局
2. 行内元素与块级元素有什么区别?inline-blockblock又有什么区别?
3. 画一下上面整个的DOM结构,包括文本节点以及属性节点这些(感觉这个挺细节的)
4. 后面还有如何去获取a标签的href属性(这个当时只说了一种方式,直接访问a.href,但貌似这个不是面试官想要的,后面面试官有提到getAttribute()方法。)
5. 如何要给a设置宽和高,以及Padding,Margin如何去设置?并且画出整个布局?因为这个又涉及到margin重叠的情况,又问如何去防止margin重叠
6. 设宽度之后,设的是哪一部分的宽度?如何去规定要设哪一部分的宽度?(box-sizing)

第二个场景,有一个ul,里面有很多li元素,如何去使得点击每个元素打印出对应的索引。(一开始考虑用事件委托来做,但是判断e.targetul的第几个孩子不是特别方便,还是用了最原始的方法,给所有li绑定点击事件,这里其实涉及到闭包的问题,如何去规避?一个是考虑到let,另一个就是自执行函数,并将索引作为参数传进去)

二面:
二面是一个比较温和的面试官,也是先让自我介绍,有提到熟悉原生JS,然后面试官问对CSS熟吗,表示不是很熟悉。然后面试官说那先从不熟悉的开始吧。

  1. 实现一个布局,上面一个div100px高,中间一个div,高度自适应,最下面一个div,高100px。(当时第一反映是用flex做,不过现在想想直接这种布局排下来不就是那种布局,只不过需要把中间的height设置成100%)
  2. ajax传输数据的时候,在xhr.send(data)时,这个data可以有多种数据格式,比如JSON,比如FormData等等,问如何把一个对象变成这些格式?另外如何去设置?(设置HTTP Header就可以,里面的Content-Type)
  3. 对HTTP熟悉不?讲一下熟悉哪一些方面?讲了缓存和状态码
  4. 有哪些常见的状态码,如何去判断返回的Code是4开头的?(正则表达式,并要求写出来)
  5. 缓存机制有哪些?说说有什么字段(讲了强缓存和协商缓存)
  6. Max-age和Expire有什么区别?
  7. Etag和last-modified有什么不同?
  8. ES6有用过哪些觉得好的特性?(let,箭头函数,class, iterator遍历器),主要讲了for…of这个操作
  9. 下来就问遍历对象的几种方法,for … in 可以遍历到原型链上的方法吗?可是为什么一个a = { name: 'a' }遍历之后,只会打印出一个name呢?而没有原型链上的属性?(涉及到可枚举和不可枚举的概念)
    后面就是手写代码。

  10. instanceof有用过吗?实现一个instance(obj, fn)函数

  11. Math.max有了解过吗?实现一个max函数,如何用数组的foreach方法。(这里用到call和apply)
  12. obj = { name: '1' },问obj.call等于什么?另外有一个函数Fn,问Fn.call等于什么?
  13. 最后就问我有什么问题?

三面(HR面):
这个HR感觉随和,一进去就说把包当下,放轻松一点。
然后问觉得之前的面试怎么样?
下来就是问实习主要做了什么?参加的比赛主要做了什么?实验室的项目主要是研究什么?对网易有什么认识?或者说为什么要来网易?然后为什么不投网易云音乐等等。对自己未来十年有什么想法,最想做的等等。

猜你喜欢

转载自blog.csdn.net/u010046318/article/details/78021803
今日推荐