当前位置: 首页 > 面试经验 >

快手二面 前端 面经

优质
小牛编辑
70浏览
2023-08-29

快手二面 前端 面经

基本信息

时间:2023.8.29
时长:62 min
base:北京 帝都
面试岗位:前端  秋招

问题

  1. 自我介绍

  2. 能讲一下微应用应用的场景?

  3. 微应用它的css js 是如何做隔离的?

  4. 能讲一下你是如何具体定制基座和引用的吗?

  5. 你的课程整体上设计的架构

  6. 挑一个点比较复杂的介绍一下整体是如何搞得?

  7. 能介绍一下对axios的再封装吗?

  8. 针对状态码的处理,不同的状态码有不同的场景,你是有对状态码进行归类定义吗?

  9. 这里还用到了swagger,能具体展开一下嘛?

  10. 把后端的接口类型自动的转成前端的类型,你大概会怎么去做?

  11. 你觉得写后端 和写前端 都偏重与什么?

  12. 前端的webpack有了解过吗,我介绍了loader和plngin

  13. plngin是怎么实现插件化的机制的?

  14. 插件里面有同步插件和异步插件,那你觉得这是如何保证插件的执行顺序而不影响你的主流程。

  15. loader这一块处理前端样式是多个loader,执行顺序是?

  16. 前端想要实现可视化图表展示有啥方式?

  17. 有做过前端的性能优化?

  18. 手撕代码,大数相加,写了23分钟,写得有点慢,呜呜呜,毕竟第一次写这个题

    const fun = function (str1, str2) {
        const length1 = str1.length
        const length2 = str2.length
        if (length1 < length2) {
            let temp = ''
            for (let i = 0; i < length2 - length1; i++) {
                temp += '0'
            }
            str1 = temp + str1
        } else {
            let temp = ''
            for (let i = 0; i < length1 - length2; i++) {
                temp += '0'
            }
            str2 = temp + str2
        }
        const result = []
        let jin = 0
        for (let i = 0; i < str1.length; i++) {
            //每次拿到最后一位
            const temp1 = str1[str1.length - 1 - i]
            const temp2 = str2[str1.length - 1 - i]
            const wei = Number(temp1) + Number(temp2) + jin
            if (wei >= 10) {
                result.push(wei - 10)
                jin = Math.floor(wei / 10)
            } else {
                result.push(wei)
                jin = 0
            }
        }
        //可能有进位
        if (jin !== 0)
            result.push(jin)
        console.log(Number(result.reverse().join("")));
    }
    
    fun('9999', '9999')
    

运行结果,没问题,面试官还战术夸了一下头脑清晰....

  1. 手撕代码,要求10分钟内撕出来(因为面试一个小时,只剩下10分钟了),要求遍历矩阵,之字形遍历,穿针引线法遍历矩阵,没写出来,呜呜呜...,然后因为我曾经写过,直接给面试官看看我本地IDE曾经的代码..... G
  2. 反问环节 经典问技术栈和做什么产品

总结

综合难度中等,感觉适中。

#面经##快手##秋招##前端#
 类似资料: