腾讯云前端一面面经

算法题

大数相加

代码

function addBigNum(str1, str2){
    let res = '',
        c = 0;
    const str1Arr = str1.split(''),
        str2Arr = str2.split('');
    while(str1Arr.length || str2Arr.length || c){
        const num1 = str1Arr.length ? str1Arr.pop() : 0,
              num2 = str2Arr.length ? str2Arr.pop() : 0;
        c += num1 + num2;
        res = (c % 10) + res;
        c = c > 9;
    }
    return res.replace(/^0+/,'');
}

最大子序和

给定一个数组,找到一个具有最大和的连续子数组,返回其最大和。示例如下
输入:

1,-2,4,5,-1,1

输出:

9

最大子数组:

[4,5]

代码

function largestSum(arr) {
    if (!arr) return null;
    const len = arr.length;
    if (!len) return Number.MIN_SAFE_INTEGER;
    let sum = arr[0];
    let res = sum;
    for (let i = 1; i < len; i++) {
        if (sum < 0) sum = arr[i];
        else sum = sum + arr[i];
        res = Math.max(res, sum);
    }
    return res;
}

console.log(largestSum([1,2,4,5,-1,1]));

子字符串匹配

给定两个字符串 s 和 t,其中 t 是 s 的子字符串。s的子字符串是字符都取自s,并且保持在s中的位置的相对顺序,但不需要是连续的。比如,s="abcdef",t="bd"。

要求找出 t 在 s 中匹配的子字符串数量。

比如:

Input: s = "rabbbit", t = "rabbit"
Output: 3
Explanation:
As shown below, there are 3 ways you can generate "rabbit" from S.
rabbbit rabbbit rabbbit

[输入]

"babgbag" "bag"

[输出]

5

[输入]

"rabbbit" "rabbit"

[输出]

3

[输入]

"xslledayhxhadmctrliaxqpokyezcfhzaskeykchkmhpyjipxtsuljkwkovmvelvwxzwieeuqnjozrfwmzsylcwvsthnxujvrkszqwtglewkycikdaiocglwzukwovsghkhyidevhbgffoqkpabthmqihcfxxzdejletqjoxmwftlxfcxgxgvpperwbqvhxgsbbkmphyomtbjzdjhcrcsggleiczpbfjcgtpycpmrjnckslrwduqlccqmgrdhxolfjafmsrfdghnatexyanldrdpxvvgujsztuffoymrfteholgonuaqndinadtumnuhkboyzaqguwqijwxxszngextfcozpetyownmyneehdwqmtpjloztswmzzdzqhuoxrblppqvyvsqhnhryvqsqogpnlqfulurexdtovqpqkfxxnqykgscxaskmksivoazlducanrqxynxlgvwonalpsyddqmaemcrrwvrjmjjnygyebwtqxehrclwsxzylbqexnxjcgspeynlbmetlkacnnbhmaizbadynajpibepbuacggxrqavfnwpcwxbzxfymhjcslghmajrirqzjqxpgtgisfjreqrqabssobbadmtmdknmakdigjqyqcruujlwmfoagrckdwyiglviyyrekjealvvigiesnvuumxgsveadrxlpwetioxibtdjblowblqvzpbrmhupyrdophjxvhgzclidzybajuxllacyhyphssvhcffxonysahvzhzbttyeeyiefhunbokiqrpqfcoxdxvefugapeevdoakxwzykmhbdytjbhigffkmbqmqxsoaiomgmmgwapzdosorcxxhejvgajyzdmzlcntqbapbpofdjtulstuzdrffafedufqwsknumcxbschdybosxkrabyfdejgyozwillcxpcaiehlelczioskqtptzaczobvyojdlyflilvwqgyrqmjaeepydrcchfyftjighntqzo... "rwmimatmhydhbujebqehjprrwfkoebcxxqfktayaaeheys"

[输出]

543744000

代码,注释部分未优化路径,

// function searchWord(s, t) {
//     const sLen = s.length, tLen = t.length;
//     const dp = new Array(sLen + 1);
//     for (let i = 0; i <= sLen; i++) {
//         dp[i] = new Array(tLen + 1).fill(0);
//     }
//     dp[0][0] = 1;
//     for (let i = 1; i <= sLen; i++) {
//         dp[i][0] = 1;
//         for (let j = 1; j <= tLen; j++) {
//             if (s[i - 1] === t[j - 1]) {
//                 dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
//             } else {
//                 dp[i][j] = dp[i - 1][j];
//             }
//         }
//     }
//     return dp[sLen][tLen];
// }
function searchWord(s, t) {
    const sLen = s.length, tLen = t.length;
    const dp = new Array(tLen + 1).fill(0);
    dp[0] = 1;
    for (let i = 1; i <= sLen; i++) {
        let pre = 1;
        for (let j = 1; j <= tLen; j++) {
            let temp = dp[j];
            if (s[i - 1] === t[j - 1]) {
                dp[j] += pre;
            }
            pre = temp;
        }
    }
    return dp[tLen];
}
const s = "rabit", t = "rabbit";
console.log(searchWord(s, t));

框架

Vue响应式原理

Vue双向绑定

计算机网络

HTTP缓存

TCP四次挥手

如何实现axios

XSS是什么,怎么预防

#面经##腾讯##前端工程师#
全部评论
秒啊,我腾讯云一面也是这三道题,是个态度很差的女面试官,最后也被kpi了
点赞 回复 分享
发布于 2021-10-06 21:43
大佬可以分享一下自己的项目经历吗
点赞 回复 分享
发布于 2021-09-26 21:53
楼主什么部门啊
点赞 回复 分享
发布于 2021-09-14 23:46
你还在投简历啊
点赞 回复 分享
发布于 2021-09-11 03:30
又见大佬!算法题也太多了吧🥲
点赞 回复 分享
发布于 2021-09-01 20:58
腾讯算法题不少啊
点赞 回复 分享
发布于 2021-09-01 18:23

相关推荐

Timeline:一面&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2025-02-14&nbsp;&nbsp;14:&nbsp;00&nbsp;&nbsp;&nbsp;&nbsp;当天&nbsp;15:&nbsp;30&nbsp;通过二面&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2025-02-17&nbsp;&nbsp;11:&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;当天&nbsp;15:&nbsp;10&nbsp;通过三面&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2025-02-18&nbsp;&nbsp;14:&nbsp;00&nbsp;&nbsp;&nbsp;&nbsp;当天&nbsp;14:&nbsp;50&nbsp;通过hr面&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2025-02-18&nbsp;&nbsp;17:&nbsp;00&nbsp;&nbsp;&nbsp;&nbsp;当天通过oc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2025-02-19&nbsp;&nbsp;10:&nbsp;45呃啊啊啊啊啊啊啊,对比一面难度飙升二面主要过程:1.&nbsp;自我介绍2.&nbsp;首屏优化有哪些方法(tree-shaking&nbsp;&nbsp;http2&nbsp;&nbsp;懒加载&nbsp;&nbsp;gzip&nbsp;&nbsp;SSG&nbsp;......),&nbsp;&nbsp;&nbsp;&nbsp;看的是哪个指标(LCP),LCP具体是怎么计算的(完全没了解)3.&nbsp;业务组件和基础组件的区别(??根本不知道),如何保证组件的稳定性(希腊奶,应该是指组件测试)4.&nbsp;拷打&nbsp;css:&nbsp;-&nbsp;重绘重排(浏览器渲染原理,结合&nbsp;visibility:&nbsp;hidden&nbsp;和&nbsp;display:&nbsp;none)&nbsp;-&nbsp;flex&nbsp;垂直布局如何使得三个子盒子间隔&nbsp;10px(不是&nbsp;margin&nbsp;/&nbsp;space-between,叫我去了解一下,应该是&nbsp;row-gap)&nbsp;-&nbsp;position:&nbsp;sticky(没用过),position&nbsp;和包含块5.&nbsp;拷打&nbsp;vue:&nbsp;-&nbsp;vue2&nbsp;和&nbsp;vue3&nbsp;有什么区别(setup,defineProperty&nbsp;和&nbsp;proxy)&nbsp;-&nbsp;vnode&nbsp;和实际&nbsp;dom&nbsp;有什么区别,为什么要用&nbsp;vnode(为了高效&nbsp;diff&nbsp;和跨平台支持包括&nbsp;ssr),为什么不直接修改&nbsp;dom(因为早期对&nbsp;signal&nbsp;理念实现不够彻底,vue3.6&nbsp;的&nbsp;vapor&nbsp;mode&nbsp;正在改进,我的回答不一定对哈)&nbsp;-&nbsp;computed&nbsp;的更新机制是怎么样的(脏值检测懒更新),使用时和&nbsp;watch&nbsp;有什么区别(问的就是依赖多的时候用&nbsp;watch&nbsp;指定需要的依赖)6.&nbsp;拷打&nbsp;js:&nbsp;-&nbsp;var&nbsp;let&nbsp;const&nbsp;window&nbsp;以及多&nbsp;script&nbsp;标签(一定要注意&nbsp;let&nbsp;和&nbsp;const&nbsp;的变量不会挂载到&nbsp;window&nbsp;哇),var&nbsp;的变量提升机制(先定义后赋值),变量未声明默认为&nbsp;var&nbsp;-&nbsp;手写&nbsp;Promise.all(应该直接&nbsp;return&nbsp;一个&nbsp;new&nbsp;Promise,我用了&nbsp;Promise.withResolvers;还有打印的时候用&nbsp;then,习惯了用&nbsp;setTimeout&nbsp;打印了,被狠狠地批评了)&nbsp;-&nbsp;说说&nbsp;async&nbsp;和&nbsp;await&nbsp;的实现(是说源码),如果没有&nbsp;async&nbsp;的时候使用&nbsp;await&nbsp;会不会报错(旧版&nbsp;node&nbsp;的&nbsp;commonjs&nbsp;会,要用立即调用函数的方式使用,新的和&nbsp;esmodule&nbsp;默认支持)&nbsp;-&nbsp;Promise&nbsp;A+规范怎么定义一个&nbsp;Promise(我只知道要&nbsp;then&nbsp;方法,叫我回去看)7.&nbsp;算法题:二叉树中的最大路径和,返回其路径(力扣&nbsp;124&nbsp;改编,无负数,卡了很久都没完全写对,路径递归返回写错了极力狡辩)8.&nbsp;反问:&nbsp;-&nbsp;主要技术栈(vue3,node)&nbsp;-&nbsp;工作时间(11点前上班,12点到2点休息,6点到7点晚饭,8&nbsp;9点下班,包三餐)&nbsp;-&nbsp;最近有碰到什么技术难点吗(听不懂我也忘了)
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
10
61
分享

创作者周榜

更多
牛客网
牛客企业服务