二月前端实战面试

作者从事前端一年半
基础的我就不讲了,我讲一些回答的不是很好的
腾讯
一面

webpack的劣势在哪里
技术选型上为什么选择vue,vue有哪些缺陷
是如何进行code review的,这里讲了持续化集成
js的基础类型(这个脑子短路了,给忘了)
webpack针对模块化做的处理
是如何保证组件库的质量的

一面

了解websocket吗,websocket是如何进行握手的
生产消费者模式
线程和进程
如何批量抓取文章
如何处理ios键盘挡住屏幕,ios输入的时候光标定位错乱
virtual dom的优势在哪儿
了解xpath吗
客户端和fe是如何通信的,客户端是如何操作fe的代码的
性能优化能从哪些方面入手
前端如何实现图片剪裁

腾讯一轮游,面的怀疑人生
头条

如何批量引入组件,require.context
组件之间如何通信
问了监控系统,如何计算白屏时间和首屏渲染时间的,如何进行数据上报的,上报到监控系统展示是怎样的一个过程
问了一个 l i s t e n e r listener和 attr,但是我当初没有get到面试官的点
谈谈pwa
vuex的工作流(工作流是什么?)
知道function component吗
如何选择图片格式,例如png,webp

算法题
有一个数组和一个值,需要求大于等于该值的最小长度,例如[2, 3, 4, 7]和5,那么最小就是1,因为7大于5 如果数字是8,那么最小就是2, 因为4 + 7大于8
第二道算法题
有序数组中小于某个数的个数,例如
[1, 2, 3, 4]
2
// 1
复制代码快手

如何对请求进行缓存,例如有10个异步请求,如果有一个异步请求返回结果剩下的请求就用这个结果,并且能过传入成功和失败的回调函数
实现(10).add(10).add(10)
有这个一个情况,代码如下:

function Person() {}
const person = new Person();
复制代码person的原型上有Funciton吗
4. vue文件中为什么需要一个根元素
百词斩

vue hooks的使用
cdn的原理
白屏时间和首屏时间的计算
性能监控平台是如何捕获错误的
平时遇到有哪些兼容性的问题
leetcode峰值的问题
vue中key的作用
代码题

let arr = [1, 2, 3];
let fnArray = [];
for (var i = 0; i < arr.length; i++) {
fnArray[i] = function () {
return arr[i] * 2;
}
}
let result = fnArray.find((fn) => {
return fn() === 4;
})
console.log(result);
复制代码算法题
实现一个栈,具有push和pop方法,还有获取他的最小值,复杂度是O(1)
其他公司
我也没投几家公司,这里记录一下其他公司的面试问题

你们对组件库做了哪些优化
组件库的样式自定义是如何实现的
tcp的滑动窗口
前端如何做权限控制
HMR的原理
如果页面出现白屏,如何排查

算法
rightView
有一棵树从右边看他,并输出结果,例如
1
2 4
5 3
复制代码上面输出的树就是[1, 4, 3]
我总结了一下,面试中出现频率最高的是,排名分前后:

宏任务和微任务
浏览器缓存
bfc
computed和watch的差异

http://www.kuyibu.com/product/84376609.html
http://www.kuyibu.com/product/84376608.html
http://www.kuyibu.com/product/84376606.html
http://www.kuyibu.com/product/84376604.html
http://www.kuyibu.com/product/84376599.html

我觉得我面的最好的是百度,结果百度一轮游,说我不匹配(呜呜呜~~~)
面试这么多公司也总结出一些经验: 面试忌讳的就是一定不要说自己不熟悉的东西,如果不熟悉连提都不要提,在自我介绍的时候一定要把自己的优势介绍出来,让这场面试问的都是和你熟悉的相关的东西。我觉得面试其实是你和面试官互相试探的过程,面试官不知道你擅长什么,所以他需要不断探索你会的地方,所以这个时候就需要把你熟悉的着重的讲,要是太菜了也试探不出什么东西哈哈

发布了124 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/a59612/article/details/104702465