前端实习面经(回馈牛客网)

春招结束了,最终收到了心仪的offer,由于楼主比较水所以面试的问题也比较基础,发出来给各位同学做个基础篇参考

美团(上海现场面)

一面

  • 自我介绍

  • 说一下浏览器从输入URL到渲染完页面的整个过程

  • JS如何计算浏览器的渲染时间?

  • 浏览器缓存讲讲

  • var的变量提升的底层原理是什么?

  • event loop讲讲(做了两道题)

  • 闭包原理是什么?(做了一道题)

  • JS的回收机制说一下(计数清除(IE9以前,可能造成内存泄漏),标记清除(V8))

  • 数组常用的方法有哪些?

  • WebSocket的底层原理讲讲

  • 你的聊天室项目,如果数据传输出错怎么办?(后面想了想这里面试官可能想问的是checksum和错误重传机制?当时没想到,说了点UDP的不足和TCP的错误检测)

  • 场景题:

    • Q: 现在有一大段文字,如何在页面中设置一个窗口滚动播出这段文字?
    • A: 用轮播图思想balabala...
    • Q: 那你怎么解决卡顿问题?
    • Q: 之前有写过轮播图demo吗?
  • 垂直水平居中的方式(说知道宽高和不知道宽高的两种情况)

    • 如果宽高不同呢?
    • 如果一个元素不设置width,那他的margin有用吗?
    • 分析一下你说的几个方法(flex grid table-cell margin transform)的兼容性,如果要兼容IE你会选哪个?
  • 实现一个三栏布局,中间自适应你知道几种方法?(float absolute table flex 圣杯)

  • 算法题:给一个无序数字数组,里面是随机的数,并给出一个目标值,求这个数组里的两个数,这两个数的和等于目标值。要求求出这两个数并给出下标,你能想到的最优的办法是什么?(快排 + 双指针)

  • 有什么想问我的吗? (略)

二面

  • 自我介绍

  • 算法题两个:

    • 第一题跟一面的相同,我说之前做过了并且说了思想并纠正了一面的不足
    • 第二题是给一个无序数组,让我分割成m组,这m组里和最大的一组要是所有可能的分割情况里最小的。(二分答案法)
  • 对框架的了解

  • Webpack的原理

  • 原型链

    • __proto__和prototype分别是什么?
    • 原型链原理
    • 在原型链上Object再往上是什么?
    • new和Object.create的区别
    • 哪种情况下__proto__和prototype的指向是同一个?
  • typeof array null undefined NaN分别是什么?

  • 把undefined和null转成Number分别是什么?

  • 如何判断是否为数组?

    • A: instanceOf和constructor可以,但是有原型链断裂的风险,Object.prototype.toString.call()最稳定
    • Q: 原型链断裂了以后结果是什么?
    • A: Obejct
  • 如果让你实现一个Promise你怎么实现?

  • 有什么想问我的? (略)

  • 师兄回来说leader一会想加面一场

HR面

(略)

加面

  • 先看了我的前几次面试评价和写的算法题

  • 怎么学前端的? 看了那些书?

  • 博客写了多少篇?

  • 你的技术亮点在哪?

  • 写一下实现柯里化

  • 你对三大框架的理解是什么?

  • 之前实习做了啥?(主要是前端性能优化)

  • 讲讲前端性能优化

  • Node.js了解多少?

  • 有什么问题想问我?

百度(牛客视频三面,问的比较基础,动手比较多)

一面

  • 自我介绍,学习方法

  • 你遇到的最有难度的技术问题是什么?

  • redux原理讲讲

  • 了解web移动端开发吗?移动端适配方案有哪些?

  • 你有Native开发经验,那讲讲Android如何调用页面资源

  • 行内元素和块级元素有哪些?Img属于什么元素?

  • margin坍塌

  • BFC原理讲讲

  • 写一下清除浮动

  • 写一下不知道宽高元素垂直水平居中写一下,不能用flex

  • 写一下节点增删改

  • 如何获取元素的父节点和兄弟节点,写一下

  • JS如何获得用户来源?(navigator.userAgent)

  • 跨域方法说一下

  • JSONP的原理是什么?除了script标签还可以通过什么标签实现?(静态资源标签)

  • 原型链说一下

  • 写一下原型链继承

  • 你还知道什么继承,写一下(构造函数继承,说了两种方法的优缺点)

  • 缓存讲一讲

  • 你了解的前端性能优化方式有哪些?

  • 给你一个乱序数组,你怎么排序(写了快排)

二面:

  • 你的项目里有什么亮点

  • 你的文件上传方案是什么?

  • 写一个方法提取一下search里的参数

  • 写一个API实现insertAfter

  • CSS3哪些用的比较多?

  • CSS3动画会吗?怎么用CSS3动画实现一个loading效果?

  • 如何处理CSS兼容性问题

  • Webpack有个插件可以解决CSS兼容性问题你知道吗?( postcss-loader)

  • ES6新特性讲讲

  • let和var的区别讲讲

  • 箭头函数和ES5的this指向区别讲讲

  • 前端安全这块了解多少?

三面:

  • 自我介绍

  • 写一个API,实现jQuery的$(selector)选择器,要求兼容IE6

  • 浏览器是如何通过你的代码去找到指定的元素的?

  • 说一下你项目的亮点

  • 现在有没有跟着导师做项目?(说了学校科研训练的一些东西)

  • 写一下用JS模拟一个双向链表

  • 问了问工程化思想

  • 模块化思想

  • 你为什么选择前端

  • 还有什么要跟我说的?

面其他公司被考到的题

  • 说说cookie、session、localStorage、sessionStorage的区别
  • Node.js线程管理
  • 设计模式(需要手写)
  • 跨域的方法有哪些? (说了CORS、jsonp、WebSocket、postMessage、Hash)
  • 说说bind、apply、call的区别以及bind的实现
  • 算法:
    • 反转二叉树以及时间复杂度
    • 链表找环
  • React的Virtual DOM和Diff算法
  • React的生命周期
  • BootStrap底层原理
  • 图片压缩的原理
  • 如何处理高并发情况下,用户顺序问题(如抢购网站如何判定谁先点击)
#实习##面经#
全部评论
nice啊,先收藏!
点赞 回复 分享
发布于 2018-05-15 15:04
感觉问题质量很高啊👍🏻
点赞 回复 分享
发布于 2018-05-15 15:15
美团第一面算法题最优是hash法吧
点赞 回复 分享
发布于 2018-05-15 15:41
leetcode里的two sum是不是这都题呢 你看看
点赞 回复 分享
发布于 2018-05-15 16:51
赞,多谢分享~~
点赞 回复 分享
发布于 2018-05-15 16:52
楼主您好,我想问一下JS如何计算浏览器的渲染时间?这个怎么算呢?
点赞 回复 分享
发布于 2018-05-25 19:40
收藏一波,以后看
点赞 回复 分享
发布于 2018-05-25 20:55
很棒
点赞 回复 分享
发布于 2018-05-26 00:50

相关推荐

点赞 评论 收藏
分享
11 142 评论
分享
牛客网
牛客企业服务