你能解决这个面试问题吗?
几天前,我申请了一家跨国公司,遇到了一些有趣的问题,需要在规定时间内解决。我来分享一个,看看你能不能解决。
问题描述
假设我们有一个类似这样的 URL:
let url = "https://dev.to/0shuvo0"
现在他们把 URL 转换成了 base64 字符串。
所以 URL 变成了这样:
let url = "aHR0cHM6Ly9kZXYudG8vMHNodXZvMA=="
现在他们所做的就是将字符串拆分成多个部分并转换成数组
let url = ["aHR0cH", "M6Ly9kZX", "YudG8vMHN", "odXZvMA=="]
当然,疯狂还不止于此。然后他们重新排列了数组,结果变成了这样:
let url = ["M6Ly9kZX", "aHR0cH", "odXZvMA==", "YudG8vMHN"]
最后,他们将该数组转换为字符串。
这是您的输入
let url = `[ "6Ly9kZXYudG", "9jb21tZW5", "8vMHNodXZvMC", "aHR0cHM", "0LzFqZTFt" ]`
使用输入以编程方式查找原始 URL, 您有 45 分钟的时间来完成此操作。
有用的 JavaScript 函数可以帮助你
- 您可以通过调用join方法将数组转换为 sting 。例如。
let urlStr = url.join("")
- 您可以使用atob函数来解码 base64 字符串。
let decoded = atob(urlStr)