快手二面 前端 面经
基本信息
时间:2023.8.29
时长:62 min
base:北京 帝都
面试岗位:前端 秋招
问题
-
自我介绍
-
能讲一下微应用应用的场景?
-
微应用它的css js 是如何做隔离的?
-
能讲一下你是如何具体定制基座和引用的吗?
-
你的课程整体上设计的架构
-
挑一个点比较复杂的介绍一下整体是如何搞得?
-
能介绍一下对axios的再封装吗?
-
针对状态码的处理,不同的状态码有不同的场景,你是有对状态码进行归类定义吗?
-
这里还用到了swagger,能具体展开一下嘛?
-
把后端的接口类型自动的转成前端的类型,你大概会怎么去做?
-
你觉得写后端 和写前端 都偏重与什么?
-
前端的webpack有了解过吗,我介绍了loader和plngin
-
plngin是怎么实现插件化的机制的?
-
插件里面有同步插件和异步插件,那你觉得这是如何保证插件的执行顺序而不影响你的主流程。
-
loader这一块处理前端样式是多个loader,执行顺序是?
-
前端想要实现可视化图表展示有啥方式?
-
有做过前端的性能优化?
-
手撕代码,大数相加,写了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')
运行结果,没问题,面试官还战术夸了一下头脑清晰....
- 手撕代码,要求10分钟内撕出来(因为面试一个小时,只剩下10分钟了),要求遍历矩阵,之字形遍历,穿针引线法遍历矩阵,没写出来,呜呜呜...,然后因为我曾经写过,直接给面试官看看我本地IDE曾经的代码..... G
- 反问环节 经典问技术栈和做什么产品
总结
综合难度中等,感觉适中。
#面经##快手##秋招##前端#