2018年 前端秋季校招面经

双非本科。 提早批投了有30多家,总共加起来投了有50多家公司, 除了蘑菇街给了提早批直接面试,其余要不是转笔试,要不是直接挂简历(阿里腾讯),要不就是正式批都开始笔试面试了,我老早投的没一点动静,也不给我转正式批,正式批投了也不给我笔试(欢聚、虎牙等)。css

8月26日左右开始投,小米8月28日投的内推,9月最后一周了才联系我说我是提早批面试。 除了蘑菇街和小米,其余基本上都是笔试经过后开始面试,不过也有笔试经过后不给我面试(JD、知乎)。html

最先面的美丽联合,提早批,以后就是9月第三周现场面的百度、网易、和电话面的小米,9月最后一周的oppo、美团、腾讯。 站点都是成都。前端


目前状态:vue

  • 签百度
  • 百度offer、百词斩ssp(估计有实习buff加成,谈薪资的时候薪资高到把我吓蒙)、美团offer、小米小sp、美丽联合sp,
  • 网易意向书收到了,结果人招满了
  • 神策数据 一面挂

[TOC]html5

面经

美丽联合

最先面试的一家公司,感谢蘑菇街提早批接受了个人简历,否则我估计会由于0面试而崩溃的。不过我蘑菇街的面经没有可参考性,1,2面全是问的项目,3面也是比较常规的hr面。react

1面 电话

问项目,中途还涉及到vue、canvas、webpack。 可是大部分时间都是问项目。webpack

2面 视频

问项目。css3

3面 Hr

标准hr面c++

4面 加面

面试官是很是厉害的人,好像是电商部门的技术总负责人。程序员

让我进行5-10分钟的自我介绍,把学习经历,项目和负责内容都介绍一次。

而后问了我项目中的几个问题

还问了我怎么处理兼容性

以后就是问对前端见解,我的的打算等等

总之感受挺轻松的。



神策数据

1面 视频

忘了问的啥了,总之体验很很差,自我介绍的时候就被打断不少次,最后让我手写一个题。

最后,面试官的评价是,代码写得太少了。 我:???



百度

1面 (1小时45分钟)

  1. 介绍一下项目,把我简历上的项目问了一大半,哪些难点,怎么作的,为何这么作,有其余方法能实现吗(后面这几点大部分是我本身主动介绍的)
  2. 讲项目期间还问了我Canvas,wepack,vue的问题。
  3. 讲项目就占了一半的时间,
  4. 手写ajax
  5. vue双向绑定
  6. vue-router原理
  7. es6有哪些
  8. let/const/var区别
  9. 箭头函数
  10. this
  11. 出了一个相关this的题
  12. 模块化
  13. 性能优化(这里我扩展了不少,而后被面试官阻止了,说够多了)
  14. 1亿个乱序数里面找出最大的前1000个数
  15. 有什么想问个人

2面 (1小时24分钟)

  1. 面试官把我简历很仔细的看了一遍,而后问我怎么学习的
  2. 看了哪些书 而后和和睦气的画风突变
  3. 手写es6 class继承
  4. 一道class相关的题
  5. 手写es5 继承
  6. 手写伪数组转换为数组(没写好,还出了错) 面试官说[].slice.call 而后我说有问题,而后还暴露出我没分清Array和[]的区别
  7. 手写string的indexOf,不能用正则,不能用substr这些相关的方法
  8. 讲讲事件代理
  9. 手写一个block函数,功能是阻止全部a标签的跳转事件,并输出href的值。只要使用这个函数(在文档任意地方写了block()),全部的a标签的跳转事件都要能阻止。这里还有一个坑,就是<a><li></li></a>若是我点的是li,e.target获取的值就是li
  10. 从url输入内容到浏览器显示 前面手写代码写得想哭,细节漏洞百出被批了几回。竟然问到了我最擅长的题,我差点没憋住笑出来

10.1. 讲了输入值浏览器的不一样处理

10.2. dns

10.3. arp

10.4 tcp三次握手

10.5. 中途问我为何要3次,不能2次

我想说tcp4次挥手的时候被阻止了,面试官说他知道我知道 10.6. 浏览器拿到数据后怎么渲染

10.6.1. dom构建全流程,cssom构建全流程,渲染树构建, (上面那些是我回答的内容)

  1. script 会阻止页面渲染吗,外部引入js,css放置位置的影响
  2. async和defer
  3. 用了async的js代码,想获取dom结点怎么办
  4. domcontentloaded和onload区别
  5. domcontentloaded 兼容写法
  6. 你有什么想问个人 x4(我:???)

3面 (1个小时20分钟)

聊人生聊将来聊项目聊思想,聊了一个1个小时20分钟,聊得我想吐,要在聊人生中展示出本身的能力,也是绞尽脑汁。



网易

1面 (1小时)

  1. 自我介绍
  2. 页面白屏缘由
  3. 怎么查错,若是有不少人一块儿开发呢
  4. 兼容性,向下兼容和不一样浏览器兼容
  5. 布局
  6. es6
  7. 箭头函数 做用域 还出了几道题
  8. babel原理
  9. vue通讯
  10. vuex
  11. eggjs(项目中用到的)和koa区别
  12. http状态码 301,302区别
  13. url输入到页面显示
  14. 外链css,js和img流程
  15. 怎么学习的
  16. 将来的规划
  17. 评价一下本身
  18. 还有什么想问的

2面 (1个小时)

全是问项目,正好到我强项 面试官也没怼我,个人思考挺全面的,基本上面试官的问题我以前作的时候都有考虑过,要不就是如今就能给出解决方案


3面 hr (45分钟)

压力hr面,面的时候感受在被怼,没谈薪资



小米

1面 (40分钟) 电话

  1. 自我介绍
  2. 介绍http状态码
  3. 304变回200
  4. http和https区别
  5. tcp三次握手
  6. webpack
  7. html5新加的内容
  8. html5的优势和缺点
  9. position的值
  10. transform和position:absolute/relative; left:200px 二者移动元素的差异
  11. let/const/var 区别
  12. es6 class 其余想不起了 问得挺多的,但都是基础

2面 电话

忘了,总之是技术面,很基础

问了算法,一共4个算法,其中1个是检测链表是否有环,1个是链表的环点

3面 hr

好像是hr? 更新这篇文章的时候已通过去好久,忘了



oppo

1面 (30分钟)

  1. 自我介绍
  2. 项目中负责的内容
  3. es6新增内容
  4. polyfill
  5. 性能优化
  6. 移动端自适应
  7. 水平居中
  8. 一行文字超了以省略号表示(我还补充了多行的)
  9. canvas(项目中用上了)
  10. webpack

其余想不起了,总之很简单


2面

  1. 自我介绍

  2. 看你是软件工程的学生,大家学的是什么 答:C++和 JAVA。

    2.1. 那你知道c++的@##@¥怎么%&*¥#吗? 答:不知道

    2.2. 那你说说@#$%^ 答:不知道

    2.3. JAVA中@#¥%&*¥#¥% 答:不知道

  3. 大家学过计网吗,学过。 说一下Tcp3次握手。 Balabala,那你知道在这时候客户端发送#$%^#&*会怎么样吗? 答:不知道

  4. 大家应该有学过软件工程的一些模式吧,好比说瀑布模式,你还知道其余的吗。 思考了一下子,答:忘了。

  5. 那你用JS写代码的时候用过一些设计模式吗。说说看。

  6. 说一下单例模式。

  7. 有哪些方法能够实现单例模式。

  8. 而后开始聊人生了。

二面莫名其妙的竟然就过了?感受30-40%都是回答的不知道或者忘记了


3面 hr

标准hr面



美团

1面 (接近1小时)

  1. 自我介绍
  2. 5道有关this的题
  3. 手写一个find方法,查找对象是否有指定的属性
  4. 计算机网络学过吗
  5. 说一下3次握手
  6. 十万个乱序、有重复的数,找出第K大的数。这里讨论各类算法的时间复杂度讨论得很深。

剩下的想不起了,总之有难度。


2面 (面试时间:???)

  1. 自我介绍
  2. 问了一下项目
  3. 项目中canvas作了啥
  4. get post请求区别。
  5. get请求的数据放在哪,post呢
  6. get为何不安全
  7. XSS是什么(本身挖了坑)
  8. get除了能在url里,还能在哪
  9. 为何要跨域
  10. 同源策略到底保护的是什么
  11. 跨域的方法
  12. 实现一个JSONP
  13. CORS原理
  14. CORS怎么请求。
  15. 为何get是简单请求,post是复杂请求。
  16. get和post的幂等、PUT是幂等吗
  17. 说一下你了解的数据结构。
  18. 说一下这些数据结构的适用场景
  19. 什么场景使用二叉树,为何要创造出二叉树这种数据结构。
  20. 语义化一个表单(应该这个意思吧,没太懂)
  21. table表单存储的究竟是什么数据
  22. table和ul ol本质上区别是什么
  23. 会作游戏吗    不会
  24. 让你实现一个连连看怎么作
  25. 你这个算法最核心的地方具体怎么作
  26. 为何这么多大学生选择程序员这种工资不是最Top,可是又很累的职业
  27. 为何程序员广泛工做时间长
  28. 为何井盖是圆的
  29. 精确估计成都的小汽车数量和出租车数量
  30. 好了,你快走吧。

我:????

最懵逼的一场面试, 一面过去才没多久,还没从一面的难度中缓过来,面经也没写好,二面就来了。本来觉得本身已经够深刻了,没想到竟然还能再深刻, 整个二面基本上都是本身认识被不断击毁,全程懵逼,基本上40%-50%我都在说不知道。


3面

2面才结束不到5分钟,就来通知了,我还觉得通知我凉了,没想到直接让我面3面,一、2面面试官就在后面看着我,我:我为何过了?我是谁?我在哪?我在干什么?

一脸懵逼的坐下去

  1. 自我介绍
  2. JS弱类型
  3. [] + [] 等于什么
  4. [] + ![] 等于什么
  5. [] == ![] 结果?
  6. [] == [] 结果?
  7. 问项目
  8. 聊人生、将来规划
  9. 你有什么想问个人 xn

一脸懵逼的离开

4面 hr 35分钟

标准hr面



腾讯

1面 (大约1小时)

我的感受1面难度高于网易,低于美团

  1. 自我介绍
  2. 你用vue多仍是react多
  3. 说一下vue的diff
  4. 手写一个vue组件,组件传参
  5. 写一个vue的指令,好比本身写出v-on
  6. css3动画
  7. tcp三次握手
  8. 数据是在何时发送的
  9. 第三次握手没收到,服务器端收到了客户端数据会怎样
  10. ajax请求有哪几种状态,具体说一下
  11. 介绍一下csrf
  12. 怎么防护csrf
  13. 301和302区别
  14. 说2个用到301的实际例子(这里我没用到过301,我说我用过307,而后说了307的状况)
  15. 页面渲染有哪几种模式
  16. ie模型和w3c模型的区别
  17. 微信小程序原理
  18. 怎么学习新技术,举个例子(讲了我学vue的过程)
  19. 60%的同窗喜欢篮球,70%喜欢足球,80%喜欢排球,多少同窗既喜欢篮球又喜欢足球

腾讯一轮游



百词斩

1面 (54分钟) (视频)

  1. 自我介绍
  2. 写个冒泡排序
  3. 算法的时间复杂度
  4. JS与其余面向对象语音的区别与优缺点
  5. 原型,原型链,继承
  6. 原型继承的优缺点
  7. 可实现3列布局的方法,我说了4种
  8. 说一下异步
  9. setTimeout
  10. 有关setTimeout的2道题
  11. 写个AJAX
  12. 封装一个AJAX
  13. TCP三次握手
  14. TCP在哪一层
  15. fetch有用过吗,没。。
  16. 数据库的操做
  17. 队列和栈
  18. 实现一个链表
  19. 进程和线程
  20. 操做系统内存调度的解决方法,说了3个
  21. 还有什么想问的

总体来讲1面难度中规中矩,相比其余公司问的更广一点,可是深度没有其余公司深。


2面 (1小时10分钟) 视频

  1. 自我介绍
  2. 大学里面学过哪些课
  3. 搜索树、B树知道吗
  4. hash表的特色
  5. TCP和UDP区别
  6. 怎么选择TCP和UDP
  7. tcp/ip协议族分哪些层,都有些什么协议
  8. 双向绑定
  9. 文件路径问题(没能理解到问的什么)
  10. 手写大数相加
  11. 本身说一下本身研究过的地方,说了性能优化

3面 hr

谈薪资。