0%
世纪鲲鹏第一轮面试
第一轮面试在大连腾讯大厦现场面试,问的都是一些理论的内容。
keep-alive
有没有用过自定义组件,讲一讲具体的
列举一些 ES6 的数组方法
列举一些 git 命令
4.1 git rebase 和 git merge 有什么不一样的
ES6 中函数有哪些新特性
Promise 的状态和用法
世纪鲲鹏第二轮面试
第二轮面试是线上远程面试,面试官是腾讯总部的大佬。
- 共享屏幕写代码:
实现一个字符串的 indexOf 方法,功能和定义与标准库相同。
- 因为出题的时候忘了关 Github Copilot,所以面试官换了个问题。
存在字符串 a12b23c4
,找出最大的数 23
。不使用正则表达式。
测试用例:
- 输入
a12b23c4
- 输入
a12b23c45
- 输入
a12b23c45a
最后写完的代码是
javascript
function findMaxNumber(input) {
console.log(arguments.__proto__);
let maxNumber = 0
let tempNumber = 0
input = `${input}a`
for (let i = 0; i < input.length; i ++) {
const currentValue = (input[i] - 0)
// console.log('i:', i, 'v:', v)
if (!Number.isNaN(currentValue)) {
tempNumber = tempNumber * 10 + currentValue
// console.log('tempNumber:', tempNumber)
} else {
if (tempNumber > maxNumber) {
maxNumber = tempNumber
tempNumber = 0
}
}
}
return maxNumber
}
const testRes = findMaxNumber('a12b23c45')
console.log(testRes)
TS 中有
new Map<string, {a: number}>()
,应该用什么 TS 方法可以拿到类型{a: number}
?function() {return Promise.resolve({a: 1})}
的返回值类型是?有的元素即使给了
z-index: 9999;
,但还是会被其他元素遮挡。列举几种可能性。有如下页面元素结构:
html
div 父级
[A][B]
[C][D]
如果给它们都写 margin: 10px;
,这样 AC 和 BD 之间就是 20 的间距,AB 和 CD 之间也是 20 的间距。
如果想要它们四个之间的间距都是 10,有哪些优雅的写法?
- 有这样结构的 Vue 组件
html
A
B
C emit(event)
当 C 想向 A 发送事件,应该怎么做?
上面的三层结构,怎么能连续的使用 v-model?
剩下的忘了
世纪鲲鹏第三轮面试
第三轮还是总部的线上面试,这次只有一道算法题,然后就寄了。
写一个函数,计算
- 如果用 for 循环的方式,复杂度是多少?(O(
)) - 如果用递归的方式,复杂度是多少?(O(
))
使用递归的方式,最后写完的代码是:
javascript
function func(a, n) {
let res = 1
if (n < 1) {
return res
} else if (n % 2 == 0) {
res = func(a, n / 2) * func(a, n / 2)
} else {
res *= a * func(a, (n - 1) / 2) * func(a, (n - 1) / 2)
}
return res
}
console.log(
func(3, 2)
)