2021年前端面试题记录

美团

一面:

js: 原生实现深拷贝;基本数据类型有哪些;symbol是什么; let和var区别;变量提升是什么;const a={b:1}, a.b=3;可以修改吗;原生怎么实现ajax;

vue:响应式原理,生命周期,defineProperty与Proxy区别;代码实现一个倒计时组件

css:定位有哪些,设置absolute的元素的,父元素设置什么的时候是,相对于父元素定位;垂直水平居中的几种方式;

其他:cookie和localstorage区别,可以跨域访问cookie吗;跨域的解决方式有哪些;性能优化有哪些

二面:

移动端300毫秒延迟的原因,怎么解决;怎么实现性能好的无尽滚动列表;怎么判断页面滚动到底;手势怎么判断是向上滑还是向下滑;a组件在b系统和c系统引入,分别在b、c中有不同样式,如何实现;{ data:{a:1;b;1;c:{d:1}}},vue中要给a、b、c、d都添加setter、getter吗,给d添加时候有什么条件判断吗;深度优先遍历和广度优先遍历是什么,二叉树是怎么遍历还记得吗;你的优势和劣势分别是什么

京东

一面:(时间久远,有点忘记了)

vue源码、promise、性能优化,webpack打包,vuex

二面:

项目问的多些,碰到什么难解决的问题,如何解决的,图片具体怎么实现base64那一串码

高德

一面:

项目:简单介绍下项目;

vue:diff算法;$set是怎么实现的;在项目中不同页中都通过import引入一个组件,在该组件中申明一个变量a,并进行计算a ;a的值会变吗;

css:一个div标签,宽是500px,里边有两个div,宽为100px和200px;都设置为flex=1;这两个div的宽分别是多少,如果设置max-width:200px,那宽又是多少;

js:promise的静态函数有哪些,什么是静态函数;判断数据类型的方法,for in和for of的区别

好未来

一面:

js:基本数据类型;解释器和执行器是什么;怎么实现一个promise,promise为什么可以支持链式调用;如何随机从1-100内取出10以内的随机数;this指向,箭头函数和普通函数区别

vue:响应式原理,父组件如何监听子组件的生命周期,diff算法,列表设置key的作用,如果key是index会有什么影响,vue通过splice或者push操作数组页面会刷新吗;nextTick是怎么实现的;

其他:服务端返回304代表什么;强缓存和协商缓存的区别;webpack打包配置,tree shaking 指什么;https和http的区别;

大搜车

一面:

js:this指向;实现深拷贝,如何解决循环引用的问题;let和var区别;forEach和for in区别,

vue:diff算法;$set原理;vue路由hash模式和history模式的区别

其他:http-only是什么,cookie可以设置哪些属性;顶级域名和二级域名区别;图片怎么实现懒加载;怎么设置懒加载和预加载;从输入url发生了什么,js、css会阻塞吗;浏览器攻击有哪些

爱学习

一面:

css:怎么实现转盘旋转,让它的速度先快后迅速然后变慢

js:原生实现bind; new关键字做了什么;

算法:var a = {a: {b: {c: 1}, d: [1,2]}, e: 's'} 输出 [{key: 'abc', value: 1}, {key: 'ad', value: [1,2]}, {key: 'e', value: 's'}]

其他:性能优化

途家网

一面:

先在线三道题:

1、实现点击div元素使得该盒子宽度变宽的动画

2、算法:实现输入3输出3;输入12输出2,2,3,输入14输出2,7输入0输出0

3、原生实现table表格按照时间那列排序,如果原来是正序则实现倒序,如果是倒序则实现正序

后电话问答:

小程序的实现 原理,运行环境;vue中watcher是具体做什么,vue中碰到的坑有哪些,图片太大怎么优化,知道断点续传吗

来源:https://www.icode9.com/content-4-847051.html

(0)

相关推荐