腾讯微信支付前端暑期实习一面3.28

一面面了2h30min+,是特别特别想去的地方,但是二面挂了,最后还是没有去成,也许也是命吧

上来两个算法题:

滑动窗口最大值

前 K 个高频元素变体版 需要额外按ascii码排序

JS的基本数据类型

Object属于基本数据类型吗

为什么他是引用数据类型呢

假如我有一个Object,let b = a,那b拿到的是a的深拷贝还是浅拷贝?

b修改对象中数据的值,a会跟着变吗

如果我希望b深拷贝a对象中所有的信息,应该怎么做

问_deepclone是不是js自带的方法,问我提到的这些深拷贝方法能支持的数据类型

json.stringify使用的时候需要注意什么问题(如果出现a引用b,b引用a的话,用这种方法会出现什么问题)

解释一下JS的原型和原型链

你提到prototype可以做继承,那他是怎么做继承的

如果我有一个构造函数A,有一个构造函数B,让A继承B,该怎么做?

如果不修改子类的constructor属性会发生什么事情

除了原型链继承,你还了解其他的继承方式吗

继承中call函数的作用是什么

call,apply,bind的区别

构造函数继承,组合继承,原型链继承外问我还有无其他继承方法(extends)

说一下extends是怎么实现继承的?extends的原理?

JS里的事件代理(事件委托)

我讲了一下之前做项目时用事件委托的经历和具体做法,他问是事件冒泡还是事件捕获

问我方法(是想问我怎么实现冒泡的还是咋?有点没懂)

e=>{}这种方法默认是在冒泡阶段还是捕获阶段

假如我的监听要在捕获阶段进行,该怎么做?(addEventListener?)

addEventListener有几个参数,分别都有什么作用?(一共有三个,只说上来2个)

跨域问题是怎么产生的?跨域问题的解决方案是?

cors的细节,访问这种跨域的域名,浏览器发的请求,第一步,是直接把get或post发出去,还是说前面有什么操作(这里我分了简单和复杂请求分开讨论)

预检请求和服务器的通信是get还是post还是别的(options)

那他的header里面带了什么呢

如果我想跨域的时候把cookie带上,该怎么做?

http-only是不能用什么方法访问(不能通过js访问)secure(只能通过https访问)

怎么设置cookie只在某些域名携带?在哪设置?怎么设置

知道哪些设计模式吗

什么情况下需要用到单例模式?(我说Vue实例化一次)问我为什么在这个场景下Vue只需要实例化一次,如果多个实例的话会有什么问题

发布订阅模式是做什么用的?问我有没有实际去用过这个设计模式

讲了一下props的使用场景

问我项目用数据总线是怎么用的

详细问了发布-订阅模式和观察者模式(虽然是我主动提的)

问了滚动显示图像的细节 scroll啥啥啥的(滚动这种图像是怎么显示的 视窗高度+滚动距离这种scrollheight+innerheight)

如果用addeventListener方法的话事件名叫什么(scroll)

接着又问了工厂模式?什么情况下要用到工厂方法模式?

0.1+0.2=0.3吗?为什么不等于呢

为什么计算机底层存储0.1不等于0.1

计算机存小数的底层原理是什么

怎么让他精确(我说了tofixed和相减小于eplison的方法 他说还是不行 有误差)

主要用的框架是哪个

vue的双向绑定是怎么做的

vue的data为什么要设计成一个方法

v-for为什么要设置key?为什么不设置key会导致重新渲染?里面的原理是什么?

vue渲染的机制?怎么判断哪些元素需要渲染,哪些不需要?(其实是考diff算法)

有看过vue的diff相关的源码吗

如果想了解一个框架的源码的运行原理,会不会想到用断点的形式看哪一步执行的怎么样?有用过浏览器的断点吗?

如果一个页面出现白屏问题,你会怎样去排查?

假设白屏情况出现在用户端,你会怎么办?(我说了排查方法之后提了一些如何提高加载速度的方法,网络侧,css侧,js侧)

他又问,如果不是加载慢,而是出现错误了或加载资源失败了,该怎么排查?是哪里报错了

提了onerror,问我挂载在哪里(window)

发生错误的js和请求页面是不同域的,onerror能拿到这个错误信息吗?

其实是问跨域情况下如何拿到错误信息?

Vue里面如何捕获全局错误

如果是JS的资源加载失败错误,该如何捕获

CSS资源加载失败该如何捕获

堆和栈的区别?分别介绍一下

怎么用堆栈的,他们的底层是怎么实现的

底层什么内容会存储在栈中?什么会存储在堆中?

XSS攻击,三种类型的举一下具体的例子(应用场景)

怎么防范XSS攻击

我说了转义(问我怎么转义)要求用原生方法(不道儿啊)

然后提了CSP的方法,说还是不行,问我html怎么转义,具体是哪个方法

用原生的JS怎么实现转义

CSRF攻击是什么?举个场景的例子?

怎么防范CSRF攻击?(cookie上面设置什么可以防这个攻击)我说的是考虑使用samsite字段限制其不被第三方使用

cookie如何设置为同源吗?

万一注入成功了,很容易拿到cookie,怎么办呢

状态码和301和302,304,404,401,403,5xx了解吗

HTTPS是如何防范中间人攻击的

在这个过程中涉及到哪些加密算法(非对称加密和对称加密算法用了哪些)为什么要这样做

对称加密为什么效率高

你了解哪些非对称加密算法?哪些对称加密算法?

有了解过抓包吗

抓包工具能抓HTTPS的包吗?为什么能抓?(按理说https是加密的,应该是抓不到的,为什么能抓到)

抓包工具本质上是个中间人,他是怎么做到中间人的?(certificate!)

证书是谁颁发的

有用过nodejs吗(Legendary!)

有用过小程序吗(double kill!)

有了解微前端吗(Triple kill!)

讲一下实习经历吧

问我怎么做到自动化埋点的

问我sdk的底层是怎么实现的(页面的点击事件是如何实现的)

让我自己实现页面的点击事件上报而不使用sdk,会怎么做(我说加上监听,他说这样会造成很多的事件都需要监听)

他说不要写那么多监听,只需要在一个地方做就可以了,该怎么做?(不道儿啊,我说全局监听)

又问我怎么做全局监听

反问(终于结束了TAT 最漫长的一场面试)

部门业务

学习建议(说我面试废话太多了要简洁 然后sdk底层的原理要去了解下)

#牛客创作赏金赛#
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-21 11:29
牛客330674826号:你是孝子吗,这么喜欢当引流狗
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务