面试题集训2
# 淘宝实习
- 说一说你最熟悉的前端方向的技术(CSS,HTML,JavaScript或者框架等)
- 你所做过的项目中遇到过什么困难,怎么解决的
- cookie和localstorage的区别
- localstorage使用的时候有什么注意点
- Vue的双向绑定的实现原理
- 动态给Vue实例增加属性, this.a = 2 a之前未定义,如何监听a的变化
- 在 vue 中根据索引值修改的数据变动的,是否可以检测到,为什么?如果有这样的场景你怎么处理
- Vue中nextTick 的实现原理 与 node 中的 process.nextTick 的区别
- 同时发送四个异步请求,但是需要顺序执行 1 -> 2 -> 3 -> 4 的返回结果, 如果1到了就执行1 ,如果2先到1没到则需要等待1执行完毕
- 如何发送跨域请求,你有几种处理方式
- script标签为什么要放在页面的底部
- 如果script标签放在head标签中,如何让js脚本等待DOM加载完成执行
- 异步加载一段JavaScript代码,如何监听这段代码是否加载完毕
- 不同子域之间如何共享一段js脚本
- 如何在页面上按需加载一个模块,比如点击按钮加载
- 如何在一个宽高不定的元素中设置垂直和水平居中
- 行内元素是否可以设置宽高,是否可以设置内外边距
- 用CSS实现,宽度自适应,高度为宽度的两倍
- 你做过的一个项目,还能有什么优化吗?
# 猿辅导
- vue的生命周期
- vue双向绑定的原理
- vue父子组件通信的方式
- vue eventbus的原理
- 对vuex的理解
- 谈谈对vue和react对比,并从中能学到什么
- vue中可以对对象进行数据监听,如果对于数组中的某个元素能否监听,是如何做到的
- http的头部有什么字段,简要描述(缓存,content-type,cookie等等)
- cookie跨域服务端需要如何适配(CORS头)
- 一个请求跨域是否会抵达服务端
- 对之前的项目做过什么优化,讲一讲
- 对之前的项目遇到过什么难点,讲一讲
- 对http2有哪些了解
- 对canvas有哪些性能上的优化
- 对settimeout和对setinterval的理解(涉及代码题倒计时函数,eventloop的考点)计时是否准确?如何实现较为准确的计时?
- 对一个短时间并发高的场景需要如何处理(后端设计)(开始答题获取试卷的场景)
- 写一个倒计时函数
- 写一个函数,给定一棵树,输出这棵树的深度
- 写一个函数,给定一个url和最大深度maxdeep,输出抓取当前url及其子链接深度范围内的所有图片
- 写一个函数,给定nodes=[],每一个节点拥有id,name,parentid,输出一个属性列表的展示(涉及dom操作)
# 马蜂窝
- vue的生命周期
- 组件A下有子组件B、C,那么3个组件生命周期的调用顺序,同级组件mounted触发一定是先调用先call吗?同步还是异步?
- vue的基本原理
- vue eventbus的实现
- vue父子组件的通信
- vuex的使用
- 对https的理解,对称、非对称加密在哪部使用
- css布局 各种定位的方式
- css实现水平垂直居中
- css实现一个旋转的圆
- cookie 跨域的处理方案
- cookie 种在子域下能否携带发送到服务端(SSO登录)
- 写一个函数,第一次调用返回0,之后每次调用返回比之前大1
- 闭包、作用域的理解
- 用原生xhr发送一个请求
- 跨域请求可以携带cookie吗
- axios与xhr的区别,如何用promise包装xhr
- 讲讲项目中的难点
# 抖音
- vue数据绑定的实现原理
- vue computed具体在什么阶段进行的依赖收集,具体的过程详细描述
- vuex和redux的差别
- 跨域的解决办法
- 原型链的理解,写一个原型继承
- 实现一个sendRequest,有最大请求并发限制
- EventLoop的理解
- 浏览器渲染触发在EventLoop的哪个阶段,触发机制是怎么样的
- https 建立连接的过程及通信 如何劫持,鉴别是否被劫持
- ES module与cjs的区别
- Tree shaking的实现原理
- 给定一个sum 检验一棵树中,是否存在一条路径和为sum,输出该路径
# 快手
- 对vuex源码上如何实现只能mutation更改,而不能直接更改
- vuex中如何在层层都可以引用$store
- vuex和redux的差别
- 笔试题6页
- css优先级关系
- eventloop的先后顺序(node内)
- node中的垃圾收集机制
- BFC,IFC,FFC的区别
- a11y是什么,如何理解
- prototype的考察
- TDZ的考察
- 写一个数组方法,打乱整个数组顺序,并且每个数字落在各个位置的概率相同
- one(add(two())) // 3 two(add(one())) // 3 写出 one() two() add()的实现
- 实现一个catchPromise 发同一个请求缓存data 在实际网络层相同url只会发出一个请求
- 给定 n 个 {x, y, w, h}的盒子 按需排列,左上聚拢(层叠后的max(h)*max(w)最小),求给一个{w,h},输出放置的位置
- 从输入一个url到呈现网页,都有哪些步骤
- http keep—alive都解决了哪些问题 keep-alive是从c - nginx建立的还是直接到服务建立的长连接,与websocket有什么区别与联系
- 给定一个html,输出其中包含的html标签数量,可以用domapi 注意iframe
- 实现一个NumberStack,实现pop,push,max(n)方法,max(n)返回第n大的数,max(n)需要 O(1)的时间复杂度
- 实现一个bind函数
- 跨域的解决办法,jsonp的实现原理
# 高德
- React组件的生命周期
- React父子组件如何通信的
- React层级很深的组件如何通信传值(Context API)
- React做了哪些性能优化 PureComponent的实现原理是什么
- React setState后都会发生什么,是否了解
- React 1000个列表节点渲染,给出一个优化方案
- 是否了解React事件机制,如果让你实现如何来设计
- Redux的原理及理解
- react-redux是如何来实现的,connect是不是一个高阶函数,原理是什么
- react与vue相比,有什么不同
- 对缓存的理解,需要什么设置
- 对代码构建上线流程是否了解,说一下如果让你实现的思路
- 谈谈对webpack的理解,常用哪些plugin,对webpack配置是否了解,对项目打包是否做过什么优化
- ES6常用到哪些,对class的理解,手写一个对继承的实现
- Promise是否了解,如何实现一个promise
- class继承中子类想使用父类的方法,应该用什么方式调用(super的意义)
- 箭头函数与正常函数的区别
- css实现border渐变
- css实现下阴影(气泡类 带箭头的阴影)
- css对flex的理解
- 对浏览器渲染机制的理解(具体到细节,从渲染树到paint之间究竟发生了什么)
- 纯css实现一个高宽比为1:3的盒子 列举几种方式
- 浏览器的架构,bom,dom
# 脉脉
- 简述vue的基本原理
- vue的生命周期
- vue与react的不同
- vue父子通信的方式
- vuex的原理及理解
- vue v-model如何实现的,语法糖实际是什么
- react 生命周期
- react context 的理解
- redux的原理
- react-redux的原理
- 如何避免render的触发
- 说一下react vnode的diff算法
- vnode的引入与直接操作原生dom相比,哪一个相率更高,为什么
- 对缓存的理解
- 对http2的理解
- 对https的理解
- 对原型链的理解,画一个经典的原型连接图
- 对es6了解多少
- 箭头函数与正常函数有哪些区别
- class的实现 用原型写一个继承
- ajax axios fetch的区别
- 如何用promise封装一个ajax
- 项目中的难点和亮点
# 蚂蚁金服
- 从输入URL到页面加载的过程。
- 如果有缓存会怎么样。
- cookie,session,localstorage 区别。
- http、https
- CSS 引入的方式。
- 盒子模型、怪异盒子模型。
- 引起怪异盒模型的原因,Doctype 作用
- 浏览器内核有哪些。
- CSS 预处理,后置处理器
- CSS3 新增的东西 。
- position 的五种属性,默认属性,相对定位,绝对定位区别。
- 前端路由和后端路由的区别。
- 什么是闭包,什么时候使用闭包,闭包会造成什么问题。callback是否为闭包
- 什么情况会造成内存泄露(setTimeout, setInterval),还有呢?
- 原生 ajax 原理,如何缓存。
- 给数组添加元素的方法。
- ES6 新增的数组方法。
- ES6 新增的数据结构,和 object 的区别
- react setState 原理
- 什么是CDN,页面怎么优化
- JSONpatth 了解吗
- 单点登录成熟的方案
- jQuery 的特点,和现代框架的区别。
- 什么事虚拟dom;
- react 事件代理机制
- 在svg中如何嵌入html代码片段
- 讲讲flex布局
- 实现水平垂直居中的方式
- 讲讲浏览器的重绘、重排
- ES6新增的四中集合
上次更新: 2022/04/15, 05:41:34