2020面试题总结

284 阅读3分钟

结果

很不幸,都没拿到offer,工作年限和能力不匹配,自己实力欠佳,准备再努力一把,年底再战。加油!💪

缺点:

  1. 编程能力偏弱,写代码太慢,而且面试脑子也容易卡壳

解决办法:leetcode刷题,一天起码一道

  1. 知识点还是不够深入,尤其很多自己以为OK的,一做题还是不行

解决办法:看源码,vue3、webpack、babel

  1. 基础知识 做题?
  2. 总结能力要提高,之前做项目总结还是少

阿里:

高德地图,2面fail,面试难度中等。

一面:

  1. p.then(a).then(b,c).catch(e) catch可以捕获谁?
  2. 先并行发出2个请求,无论是否成功,完成后再发出第3个请求
  3. 原型链是什么?写继承
  4. vue原理
  5. 小程序原理,那是否了解rn,weex原理?
  6. 闭包是什么?作用?
  7. h5自适应方案,rem原理?
  8. position属性,sticky啥意思?

二面:项目居多

  1. ch刷新策略是啥?如何同步tpl?
  2. grid的原理?flex:1 的意思 父元素宽度600 第1个100px 第2个200px,都是flex:1,则最终宽度是多少?
  3. 实现 HTMLElement 的 getElementsByClassName
<div id="elem">
  <div class="test"></div>
  <div class="txt">
    <p class="test hide"></p>
  </div>
  <div class="show test"></div>
</div>
document.getElementById('elem').getByClassName('test')
> div.test  p.test  div.test
  1. 对象深比较
const obj1 = {
  a: 1,
  b: {
    c: [1, 2]
  }
}
const obj2 = {
  b: {
    c: [1, 2]
  },
  a: 1
}
isEqual(obj1, obj2)
> true
  1. 强缓存和协商缓存
  2. js与端通信的方式,如果太长,如何传递数据?
  3. 为啥用rollup打包,webpack有tree-shink为啥不用?
  4. 最近学习的知识

面试总结

之前滴滴一面挂掉,导致自己非常失落,1面状态不好,以为要挂,但还是过了,2面第2道编程题写的时间有点长,但面试官还行。

腾讯

腾讯文档,2面fail

一面:

  1. 已知一个由ASCII字符组成的字符串,查找第一个重复的字符,例:字符串'abcdefba', fn(str) => 'b'
  2. 求超大数相加,返回结果。比如:输入'2345677'和'567',输出‘2346244’
  3. 如何寻找第k大的数?

二面:也是项目居多

  1. 为啥react vue的dom-diff不用web-worker实现?
  2. rollup特性
  3. 投票数据如何防止别人串改?
  4. 如何统计性能时间?白屏、首屏,如果自己设计如何设计,其实没必要自己再打点,框架可以做的,为啥还要前端加打点?
  5. 循环引用 a = b.a b = a.b 会内存泄露吗?

面试体验

1面面了2个小时,时间是最长的,大数相加的算法自己改了挺久,面试官也挺有耐心,估计在自己干活吧,哈哈哈。2面自我感觉凑合,但是感觉到跟面试官不太对口。估计2面下来综合考虑就给挂了。

头条--呵呵呵

抖音1面fail,面试难度偏难。果然头条的算法题要难些。

但头条是面的最不爽的,面试官特别没有耐心,一直催着写答案,还说这种问题我认为1,2分钟就写出来了,怎么还没写?当时都想骂他,想的慢咋的了,烦死了,最差面试官。特别差的一次面试体验。

  1. 单链表逆转

面试体验:差差差!!!