字节跳动_用户增长部门实习生_视频面试_一面

本文记录了一次字节跳动用户增长部门的前端实习面试,涵盖了JavaScript的this指向、call apply bind的区别、网络安全、闭包、HTTP请求方法等多个知识点。面试过程包括了对代码题目的讨论和实际编程挑战,如模拟vuex和用reduce实现map。
摘要由CSDN通过智能技术生成

前言

上次三面结束五天之后,hr打来电话,说我的简历已经通过,很激动。约好了面试时间,怎料到是另一个部门的一面。在询问了面试官为什么这么做之后,面试官给我的回答是,在上次三轮面试过后发现我更适合用户增长这个部门,于是让这个部门再来面我。

真的,我直接和面试官说:“我心累了。”,面试官说别太在意,就当交流学习。累了,offer爱给不给吧。第一次面试就要面两个部门,double 的面试量,我上网看那么多其他面经都没遇到过这种情况。

面试时长:40 分钟

题目

1.给一段代码,说出输出结果(this 的指向)

let obj = {
    name: 'bytedance',
    getName() {
        return this.name;
    }
};
let fb = obj.getName;
fb();

结果是 undefined 。面试官问我为什么,fb 在调用的时候 this 指向的是 window ,是顶层对象。

面试官追问:那么如果让上面这段代码正常运行,有没有什么操作

我回答:bind call apply 都行

2.call apply bind 的区别

bind 是定义函数的时候使用的,改变函数的默认this 指向。

而 call 和 apply 是在函数调用的时候使用的,同样也可以改变 this 的指向

call 和 apply 的区别在于 传参 的形式不同

3.知道常见的网络安全吗?

这个还好之前了解过,看面试官 噢 的神情应该是给了他惊喜。

XSS跨站请求攻击:

举例:在新浪博客写一篇文章,同时插入一段<script>;一旦有人来看文章,脚本就执行。在攻击代码中,获取他人的cookie,发送到自己的服务器。这么做会把查看者的cookie 发送到攻击者的服务器,得到浏览者的个人信息。

解决措施:前端替换关键字,例如替换 < 为 &lt; > 为 &gt;  或者 后端替换

XSRF跨站请求伪造

举例:登录一个购物网站,正在浏览商品。该网站付费接口是 xxx.com/pay?id=100 但是没有任何验证;然后你收到一封邮件,隐藏着 <

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值