二月前端实战面试

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

腾讯

一面

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

一面

  1. 了解websocket吗,websocket是如何进行握手的
  2. 生产消费者模式
  3. 线程和进程(腾讯二面又问我了,我又没回答出来,哈哈)
  4. 如何批量抓取文章
  5. 如何处理ios键盘挡住屏幕,ios输入的时候光标定位错乱
  6. virtual dom的优点在哪儿
  7. 了解xpath吗
  8. 客户端和fe是如何通讯的,客户端是如何操做fe的代码的
  9. 性能优化能从哪些方面入手
  10. 前端如何实现图片剪裁

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

头条

  1. 如何批量引入组件,require.context
  2. 组件之间如何通讯
  3. 问了监控系统,如何计算白屏时间和首屏渲染时间的,如何进行数据上报的,上报到监控系统展现是怎样的一个过程
  4. 问了一个$listener$attr,可是我当初没有get到面试官的点
  5. 谈谈pwa
  6. vuex的工做流(工做流是什么?)
  7. 知道function component
  8. 如何选择图片格式,例如png,webp

算法题

有一个数组和一个值,须要求大于等于该值的最小长度,例如[2, 3, 4, 7]5,那么最小就是1,由于7大于5 若是数字是8,那么最小就是2, 由于4 + 7大于8webpack

第二道算法题 有序数组中小于某个数的个数,例如ios

[1, 2, 3, 4]
2
// 1
复制代码

快手

  1. 如何对请求进行缓存,例若有10个异步请求,若是有一个异步请求返回结果剩下的请求就用这个结果,而且能过传入成功和失败的回调函数
  2. 实现(10).add(10).add(10)
  3. 有这个一个状况,代码以下:
function Person() {}
const person = new Person();
复制代码

person的原型上有Funciton
4. vue文件中为何须要一个根元素web

百词斩

  1. vue hooks的使用
  2. cdn的原理
  3. 白屏时间和首屏时间的计算
  4. 性能监控平台是如何捕获错误的
  5. 平时遇到有哪些兼容性的问题
  6. leetcode峰值的问题
  7. vue中key的做用
  8. 代码题
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);
复制代码

算法题

实现一个栈,具备pushpop方法,还有获取他的最小值,复杂度是O(1)面试

其余公司

我也没投几家公司,这里记录一下其余公司的面试问题算法

  1. 大家对组件库作了哪些优化
  2. 组件库的样式自定义是如何实现的
  3. tcp的滑动窗口
  4. 前端如何作权限控制
  5. HMR的原理
  6. 若是页面出现白屏,如何排查

算法

rightView

有一棵树从右边看他,并输出结果,例如vuex

1
    2       4
5       3
复制代码

上面输出的树就是[1, 4, 3]数组

我总结了一下,面试中出现频率最高的是,排名分先后:浏览器

  1. 宏任务和微任务
  2. 浏览器缓存
  3. bfc
  4. computedwatch的差别

我以为我面的最好的是百度,结果百度一轮游,说我不匹配(呜呜呜~~~)

面试这么多公司也总结出一些经验: 面试忌讳的就是必定不要说本身不熟悉的东西,若是不熟悉连提都不要提,在自我介绍的时候必定要把本身的优点介绍出来,让这场面试问的都是和你熟悉的相关的东西。我以为面试实际上是你和面试官互相试探的过程,面试官不知道你擅长什么,因此他须要不断探索你会的地方,因此这个时候就须要把你熟悉的着重的讲,要是太菜了也试探不出什么东西哈哈

相关文章
相关标签/搜索