⼤⼚⾯试真题集合
滴滴⾯试题
1.说⼀下js的数据类型,如何判断数据类型
2.如何判断⼀个对象是否属于某个类
3.说⼀下防抖函数的应⽤场景,并简单说下实现⽅式
4.new Promise构造函数的⼊参是什么?你在什么场景下会使⽤promise
5.vue的设计核⼼思想是什么
6.说下vue的双向数据绑定的实现原理
7.APP内嵌H5⻚⾯如何和APP本⾝进⾏通信
8.微信⼩程序和传统h5⻚⾯相⽐哪个性能更好⼀些,为什么
9.H5的开发和PC端的开发有什么本质的不同
10.如何针对H5⻚⾯进⾏远程调试?
11.如何进⾏⼿机的⻚⾯或者应⽤的抓包
12.已知公司附近有两个加油站,和⼀条主⼲道,要求在24⼩时内尽可能准确的统计全市有多少台⻋,
说出你的思路
⼩⽶⾯试题
⼀⾯(技术⾯)
基本围绕简历聊,印象⽐较深的有⼏个问题
1.vue的源码是否看过,说⼀下⽐较有收获的⼏个点
2.说⼀下css的三⼤特性并展开说⼀下应⽤场景
3.说⼀下CSS七层层叠顺序
4.说⼀下从浏览器输⼊⽹址到⻚⾯渲染中间发⽣了什么
5.说下你知道的HTTP状态码并说出它们的出现场景
⼆⾯(技术⾯)
主要聊项⽬,技术聊的⽐较少,说⼀下印象深的问题
1.如何实现⼀个简单的单点登录
2.说⼀下关系数据库和⾮关系数据库的区别,并说下使⽤场景
3.说⼀下关系数据库外键的使⽤
三⾯(技术⾯)
有印象的问题
1.⼿写翻转⼆叉树
2.说下归并排序的思路和应⽤场景
3.说下你知道的设计模式及应⽤场景
4.说⼀下从浏览器输⼊⽹址到⻚⾯渲染中间发⽣了什么
5.如何⽤缓存进⾏前端优化;说下浏览器缓存、DNS缓存、nginx缓存、服务端缓存的区别;强缓存和
协商缓存的应⽤
四⾯(技术⾯)
项⽬经历为主,以及管理⽅⾯的问题,技术⽅⾯没聊,有印象的问题
1.如何确保项⽬按时交付
2.如何安排开发和管理的时间分配
3.如何体现项⽬价值
五⾯(技术加⾯)
感觉是专⻔准备了⼀些有深度的问题来问,有印象的有
1.如何进⾏前端性能优化
2.说说重绘、重排、回流
3.如何开启GPU加速,GPU加速的作⽤是什么
4.是否了解浏览器内核相关技术
5.说⼀下jsbridge是如何实现的
6.说⼀下V8的垃圾回收机制
7.说⼀下VUE3.0⽐VUE2.0做了哪些改动
跟谁学
1.为什么选择react/vue 及⼆者差别
2.webpack常⽤配置项
3.webpack css-loader 的作⽤ commonChunk/splitChunk作⽤点 区别
4.commonjs esmodule的区别
5.webpack dll优化效果
6.react-router实现原理 hash/history 如何跳转不刷新 ngnix如何配置跨域
7.purecomponent优势
8.express/koa区别
9 闭包实现加法器
腾讯视频
1.团队leader要承担的事情
2.构建流程/cli/⼯作流/git 的⼯作
3.vue响应式实现$nexttick实现
4.react setState 实现
5.http2.0的优势
B站上海总部
1.debonce 实现
2.⼀段同时有 setTimeout,async await,Promise 的代码的嵌套,分析执⾏顺序
3.react fiber算法原理及实现
4.react ⼦组件与⽗组件如何通信
5.react 怎么根据 state 和 props 的变化去更新 dom 树的
阿⾥的⾯试(本地⽣活,阿⾥体育)
1.z-index的层级关系及css中的层叠上下⽂
2.尽量多的⽔平垂直居中,分是否已知道⽗⼦dom宽⾼的情况
3.如何触发BFC,以及⽤法和IFC区别
4.简单介绍下box-sizing属性
5.css优先级如何计算
6.top、left是相对于padding还是border
7.flex布局的使⽤及在平时中哪些时候会⽤到
8.display:none和visibility:hidden的区别
9.清除浮动的⽅法
10.::before和:after中双冒号和单冒号有什么区别
11.1像素边框在移动端的实现
12.rem和em区别及使⽤⽅法
13.CSS中哪些属性可以继承?
14.CSS3动画的实现步骤
完美世界⾯试(2020/08 成都)
⼀⾯
1.你项⽬中遇⻅的难点与解决⽅案
2.说⼀说事件循环(然后说了⼀道简单的事件循环题⽬)
3.vue 响应式原理
4.object.defineproperty 和 proxy 的区别
5.vuex 中的 mutations 和 actions 的区别
6.举了个例⼦,主要是想要问 keep-alive 和 actived
7.vue 中跨组件通信的实现⽅案
8.vue 中事件总线的实现(发布订阅模式)
9.题⽬:两个玻璃⼩球,从⼀到⼀百层中间的某⼀层落下会碎,不考虑⼩球的磨损情况,⽐如说⼀层
落下不会碎,⼩球不会受到任何伤害,如何最快找出⼩球破碎的最低层
10.扩展,有很多的⼩球,题⽬类似,然后把⼀到⼀百层放到⼀个数组中,数组是乱序,如果最快找出
破碎的最低层
⼆⾯
1.⾸屏⽩屏的优化⽅案
2.瀑布屏如何实现,以及如何优化
3.当⻚⾯数据⾮常多,⽐如⼀直上拉加载,加载了很多的数据,⻚⾯性能会变差,如何优化
4.题⽬:⼀个函数,没有⼊参,如何实现每次调⽤返回1到200中的任意⼀个数,且每次返回的数不重
复,如果1到200都被返回过了,就不在返回任何数字
三⾯
1.你在项⽬中的任务是什么
2.项⽬中最难的⼀个功能模块是什么,以及如何实现的
3.百度⽹盘的下载功能如何实现,浏览器环境,不使⽤浏览器⾃带的下载功能,可以暂停,可以继续
4.⼀到⾮常简单的题⽬:
给定⼀个整数 N,写⼀个程序判断是否存在 2 个整数 a、b(a < b),使得 a^2 + b^2 = N,如果存在
返回所有的结果
⼩猪、汽⻋之家、新东⽅、美图等公司
1、Js运⾏机制
2、浏览器渲染机制
3、强缓存和协商缓存
4、还有es6的新⽅法
5、promise.all 使⽤,特点,发⽣错误如何不影响后续异步任务执⾏
6、原型、原型连
7、判断数据类型的⽅式
8、react⽣命周期
9、项⽬中令⾃⼰印象深刻的地⽅
10、es5继承
11、typeScript的泛型
12、深拷⻉和浅拷⻉
13、vue虚拟dom和diff算法
14、vuex的使⽤
15、vue双向绑定原理
16、vue 两种路由的区别
17、dom事件流
18、盒模型
19、webpack优化
20、移动端兼容
21、⼀个新项⽬过来是怎么分配任务的
22、怎么从零创建⼀个项⽬
23、react hooks
24、介绍⾃⼰认为做过最好的项⽬
25、项⽬中是怎么协同开发的,⾃⼰的⻆⾊定位是怎样的
京东
Keep-alive的⽤法
静态资源单独域名的好处
纯H5的优化⽅案
H5⽤什么css单位,如何解决不同分辨率的问题
EventLoop
深拷⻉
节流与防抖
如何写⼀个loader
如何优化⼤量图⽚的请求
JsonP的原理
Http缓存⽅⾯的问题
设计模式
Es6 7都⽤过那些api
Aysn await的⽤法
移动端的多倍图⽚的⽤法(1 1.5 2 )
跨域解决⽅案
组件通信的知识,eventBUS
jQuery:绑定事件与事件委托
路由权限解决⽅案
字节跳动
1. 浏览器有啥效果
JavaScript
function demo() {
const now = Date.now();
document.body.style.backgroundColor = 'red';
while(Date.now() - now <= 2000) {
continue;
}
document.body.style.backgroundColor = 'blue';
}
1
2
3
4
5
6
7
8
2.⽤这个接⼝写⼀个⽅法,能计算任意个数的和。
JavaScript
1 function addAsync(a: string, b: string): Promise<string>
3. requestAnimationFrame与setTimeout 区别
4. 0.1 + 0.2
5、打印情况
JavaScript
for (var a = 0; a < 200; a++) {
setTimeout(function () {
console.log(a)
}, 1000)
}
1
2
3
4
5
JavaScript
for (var i=0; i<10; i){
(i → {
setTimeout(()→{
console.log(i)},1000 )
})(i)
}
1
2
3
4
5
6
6、需求:扫码登录,陈述⼀下技术设计
7、如何实现刮刮乐效果,判断 80%被刮开
8、进程和线程的区别,Chrome 中有哪些常⻅进程,如果我有⼀个耗时很⻓的同步计算任务,如何让
JS 代码达到多线程并发执⾏的效果?
9、给定⼀个字符串如下,请统计字符串中出现最多的字⺟和次数
10、cookie,same-site 配置,cookie 跨域解决⽅案,为什么 chrome 会有 samesite 限制?
11、xss 攻击(跨站脚本攻击),如何避免?
12、vue-router 实现原理。如何实现:A ⻚⾯到 B ⻚⾯到 C ⻚⾯,回退到 A ⻚⾯?
13、es5、es6,this 指向。
14、CSS字体根据字数⾃适应
阿⾥巴巴前端 ⾯试经验
阿⾥关注的点:基础要扎实,知识点要够深⼊,⼀知半解的最好不要回答;框架的理解不要只停留在
会⽤,⽽要能够知道原理;有主动学习的能⼒,能够发现并解决问题,有⾃⼰的思考,关注业界动态
⼀⾯
1、⾸先是⼀段准备好的⾃我介绍,介绍了⾃⼰熟悉的技术栈等;
2、然后直奔主题,介绍⼀下vue和react都有的虚拟dom机制。
3、然后⾯试官⼜问那么虚拟dom在js⾥是个什么东西,不可能凭空出来的吧。(其实就是⼀个js对
象)
4、vue、react与jQuery相⽐有什么优缺点。
5、常⽤的ES6语法与原⽣JS。我就提到了let、const、箭头函数、promise、for of等等,然后⾯试官
通过const来考了对象的引⽤,出了两个场景题来考箭头函数和function的区别,⼜衍⽣到call、
apply、bind三者的问题。
6、移动端布局⽅案。考察在移动端上的css适配⽅案。
7、移动端场景题:⼀个未知宽⾼的⽗div⾥有两个⼦div,他们宽度⼀个是40%另⼀个是60并且并列
着,并列⽅式不⽤关⼼。现给两个⼦div加⼀个1px的border,第⼆个盒⼦就会被挤下去,求⼏种解决
⽅案。
8、最后问我有什么想问的吗?
⼆⾯
1.介绍印象最深刻的项⽬,考察对项⽬流程的熟悉度,具体讲下我负责的和我做出的贡献,还有学习
到的东西,包括对研发流程和开发部署的思考。
2、你为什么没有使⽤react?
3、双⼗⼀淘宝⾸⻚的前端处理
4.对mongodb集群的认识
5、最后给了⼀道深度优先搜索的题,45分钟做完,要求不允许⽤递归,最后使⽤栈的⽅法加while循
环做了出来。
电话⾯
1、简单⾃我介绍, 做过哪些项⽬, 使⽤哪些技术栈 ?
2、如何看待前端框架选型 ?
3、vue的如何实现双向绑定的 ?
4、react 虚拟DOM 是什么? 如何实现? 说⼀下diff算法 ?
5、⼯作中最出⾊的点, 和你最头疼的问题 如何解决的 ?
6、平时如何学习, 最近接触了解了哪些新的知识 ?
技术⼀⾯
1、简单⾃我介绍, 介绍⼀下你的项⽬, 技术栈 ?
2、react和vue的⽐较 ?
3、React Diff 算法 ?
4、观察者模式实现 ?
5、http报⽂头部有哪些字段? 有什么意义 ?
6、移动端⾼清⽅案如何解决 ?
7、webpack的原理, loader 和 plugin 是⼲什么的? 有⾃⼰⼿写过么 ?
8、简述从⽹⻚输⼊url到⽹⻚展⽰的过程发⽣了哪些事情 ?
9、SSR 和 客⼾端渲染有什么区别 , vue是如何实现绑定事件的 ?
10、简述公司node架构中容灾的实现 ?
11、浏览器事件有哪些过程? 为什么⼀般在冒泡阶段, ⽽不是在捕获阶段注册监听? addEventListener
参数分别是什么 ?
12、⾯向对象如何实现? 需要复⽤的变量 怎么处理 ?
13、移动端300ms延时的原因? 如何处理?
14、主流框架的数据单向/双向绑定实现原理 ?
15、⼿撕代码。可以去看看:NC76 ⽤两个栈实现队列
16、简述转⾏经历, 如何学习 ?
17、你觉得⾃⼰在前端⼯作的最⼤的优点是什么 拿实际⼯作的内容举例?
技术⼆⾯
1、简述项⽬,React vue区别 virsualDOM实现
2、DIFF算法为什么是O(n)复杂度⽽不是O(n^3)
3、http code码?
4、移动端rem布局如何实现? 简述原理?
5、JSbridge原理, js和native是如何通信的?
6、Rollup和webpack区别, treeshaking是什么?
7、TCP三次握⼿的过程, get post请求的区别 ?
8、静态⽂件的浏览器缓存如何实现?
9、前端跨域⽅案
10、http 请求包含哪些字段 分别是什么意思
11、js 有哪些数据类型 如何判断? null 和 undefined区别 应⽤场景?
12、new String('a') 和 'a' 是⼀样的么?
13、移动端如何实现下拉到底部 跟随移动 结束后回弹的动画?
14、移动端如何优化⾸⻚⽩屏时间过⻓ ?
15、ES6 generator函数简述
16、数组去重实现?
17、js浮点数运算不精确 如何解决?
18、⼯作中最得意和出⾊的点, 头疼的点, 问题如何解决的
19、为何换⼯作?
技术三⾯
1、公司的前端⼯程化实践
2、如何前端的, 学习途径有没有⼀些⾃⼰的代码
3、DOM基础知识,添加元素,删除元素等等...
4、DOM节点类型
5、正则表达式如何匹配⼀段url ?在正则表达式中有哪⼏种作⽤?
6、移动端优化⽅式? 离线包是如何实现的?
7、最后聊了⼀下项⽬,聊了⼀下⽬前公司
躺平设计家(阿⾥收购了)
1.http2 和1 的区别---这个是leader问的
2.跨域解决⽅案
3.浏览器为什么要阻⽌跨域?
4.xss攻击如何避免
5.如何优化⾸屏时间?(主要是我简历上写了)
除了SSR部署,还有什么别的解决⽅案?
6.SEO相关的,像是,rem适配⼿机端样式,对SEO有什么影响?
7.然后问了些项⽬相关的,什么在项⽬中担任什么⻆⾊,遇到什么问题,怎么解决的
8.技术⾯问了后⾯的职业规划,以及为啥这样规划
9.然后还问node
算法题
算法题:
有个⼀个数组,⽐如[1,4,3,6,2,0,3]
可以往后⾛的步数为当前位置的值
⽐如,在arr[0],只能⾛到arr[1]的位置
在arr[1],可以⾛到arr[2],arr[3],arr[4],arr[5],
只能往前⾛,不能往回退,
求能不能⾛到最后
美团Saas⸺⾼级前端开发⼯程师
⼀⾯
微前端的意义在哪⾥
为什么是微前端⽽不是iframe
React的执⾏流程的怎样的,⽣命周期有哪些?
React的key的作⽤是什么
Webpack的热更新机制是什么
算法题:两数之和:https://leetcode-cn.com/problems/two-sum/,需要O(n)的时间复杂度
算法题:冒泡排序,以及它的优化策略(每⼀次冒泡的范围⽐上⼀次少1,需要加⼀个flag来判断是否
发⽣了冒泡)
OSI七层模型是什么,介绍⼀下TCP、UDP,为什么TCP需要三次握⼿和四次挥⼿:
https://mp.weixin.qq.com/s/ADK7naD9NQ5LDuwA1esALQ
什么是预检请求?
什么是闭包?
什么是作⽤域链?
什么是事件循环?
⼆⾯
介绍⼀下微前端的沙箱机制
既然微前端解决了不同⼦应⽤间的数据共享问题,那⽤localstorage可不可以做到?
既然微前端解决了不同⼦应⽤间的权限信息恭喜问题,那⽤单点登录是不是能做到?
微前端的优势究竟是什么?
⼤学学了那些专业课?能否简单介绍⼀下?
有哪些数据结构?能否分别介绍⼀下。
有哪些前端性能优化策略?
有哪些性能指标?
算法题:输出⼀个⼆叉树每层的节点
以后想从事什么岗位?
为什么要那么⾼的⼯资,理由是什么?
七⽜云 · 前端开发⼯程师
⼀⾯
1. 说出你知道的所有的 HTTP 协议的状态码;
2. 浏览器缓存机制、强缓存、协商缓存等;
3. Promise 有⼏种状态;
4. Promise 有什么优缺点;
5. 为什么要使⽤ redux 进⾏状态管理,你在哪些业务中使⽤了 redux ;
6. 不使⽤状态管理的话,还可以通过什么⽅式去实现组件的状态共享;
7. Context 及 use Context 的使⽤;
8. react 中你⽤过哪些 hooks ;
9. useEffect 有哪些参数,如何使⽤ useEffect 去实现类组件的部分⽣命周期⽅法;
10. Hooks 执⾏顺序问题(不要在条件语句⾥使⽤ hooks );
11. webpack 你⽤过哪些插件,介绍⼀下各个插件;
12. 编程题:
编写⼀个函数,将给定数组中的对象 [{ a: 1 }, { b: 2 }, .... 合并成 { a: 1,
b: 2, ... } ;
a.
b. 能不能⽤⼀些原⽣的⽅法去实现呢?
13. 编程题:
实现函数 removeElement( arr, target ) 将数组 arr 中的 target 元素全部移
除;
a.
b. 要求使⽤原地算法;
⼆⾯
14. 主要是业务⾯试相关问题:
a. 你在开发中遇到了哪些问题,你是怎么查找原因的,最后⽤了什么⽅式去解决的;
b. 涉及了 webpack 打包效率提升、打包结果优化等;
15. 再就是对前端⾏业的⼀些看法,为啥选择做前端等问题;
16. 编程题:
a. 给定数组 arr = [ [ 2, 6, -1 ], [ 1, 5 ], [ 7, 7, [ 2, 3 ] ] ] ;
b. 调⽤ sum(arr) 返回结果为 32 ,即将给定数组完全拍扁平并求和;
c. 请实现该 sum() 函数;
17. 编程题:
a. 已提供⼀个⽅法 function add(a, b, callback) {} ,该⽅法接收三个参数;
b. 第三个参数 callback 中传⼊的回调函数可以拿到前两个参数 a 和 b 的和;
即 add(3, 5, (result) => { console.log(result) }) 最终会在控制台输出 8
;
c.
并不是要求你实现 add ⽅法,要求调⽤ sum(1, 2, 3, 4).then(result => {
console.log(result) }) 最终在控制台打印 1 + 2 + 3 + 4 的结果,即打印 10
;
d.
e. 限制条件:
i. add 始终都只能计算两个数的和,并作为第三个参数回调函数的参数;
ii. sum ⽅法参数接收到的参数个数是不固定的;
iii. sum ⽅法的⽅法体内必须使⽤前⾯提供的 add ⽅法来实现求和;
sum ⽅法最终会返回⼀个 Promise 对象,最终要在返回的这个 Promise 的 then
⽅法的 resolve 回调中接收到计算结果;
iv.
三⾯
18. 为什么从上家公司离职;
19. 为什么选择前端技术栈;
20. 对将来职业发展的规划;
21. 假如我是⼀个还在⽤ jQuery + Bootstrap 的开发⼈员,你觉得你会怎么来说服我使⽤ React;
你离开上家公司之后,你所做的项⽬中,你觉得还有哪些东西是你想完善但是没有完善的,从项
⽬整体优化⻆度来说,不要从具体的需求有哪些没做完来说;
22.
23. 你有什么问题想问我的吗;
四⾯
24. 为什么离职?(这点会问的⾮常细)
25. 在上家公司的⽇常开发流程;
26. 个⼈基本情况;
27. 未来的职业规划;
百度
百度电话⾯试(PS :问题顺序不代表真正的⾯试顺序)
1,介绍⾃⼰⼯作经历
2,介绍vue的实现原理,这⾥⾯试官想问vue2.0和vue3.0来着,
3,介绍下object.defineProperty,
4,vue⽣命周期:⾯试官想的是从项⽬周期开始说起
5,keep-alive
6,created与mouted哪个⾥⾯向server端发送请求好,为啥。这⾥涉及到渲染真实dom。
7,组件通信有哪些⽅式,组件继承怎么做,⾃⼰封装⼀个组件(vue和react都问了,我混乱了)
8,redux与vuex实现原理(平时还知道些,结果⼜混乱了。)
9,深浅拷⻉以及简单数据类型复杂数据类型,赋值操作与传值操作的区别
10,eventloop,我讲得不太好。⾯试官问浏览器环境以及node环境
11,宏任务与微任务,以及先后执⾏顺序
⼤⼚⾯试真题集合
最新推荐文章于 2022-07-18 10:22:05 发布