前端面试经历(字节、滴滴、虎牙),讲真的还挺难,前端大厂面试题总汇得看看

503 阅读10分钟

小编整理最近了小伙伴中具有代表性的面试经历及面试题,他们的情况小编就不多说了,一起看看他们面试中都遇到了什么问题。

字节

一面 刚开始就问我的项目,问的很详细。

webpack 提高构建速度的方式

loader 输入什么产出什么 ?

webpack 原理

webpack 动态加载的原理

webpack 热更新

如何写一个 webpack plugin

AST 的应用

如何解析一个 html 文本,还是考 AST

babel 原理,怎么写 babel 插件

如何设计一个沙盒 sandbox ?

小程序的 API 做了什么处理,能够做到全局变量的隐藏,如果是你,怎么设计 ?

实现颜色转换 ‘rgb(255, 255, 255)’ -> ‘#FFFFFF’ 的多种思路。

提供一个数字 n,生成一组 0~n-1 的整数,打乱顺序组成数组,打乱几次,如何能够看起来平衡,说出你能想到的所 有方法。

二面

业务,业务,还是业务,项目复盘有没有更好的解决方案。

如何处理一个重大事故 bug

监控体系

虚拟 dom 有什么好的地方? 框架为什么要设计虚拟 dom?

webpack 的缺点,让你设计一个新的构建打包工具,你会怎么设计?

在线文档编辑,如何处理两人的冲突,如何展示,考虑各种场景

excel 文档冲突高级处理,文章冲突呢?是上个问题的深化。

三面

算法题:从数组 [1, 5, 8, 10, 12] 中找到两个数和为 9,返回 [1, 8] 这样的结果。

算法题:从数组 [1, 5, 8, 10, 12] 中找到三个数和为 19,返回 [1, 8, 10] 这样的结果。

算法题:给定一个无序的整数数组,找到其中最长上升子序列的长度。

滴滴

一面

webpack 原理

babel 原理

虚拟 DOM 的理解

项目里如何做的性能优化

写过webpack loader 或者插件吗

讲讲你写的 babel 插件 ** 二面**

redux 的原理

redux 做状态管理和发布订阅模式有什么区别

react-redux 的原理,是怎么跟 react 关联起来的

了解多端的原理吗?

http 与 tcp 的关系

tcp 可以建立多个连接吗?

介绍一下为什么要有 三次握手,四次挥手

写过 babel 插件吗?用来干啥的?怎么写的 babel 插件

知道怎么转化成 AST 的吗?

研究过 React 的运行时吗?

职业规划。

三面

项目介绍

说一下你的项目有哪些复杂的点,以及怎么解决的

你们的业务组件库有多少个,是什么样的组件

权限组件是怎么设计的

会node 吗?

介绍一下你对中间件的理解

怎么保证后端服务稳定性,怎么做容灾

怎么让数据库查询更快

数据库是用的什么?

为什么用 mysql

希望滴滴能提供给你什么?

四面

介绍一下项目的难点以及怎么解决的

自己有什么技术上的优势

最近在研究什么技术?

职业规划

移动端的业务有做过吗?

当业务重的时候怎么安排时间?

虎牙

一面

db42a3a24ab8ceb46ddf9a352100900f.png http 的 get 和 post 区别

缓存策略

https 的握手过程

http2 的特点

weak-Set、weak-Map 和 Set、Map 区别

mvvm 模型和 mvc 模型区别

如何实现一个 mvvm 模型

为何你用 mobx 重构了 saga,说说两者之间的区别

说说 vnode 的了解

讲讲 webpack 的性能优化

有写过 plugin

了解 webpack-dev-server 的 HMR 实现原理吗

手写一下防抖和节流

二面

你做过直播,能介绍一下 webRTC 或者现在使用直播方案吗

编码方面有了解过吗,能解释一下码率吗

编码方面有了解过吗,能解释一下码率吗

RGB 和 YUV 区别

有了解过哪些直播协议

flv 和 mp4 区别有了解过吗

MediaSource 规范有了解过

三面

webSocket 和 ajax 的区别

xss、csrf 有了解过吗,如何防范

有了解过 React 的 fiber

能简单介绍一下 react 执行过程吗

能介绍一下 hook 吗

情景题,做一个直播弹幕

小编最近整理了一次大厂面试题,包括:HTML和CSS、HTML5和CSS3、JS基础、Ajax、流行框架、十、Node.Js、前端 概括性问题等。想看完整版的前端大厂面试题汇总(1)的小伙伴直接点击这领取啦

一、HTML和CSS

你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?

每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?

Quirks模式是什么?它和Standards模式有什么区别

div+css的布局较table布局有什么优点?

img的alt与title有何异同? strong与em的异同?

你能描述一下渐进增强和优雅降级之间的不同吗?

为什么利用多个域名来存储网站资源会更有效?

请谈一下你对网页标准和标准制定机构重要性的理解。

请描述一下cookies,sessionStorage和localStorage的区别?

简述一下src与href的区别。

知道的网页制作会用到的图片格式有哪些?

知道什么是微格式吗?谈谈理解。在前端构建中应该考虑微格式吗?

在css/js代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次js请求一般情况下有

一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的

你如何理解HTML结构的语义化?

谈谈以前端角度出发做好SEO需要考虑什么?

有哪项方式可以对一个DOM设置它的CSS样式?

CSS都有哪些选择器?

CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?

超链接访问过后hover样式就不出现的问题是什么?如何解决?

什么是Css Hack?ie6,7,8的hack分别是什么?

请用Css写一个简单的幻灯片效果页面

行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?

什么是外边距重叠?重叠的结果是什么?

670287240cd746a67b9910c51bfb6ce6.png 二、JS基础

javascript的typeof返回哪些数据类型

例举3种强制类型转换和2种隐式类型转换?

split() join() 的区别

数组方法pop() push() unshift() shift()

事件绑定和普通事件有什么区别

IE和DOM事件流的区别

call和apply的区别

b继承a的方法

JavaScript this指针、闭包、作用域

如何阻止事件冒泡和默认事件

””和“=”的不同

JavaScript的数据类型都有什么?

看下列代码输出为何?解释原因。

foo = foo||bar ,这行代码是什么意思?为什么要这样写?

完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。

完成函数showImg(),要求能够动态根据下拉列表的选项变化,更新图片的显示

阻止冒泡函数

输出多少?

精度问题: JS 精度不能精确到 0.1 所以 。。。。同时存在于值和差值中

输出结果

以下代码中end字符串什么时候输出

请用原生js实现jquery的get\post功能,以及跨域情况下

请简要描述web前端性能需要考虑哪方面,你的优化思路是什么?

db42a3a24ab8ceb46ddf9a352100900f.png

三、HTML5 CSS3

CSS3有那些新特性

html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HT

本地存储(Local Storage )和cookies(储存在用户本地终端上的数据)之间的区别

如何实现浏览器内多个标签页之间的通信?

你如何对网站的文件和资源进行优化?

什么是响应式设计?

新的 HTML5 文档类型和字符集是?

HTML5 Canvas 元素有什么用?

HTML5 存储类型有什么区别?

用H5+CSS3解决下导航栏最后一项掉下来的问题

CSS3新增伪类有那些?

请用CSS实现:一个矩形内容,有投影,有圆角,hover状态慢慢变透明。

描述下CSS3里实现元素动画的方法

html5\CSS3有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?

你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 一个满屏 品 字布局 如何设计?

faf37f6dcf3d283f5b518693b1c303d7.png 四、Ajax

Ajax 是什么? 如何创建一个Ajax?

同步和异步的区别?

如何解决跨域问题?

页面编码和被请求的资源编码如果不一致如何处理?

简述ajax 的过程。

阐述一下异步加载。

请解释一下 JavaScript 的同源策略。

GET和POST的区别,何时使用POST?

ajax 是什么?ajax 的交互模型?同步和异步的区别?如何解决跨域问题?

Ajax的最大的特点是什么。

ajax的缺点

ajax请求的时候get 和post方式的区别

解释jsonp的原理,以及为什么不是真正的ajax

什么是Ajax和JSON,它们的优缺点。

1fd093aa97942e2294e7d564fa0979be.png

五、前端概括性问题

常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?

对BFC规范的理解?

WEB应用从服务器主动推送Data到客户端有那些方式?

平时如何管理你的项目,如何设计突发大规模并发架构?

那些操作会造成内存泄漏?

谈谈你认为怎样做能使项目做的更好?

php中rmdir可以直接删除文件夹吗?该目录必须是空的,而且要有相应的权限–来自api

phpinset和empty的区别,举例说明

php中$_SERVER变量中如何得到当前执行脚本路劲

写一个php函数,要求两个日期字符串的天数差,如2012-02-05~2012-03-06的日

如何优化网页加载速度?

96688fe991fe28b021e7f646b0fa09f8.png 由于篇幅原因列举的内容不多 [需要完整版前端大厂面试汇总(1)的小伙伴们直接点击这领取,:jq.qq.com/?_wv=1027&k…]

祝大家顺风顺水顺财神!

结束语

无论做什么,不止前端,都应该要有自己的想法和思考,这样子才能把事情做好,做得更深。否则这就像一场梦,醒来还是很感动。希望各位读者,看上面的题目并不是背答案,而是理解它,并能活用,以后做类似的事情,有参考的思路。如果遇到和我同一个面试官,题目当然是不完全一样的,此时需要临场发挥自己的积累和灵活运用了。

最后再补充一点,如果你见过了普遍情况,了解到了普遍现象,那要是什么都和人家一样,最后不就是也成为普遍水平了吗?如果想脱离当前现状,实现突破,那么目标应该是成为有个性、有特色的、有区分度的人,成为一名不一样的前端,不一样的人。