蘑菇街、网易、知乎、美团前端面经

附一我总结的前端面试常问

蘑菇街一面

  • 面试官自我介绍。
  • 自己的自我介绍。
  • 关于前端工程化的理解。
  • es6常见用法。
  • this。
  • es6中的this。
  • 作用域链。
  • es6的普通方法和lodash的选择。
  • cookie, localStorage, sessionStorage的区别。
  • 严格模式下,在全局作用域使用this会发生什么事情。
  • let, const, var的区别。
  • 我的提问1: 您在前端上是如何学习的。
  • 我的提问2: 您给我的建议是什么。

大概是因为我开始给面试官自我介绍的时候,说自己的职业目标是成为一名全栈工程师,然后说看了我的博客,很多都是mongodb和node的东西,然后就各种被怼吧,gg了,他问的问题我基本上答出来了,但是一面就G了。

此后,就在简历上介绍自己职业目标的那一块给去掉了,然后自我介绍的时候也不轻易说自己想要做一名全栈,说自己想要当一名全栈的时候一定要小心,除非面试的部门本身就是全栈或者面试官比较倾向于全栈。

最终挂。

网易一二面+HR面

  • 介绍一下项目,说说为啥要用mongodb。
  • mongodb是如何进行表连接。
    • 直接使用mongodb的区别,则使用lookup(), 这是关系型数据库的左外连接方法。
    • 使用mongoose的话,使用population(), populate的使用方法
  • 关系型数据库的表连接方式: 看这里
    • 内连接: 满***换律, A inner join B等价于B inner join A, 并且只显示查询存在的数据。
        SELECT DISTINCT College.cName, College.enrollment
        FROM  College INNER JOIN
                Apply ON College.cName = Apply.cName
      
    • 外连接:
      • 左外连接: 产生左边表的完全集,右边的表,若匹配则有值,若不匹配,则显示为NULL。
          SELECT College.cName, College.state, College.enrollment,
          Apply.cName, Apply.major, Apply.decision
          FROM  College LEFT OUTER JOIN
                  Apply ON College.cName = Apply.cName
        
      • 完全外部连接: 即产生左边表的完全集以及右边表的完全集。完整外部联接(full outer join)满***换律:“A full outer join B” 和 “B full outer join A” 是相等的。
          SELECT College.cName, College.state, College.enrollment,
          Apply.cName, Apply.major, Apply.decision
          FROM  College FULL OUTER JOIN
                  Apply ON College.cName = Apply.cName
        
      • 右外连接: 与左外连接同理。
    • 交叉连接: 会产生笛卡尔积(M*N), 在需要所有数据的情况下会进行交叉连接。
        SELECT College.cName, College.state, College.enrollment,
        Apply.cName, Apply.major, Apply.decision
        FROM College
        CROSS JOIN Apply
      
  • 三大范式: 看这里
    • 函数依赖: 如果一个表中某一个字段Y的值是由另外一个字段或一组字段X的值来确定的,就称为Y函数依赖于X。
    • 1NF: 原子性,字段不可再分割。
    • 2NF: 在1NF的基础上, 每个非主属性是由整个主键函数决定的,而不能由主键的一部分来决定。即主键(student+major) => 教师/教材,但是major => 教材,因此不满足第二范式。
    • 3NF: 在2NF的基础上, 如果非主属性之间存在了函数依赖,就会存在传递依赖,这样就不满足第三范式。
  • 数据库设计优化。
  • 两列布局。
  • es6实现类继承。
  • es5,es6面向对象的写法。
  • 写一个函数,每5s自己调用自己, 100次结束。
  • node如何利用多核CPU。
    • 每个进程使用一个cpu,那么多个进程就可以使用多个cpu了。
    • 因此,只需要开多个进程就可以了。
    • 创建子进程的模块: child_process
    • 复制子进程: fork()方法
  • cookie和session的优点缺点。
  • https。
  • md5实现原理。
    • 是不可逆的。
    • 很多网站数据库里存放的是密码的md5值。
    • 但是md5还是很容易被破解的,因此有了加盐一说法。
    • 关于加盐可以看这里
  • 用过哪些node的原生模块。
  • 说说关于打包工具。
  • 轮播组件。
  • Select组件。
  • 1000个数找到2个数和为100的所有数。
  • 什么是对称加密。
  • 什么是替换元素和非替换元素,它们之间有什么区别。
  • 写一个工具函数用于判断类型。
  • hr面聊人生

由于实习的时候写后端写的比较多,所以一面面试官问了一些数据库的和node的知识,数据库的都忘的差不多了。。。node也没有怎么用过原生模块,都是用的框架,所以一面问了很多这方面的知识,自己答的不好。so gg..

知乎

一面:

  • header有哪些部分
  • cors原理
  • react单向数据流的原理。
  • url中有哪些部分服务端获取不到。
  • 最近看什么书,自己如何学习的。
  • 遇到什么困难,如何解决的。

记不起太多了,感觉面试官是个大佬,没有提前准备知识点,而是直接让你做自我介绍,说到某个知识点就问你那方面的,我是自己把自己坑了,说了两个知识点都是错的,一个是CORS的原理,还有一个是自己遇到的困难,当时还没反应过来。。后来查了一下发现都说错了,so gg..

美团

有了前几次面试经验后,我重新修改了简历,将简历上node和mongodb的内容去掉,然后把说自己想要当全栈的内容去掉,精简了一番简历。

一面

一面面了70分钟左右,面试官注重基础和原理性的东西。

1. 1元,2元,5元,10元,20元,50元,100元,凑钱, 手写。
2. html5和css3了解哪些。
3. 图片和文字布局, img是什么元素。

```


    哈哈哈哈

```

4. inline-block和float的区别。三像素的原因以及解决办法。
5. 不知道高度和宽度水平垂直居中。(transform, table-cell, flex)
6. transform, translate, transition, animation的区别。
7. 变量提升一系列问题。
8. 工具函数判断数据类型, NaN的两种判断方法。
9. cookie多大,localStorage多大, 它们都跨域吗
10. DNS与TCP的时间怎么算。
11. 性能优化, 常见的就别说了,说说如何检测性能,考虑很多服务器(监控)。
12. 如何判断这次的版本比上一版好。
13. 输入url到渲染过程。
14. 如何做用户体验。(表单举例:前端缓存,实时验证,输入提示等)
15. 金子分成7份。
16. bind, call, apply
17. setTimeout的this
18. this有哪些地方要改变(new, bind, call, apply, 对象调用)
19. 箭头函数this
20. 如何实现继承
21. constructor, prototype, prototype的区别
22. 回文数
23. 判断数据类型的toString后第一个单词是大小写?第二个呢?
24. 三角形的实现,五角星的实现。
25. 垃圾回收机制,以及原理。
26. 看过react源码吗,vue的也行。
27. offsetHeight, scrollHeight, clientHeight的区别
28. 什么是闭包, 什么是IIFE, 它们的应用场景
29. border-radius: 50% 与 100%的区别
30. CSS盒模型,IE盒模型呢?box-sizing了解过吗
31. CSS优先级,浏览器是如何解析的,比如: #a .b h1
32. 说说回流与重绘
33. 了解SEO吗
34. 如何判断调用的函数是否是自身,函数的length值为多少
35. 对语意化有了解吗?说说语意化的好处。
36. arguments是数组吗?怎么转为数组

最后和面试官聊了下部门是做什么的,问了下对我有什么建议之类的。一面小哥哥特别的好,有的答不上的地方,会慢慢引导,一直安慰我,让我不要紧张。

二面

二面三十五分钟左右,是个后端面试官面的。

1. 遇到什么困难,怎么解决的。
2. https原理 ,https, http区别, 两者优点和缺点
3. 输入url全过程, 每一层协议说下是干嘛的
4. 正则匹配。
5. linux: grep查看某个单词以及下面三行,find如何查找最近3天修改过的文件。
6. 自己写的接口,如何保证安全性。(认证)
7. 说自己的项目。
8. js实现栈。
9. 数据结构,算法,操作系统学的怎么样。
10. 怎么把异步回调写成Promise
11. 说说node的特性
12. 说说windows与linux的优点缺点。
13. 什么是自旋锁。

问我数据结构和算法还有操作系统如何的时候,只好说写前端写的多,对那一块不是很熟,之前学过,忘的差不多了,面试官就没为难我了。

三面

三面面试官主要问项目,根据项目来扩展知识点,记得不是很清楚了,大概说一下。

  • 这个项目有多少人参与
  • 这个项目你与哪些人对接
  • 你遇到了什么困难, 是如何解决的
  • 对***的开源协议怎么看
  • 你是如何看待开源的
  • 你平时是怎么学习的
  • 以后怎么打算的,有什么职业规划吗?然后我老实说,想要在北京发展几年到时候内部转岗回成都。面试官说其实北京的话,房子还是蛮好解决的(听到这里我惊呆了),主要是户口不好解决,然后说了美团可以解决天津户口,北京到天津高铁30分钟。
  • 还聊了些其他的,面试管也真的特别好,面完之后,就对那边喊着有没有hr给面一下。

HR面

  • 遇到什么困难,如何解决的
  • 对美团有什么了解吗
  • 手上有哪些offer(0 offer), 为什么没有offer,你觉得主要是因为什么?
  • 工作地点怎么看的
  • 成都投了哪些公司
  • 等等。。。hr小哥哥,感觉还蛮懂技术的,就问了下之前是做技术出生的吗?他说差不多吧。

美团四个面试管,都特别好,不得不说,美团在校招这一块儿,深刻的体会到,真的是业界良心,20号初试,22号复试,说30号之前出结果,然后24号就收到了短信。再说一次,真的是非常好的体验!

最后,祝大家都能拿到心仪的offer,千万不要放弃!

#网易##美团##蘑菇街#
全部评论
谢谢dalao,受益匪浅!
点赞 回复
分享
发布于 2017-09-25 10:57
大佬牛逼😂
点赞 回复
分享
发布于 2017-09-25 11:18
博乐游戏
校招火热招聘中
官网直投
很详细的面经!顶!!!
点赞 回复
分享
发布于 2017-09-25 11:21
请问楼主美团是内推批次吗
点赞 回复
分享
发布于 2017-09-25 11:32
666大佬厉害了。。好多都不知道,长见识了
点赞 回复
分享
发布于 2017-09-25 11:33
给大佬递茶
点赞 回复
分享
发布于 2017-09-25 12:36
请问蘑菇街是开始面试了吗?我是9.23做的笔试题,到现在都没有结果,是挂了吗?哪里可以查状态吗?
点赞 回复
分享
发布于 2017-09-27 15:36
给大佬递月饼
点赞 回复
分享
发布于 2017-09-27 15:37
楼主,你是怎么学习才掌握那么多基础的呢?
点赞 回复
分享
发布于 2017-10-27 10:23
想问问大佬算法题刷的多吗
点赞 回复
分享
发布于 2021-06-02 17:24

相关推荐

9 154 评论
分享
牛客网
牛客企业服务