字节前端面试面经:异步编程与Promise解析 | 前端面试题目,JavaScript面试,代码代写

在这次字节跳动的前端面试中,考察了候选人对于异步编程和Promise的理解。以下是面试中讨论的两个问题及其解答。

了解更多如何通过前端面试的技巧,或获取我们的代面服务,欢迎添加微信 leetcode-king 进行咨询。我们提供面试辅导、代码代写等全方位支持服务,助您顺利通过面试。

面试题目 1:JavaScript 异步函数与await使用 要求候选人解释以下代码的执行顺序并描述输出内容:

async function fetchDataFromBackend() {
    return Promise.resolve('data');
}

const func2 = async function() {
    console.log('func2 start');
    console.log('func2 end');
}

const func3 = async function() {
    console.log('func3 start');
    const data = await fetchDataFromBackend();
    console.log('func3 end');
}

const func1 = async function() {
    console.log('func1 start');
    await func3();
    await func2();
    console.log('func1 end');
}

// func1 is the main func to be called
func1()

面试题目 2:JavaScript 异步执行与Promise解析 要求候选人分析以下代码,说明执行顺序和输出:

const func = () => {
    setTimeout(function(){
        console.log('1');

        new Promise(function(resolve) {
            console.log('2');
            resolve();
        })
        .then(function(){
            console.log('3');
        })
        console.log('4');
    }, 1000);

    console.log('5');
}

// func is the main func to be called
func()
Previous
Previous

Meta 电话面试经验分享 | 面试辅导、算法面试、编程练习

Next
Next

Google 24秋招phone interview