腾讯企业微信面经——前端

腾讯企业微信一面面经

1、自我介绍
2、css垂直居中与水平居中的n多实现方法,除了flex呢??
3、es6有哪些新特性
4、怎么实现离线缓存的
5、react的redux与vue的vux??
6、vue的传值方式,父子、兄弟、祖孙…
7、箭头函数的特性
8、js事件执行机制,浏览器的渲染机制垃圾回收机制,宏函数与微函数
9、html标签为什么要语意化
10、css动画出了关键帧之外还有什么??
11、promise,async与await
12、项目中遇到的重难点?
13、react的setState底层是怎么实现的??
14、vue的双向绑定的Object的defineproPerty与proxy的区别??
15、http与https的区别
16、tcp与udp的区别??
17、计算机的物理层 运输层…反正就是那五层的逻辑关系(就是他们是怎么串起来的,怎么运作的)??
18、知道哪些xss,怎么预防
19、cookie、localStorage与sessionStorage
20、怎么针对每个用户创建惟一的key用来标示唯一value在localStorage中
21、为什么会跨域,怎么解决跨域
22、闭包是什么,闭包的好处与坏处
23、怎么实现响应式布局,vh、vw、rem、移动端具体怎么做?
24、懒加载的实现??
25、我们在url里面输入地址会发生什么
26、html的ul ol dl
27、最近在关注前端的哪些新事物

腾讯企业微信二面面经

1、面试官是很友好的,开头气氛很轻松,他开始跟你说他们旗下的产品,目前正在做什么东西,内部的运营,多端运行的优化,然后缓缓告诉你,我们部门一共有五场面试…
2、二话没说。。。先来两道算法题
2.1:小明来到了大城市,他从来没见过那么多大楼,问给定大楼的栋数和每栋大楼的高度,他站在大楼的各个位置能看到的大楼栋数(最后的结果是返回一个数组,数组的每个位置代表小明站在大楼的各个位置,数组的每一项的具体数字代表小明在此位置看到的大楼的栋数)
当时敲出来的代码如下:

function getBuildNnm(n, arr) {
  let res = []
  for (let i = 0; i < n; i++) {
    let num = 0  //视野里的楼数
    num = getLeft(i, arr) + getRight(i, arr) + 1
    res.push(num)
  }
  return res
}

function getLeft(index, arr) {
  if (index >= 1) {
    let initHeight = 0
    let num = 0
    for (let j = index-1; j >= 0; j--) {
      if (arr[j] >= initHeight) {
        num++
        initHeight = arr[j]
      }
    }
    return num
  }
  return 0
}

function getRight(index, arr) {
  if (index <= arr.length) {
    let initHeight = 0
    let num = 0
    for (let j = index+1; j <= arr.length; j++) {
      if (arr[j] >= initHeight) {
        num++
        initHeight = arr[j]
      }
    }
    return num
  }
  return 0
}
let arr = [5, 4, 3, 7, 9, 2]
let res = getBuildNnm(arr.length, arr)
console.log(res)

2.2由于很久没刷算法题了,前一道算法题花了将近一个40分钟,第二道算法题看都没来得及看。。。
3、http的发展历史(http1.0实现了什么,http2.0实现了什么(多路复用是怎么实现的,https…)
4、xss(各种类型,具体怎么预防)
5、了解async与await吗?js是怎么实现await的?(面试官提示了一下generator)
6、typeof底层是怎么实现的

腾讯企业微信三面面经

开场:咱们先来做道题吧
1、有红球、蓝球,白球顺序打乱放在一个篮子里,红、蓝、白球分别用0、1、2表示,写一个算法实现这三种球的排序,顺序为蓝、红、白。
2、接下来就是就一直聊一个问题,如果要请求后端很多条数据放在表格里,前端是一次性请求过来吗?强缓存与协商缓存,前后两次数据的差异是前端去比较还是后端去比较,具体是怎么实现的,前端是怎么判断数据有更新呢?后来就聊到了后端多加一个字段,前端请求接口,通过判断这个字段的值来判断后端数据到底有没有更新,接下来就聊到这个字段到底该怎么去设置,最后面试官提示了每一次后端的数据就有一个由某个算法固定的值,就聊到了hash算法,类似于字典里的key的置,说到计算机网络里面知识,并说人家底层设计的巧妙思路其实可以放在我们的开发中,多学以致用,并说道紧张的开发节奏其实对新人是比较好的模式,在开发需求中成长最快,后面聊我的规划,是否考研、意向城市…面了一个半小时,不知是否会进入下一轮,感觉还行吧。

腾讯企业微信四面面经

这是一个leader面,面试官没露脸,我开了视频对着一个黑框框说话。。。
1、你上一家实习公司是在滴滴对吧?滴滴也是一个大厂,你觉得你在他们公司实习期间学到了什么呢?(这个问题被提问的频率挺高的,应该好好总结一下)
2、你上几个面试官有问你算题吗?回答问了,简单的描述了一下上两次面试官问的题,当时都是实际在电脑上敲的,leader面就没有让我在电脑上敲,叫我说思路就可,逻辑题:两个不规则的空木桶,一个能装3升的水,一个能装5升的水,怎么实现这两个桶从井里打出4升的水,算法题:随意给一个字符串,问他一共有几种排序方式(就是排列组合);我回答出来了用递归,让每个字母从第一个位置到最后一个位置都放一遍
3、问了http与https的区别(我是从http1.0=>http1.1=>http2.0=>https说了一下,没有细说,因为他前面感觉很关心时间问题,我也就简化说了一下,缺点:没有提到多路复用的原理,ssl的具体实现等等,这些我都是清楚的,没有细说还挺后悔的)
4、你觉得自己在技术方面比较有优势的是什么?缺点:只说了js语法层面,没说算法层面,例如我利用map数据结构优化了两个for循环实现的业务。
5、接触过微信小程序吗?缺点:我只回答了我根据教程敲了b站的仿站,但是没提到我做了好几个移动端的项目虽然用的是mui
6、你还有问题要问我吗?1、我接下来还有几轮面试,他说如果他这轮过了那接下来就是hr面了;2、你们对实习生有什么期望,他说:希望基础比较好,来公司应该学更高深的东西而不是基础、沟通能力好,说一个事情他能理解得比较清楚、有主动学习新知识的积极性,因为有些人很聪明,但是他不会坚持一直去学习一个东西;3、如果我有幸进到贵公司,我会负责哪方面的业务
总结:
1、可以去了解一下链表等数据结构,各种排序算法、这个是后续持续被考察的,是技术人员的计算机基础。
2、可以去了解一下从socket到tcp到http他们之间的联系与具体实现(往深度发展)
3、各种加密算法
4、async与promise的关系,以及怎么用async与await实现一个sleep函数 ,让他一秒后执行

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值