猫眼前端实习一面面经

猫眼前端开发实习岗:一面面经,全程问的很基础,面试官是个声音超好听的小姐姐,但是不知道能不能有二面。。。

以下是问题:

1. 专业不是计算机哈?那你大概都学过哪些内容呢? 我:balabala。。。

2. emmmm。。。计算机网络有了了解过吗?HTTP协议这些? 我:了解过,然后我从http1.0一直讲到http2.0;balabala。。。

3. 说一下http和https的区别?

4. 恩,你提到了SSL层加密哈,具体说一下是怎么加密的?(然后我就把非对称加密说了一遍,balabala。。。)

5. 那你说到了非对称加密后要用非对称加密的随机值来做信息加密,那为什么不每一次都做非对称加密呢?

6. 刚刚提到了TCP,TCP协议说一下?

7. TCP三次握手说一下?

8. 你平时调试代码的时候出错了怎么调试呢?(我:chrome自带的network面板,根据不同的状态码调试)

9. 那你说说常见的状态码吧(我:200,304, 400 ,500一大堆balabala)

10. 什么时候返回304呢?

11. 你平时都是怎么清除这种本地的缓存呢?(我:ctrl + f5。。。我真是这么说的。。。可能是我当时就没理解啥意思)

12. HTTP缓存具体说一下(我:强缓存,协商缓存 balabala)

13. 你提到了***-control优先级比较高吧,那你说说如果我现在有***-control还有Etag,还会从服务器判断是否命中协商缓存吗?(我:我觉得不会吧,毕竟***-control优先级高,直接就拿本地缓存然后返回200就完事了,然后小姐姐表示赞同。。。emmmm。。。)

14. cookie有了解过吗?(我:了解过,然后说了一下cookie)

15. 知道cookie一般用来存什么嘛?

16. 知道cookie的http-only字段吗?(我说禁止浏览器操作cookie,在XSS里面应该是这么用的)然后小姐姐说:呦,还知道XSS呢。emmmm。。。。

17. 然后在石墨文档写了个代码,让***作js的cookie。。。emmm。。。我不会。。。真的,然后小姐姐问我,你没在js写过吧,我说对,然后小姐姐说你应该是在node里面直接用的,我说是的。。。

 

	1、设置cookie,{a:'bb'},过期时间从现在起两天后 

18. HTTP分层知道吗?(我:不知道,这个真不会)

19. 数据结构怎么样?(我就知道,计算机网络完了就是数据结构,奈何本人数据结构是真菜,然后我就说了我就学了栈、队列、链表)

20. 那你说说这些数据结构的概念(我:balabala)单链表是啥?(贼感动,小姐姐知道我数据结构不好,就没难为我)

21. 知道哪些排序?(我:冒泡,快排,归并)

22. 分别说一下这几种排序。balabala

23. 然后写了一个代码题:数组拍平

 

	2、[1,2,['3',[4]],5,] --> [1,2,3,4,5] 

// 我的答案  
function flatten(arr) {
  let res = []
  arr.forEach(item => Array.isArray(item) ? res.push(...flatten(item)) : res.push(item))
  return res
}

24. 追问:解释一下Array.isArray()。balabala。。。。再解释一下这段代码思路。

25. 追问:还知道哪些数组的方法?balabala。。。

26. 说一下JS的原型链吧?能干嘛?

27. 那就手写一个继承吧!

 

	3、父类SuperType,子类SubType 

 // 我的答案  
fucntion SuperType(name, age) {
  this.name = name
  this.age = age
}
SuperType.prototype.sayHi = function () {
  console.log(this.name + '你好')
}
function SubType (gender) {
  SuperType.call(this)
  this.gender = this.gender
}

SubType.prototype = Object.create(SuperType.prototype)

28. 追问 解释一下最后一行代码。为什么这么用?(我:为了不初始化两次父类的内部属性,减少不必要的开销)

29. 追命无敌问:ES6会的挺多的哈,知道Promise吗?我:balabala

30. Promise的then方法第一个函数参数的参数是干啥的?(我感觉小姐姐问这个是因为我没提到Promise的三个状态,然后我就说了一遍Prommise的三个状态,说了一下resolve的传参,说了catch捕获错误之类的。。。老规矩:balabala)

31. css用的多吗?(我:还行吧)

32. css盒模型说一下?(说了一下IE盒子模型和标准盒子模型)

33. JS怎么获取一个写好的盒子的宽度?(代码题)

 

	4、js原生获取宽度 

然后我说是不是offsetWidth啊,然后我听电话那头小姐姐没说话,我感觉好像不对,就没写这个。。。

34. CSS的水平垂直居中?已知宽高和未知宽高的都说一下?

35. 代码题:

 

	5、请把<ul><li>第1行</li><li>第2行</li>...</ul>(ul之间有10个li元素)插入body里面

// 我的答案  
var body = document.getElementById('body')


var ul = document.createElement('ul')
for (var i = 0; i < 10; i++) {
  var li = document.createElement('li')
  li.innerText = `第${ i + 1 }行`
  ul.appendChild('li')
}
body.appendChild(ul)



追问:你可以再检查一下代码,我一看,wc,getElementById写错了,***。。。多亏小姐姐提醒。然后改了。。。应该是又看到我用模板字符串吧,就说你ES6还真是会的挺多的。

追问:我看你刚才写了一个fragment什么的是吧?我说:恩,但是我看错题目了,我以为要一个一个往DOM里面插入,结果发现不用,直接插在ul里面就行,也能一次渲染,不会引起多次重绘和回流。。。然后就没用。。。然后小姐姐:你是写过那个哈?我说对,然后我说了一下这个东西。(其实就是documentFragment这个东西,统一打包元素的而已)。

到此为止吧,一个小时零三分钟,还有一些其他的好多问题真想不来,本来我还在往纸上记问题,后来发现太多了,还要思考,就没记,就能记住这么多了,要是有想起来的我再补充。。。

然后我问小姐姐给我个反馈,小姐姐说我基础很好,在实习生里面算是不错的了(我个人感觉小姐姐完全是在安慰我),就是数据结构,建议我看看二叉树,挺重要的,我说好滴(其实我是没来得及看二叉树。。。emmmm),然后和我说一周内通知是过了还是没过,我一听,得,估计是凉了。。。心都在颤抖。。。其实这些问题大概我就HTTP分层一点不会,还有两个最简单的代码没写出来。。。其他的应该都是我在balabal一顿操作。。。

个人感触:大家一定要注意,千万不能忽略了你认为某些太简单的问题,真的很可能问,就像我,竟然这种问题都没写出来。。。

总结:面试体验极佳,小姐姐声音很好听,很温柔,五星好评,下次还会再来。还有就是,哪位大佬能给我通俗的讲讲,HTTP分层是啥?

————————————————————

补充1:Object原型对象上都有哪些方法?(我说了Object.ptototype.toString()和definePropoty()

补充2: 归并排序的时间复杂度?

#猫眼##实习##面经##前端工程师#
全部评论
我也是差不多一个小时
点赞 回复
分享
发布于 2019-06-24 17:36
我搞明白了,http分层好像说的就是OSI七层模型,我其实会这个,但是吧,我没听说过http分层,我感觉我是个傻子。。。
点赞 回复
分享
发布于 2019-06-24 17:47
联想
校招火热招聘中
官网直投
我也面的猫眼前端,已经发offer了,我面的时候大多都是情景题,数据结构也只问了树,排序啥的也没问,就一面问了一些js,vue相关知识点,后面二面三面基本就是石墨文档给你题目让你写代码了,我感觉我面的和你面的不是一个难度啊,感觉进去会被虐哭😥
点赞 回复
分享
发布于 2019-06-24 21:25
你一面跟我二面应该是一个面试官 不过我已经凉了
点赞 回复
分享
发布于 2019-06-25 20:41
现场面么这是
点赞 回复
分享
发布于 2019-06-28 23:43
楼主,你在哪里投的呀,我怎么没有找到入口😐😐
点赞 回复
分享
发布于 2019-07-11 15:56

相关推荐

11 88 评论
分享
牛客网
牛客企业服务