跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

TikTok 专访:您可能有兴趣了解的 4 个前端问题

这是一次难忘的面试经历

c6f26f4e99d2934cf08976618405529e.jpg

Photo by 安德烈科·波迪尔尼克 on 不飞溅

最近,我的好朋友在换工作,在网上收到了很多offer。

其中一个来自一家名为 抖音 ,你可能非常熟悉。他们让我的朋友当场写代码来实现4个复杂方法的功能。

1. 尝试实现 Promise.all API

承诺.all() 方法将一个可迭代的 Promise 作为输入,并返回一个 Promise,该 Promise 解析为输入 Promise 的结果数组。

当输入的所有承诺都已解决,或者输入可迭代不包含任何承诺时,此返回的承诺将解决。

它会在任何输入承诺拒绝或非承诺抛出错误时立即拒绝,并将拒绝第一个拒绝消息/错误。

自己实现一个

做个测试

2.设计一个可以设置过期日期的localstorage API

localstorage不会像cookies一样自动过期,所以过期时间需要自己维护。

我的思路是:

使用 setItem 时,保存过期时间。使用getItem时,将时间与当前时间进行比较,如果大于当前时间,则直接返回该值,否则需要通过removeItem移除该值并返回null。

做个测试

基本符合题主的要求。当然我们也可以处理异常,比如空间满、设置错误等。

3.找到两个节点最近的公共父节点,包括节点本身

介绍:

oNode1 和 oNode2 在同一个文档中,不会是同一个节点。

 函数 findCommonParent(oNode1, oNode2) {  
  _// 这里填写_  
 }

相信大家看到这个问题都会用到递归,但是没有明确的思路。

这个时候不要紧张。从问题中找出更有效的信息,尽量多用笔画(如果是现场面试,记得只带一支铅笔,有时多画就会有想法)。

1.1 两个节点处于同一级别

让我们试着画出这两个节点之间可能存在的关系。如下图所示,它们的直接父节点就是答案。

becd58e611036f77033d9bf2fb10e120.jpg

1.2 两个节点互为祖先

oNode1 是目标节点。当然,反过来也是一样的。 oNode2 也可以是 oNode1 的祖先。

2da1151a05f0f4566b8694712f23e5de.jpg

1.3 两个节点之间没有关系

如下图所示,这两个节点的距离很远,似乎没有任何关系,但是从其中任何一个节点往上搜索,肯定能找到一个包含oNode1或oNode2的点。

03d9b717b9f31c6b029610a9be199f55.jpg

1.4 递归实现版本

根据上面的分析,相信你很快就能写出下面的代码了。

1.5 遍历实现版本

递归很容易理解,仅仅通过遍历就可以实现吗?事实上,递归问题往往可以通过遍历来解决。

4.使用reduce实现map功能

这个问题会比较简单,我们直接写代码

 输入:[1,2,3]  
 输出:[2、4、6]

e1c4c10467ada60ac33eaf5bba23db48.jpg

最后

谢谢阅读。 我在看 **** 转发您的关注和阅读更多优质文章。

[

“我因为 Promise.all 而失去了工作机会”

一次面试经历让我很伤心。

javascript.plainenglish.io

](/i-lost-a-job-opportunity-just-because-of-promise-all-be396f6efe87)

[

采访者:“npm run xxx”发生了什么?

一个大多数人都不知道的秘密。

javascript.plainenglish.io

](/interviewer-what-happened-to-npm-run-xxx-cdcb37dbaf44)

[

面试官:“x !== x”在 JavaScript 中可以返回 True 吗?

你可能不知道的五个神奇的 JavaScript 知识点!

javascript.plainenglish.io

](/interviewer-can-x-x-return-true-in-javascript-7e1d1fa7b5cd)

[

现在是 2022 年,不要再滥用箭头功能了

不应该使用箭头函数的 4 种情况。

javascript.plainenglish.io

](/its-2022-don-t-abuse-the-arrow-function-anymore-905862a9c668)

更多内容在 ** 纯英语.io** .注册我们的 ** 免费每周通讯** .跟着我们 ** 推特** , ** 领英** , ** YouTube** , 和 ** 不和谐** .

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/17538/54320600

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。