滴滴春招前端面经
一面
时长:41min
平台:赛码网
- 自我介绍
- 详细说一下上段实习做的事
- 判断数组有几种方式
- 每种方式的判断原理,如何让它们判断的不准
- 深拷贝和浅拷贝
- 实现深拷贝的思路
- 事件循环的理解
- 代码输出顺序题
console.log('script start');
async function async1(){
await async2()
console.log('async1 end');
}
async function async2(){
console.log('async2 end');
Promise.resolve().then(() => console.log('async2 end1'))
}
async1()
setTimeout(function(){
console.log('setTimeout');
}, 0)
new Promise(resolve => {
console.log('Promise');
resolve()
})
.then(function(){
console.log('promise1');
})
.then(function(){
console.log('promise2');
})
console.log('script end');
- 在 async2 里的 promise 前加一个 return 后有什么变化
- computed 的工作原理、缓存更新时期
- 代码考核:长度最小的子数组
- 反问
部门前端业务: C 端,主要为小程序开发,支付宝微信和自研框架
面试流程:三轮面试,一天出结果
对应届生建议:多研究一些东西,多学一些东西
二面
时长:48min
平台:赛码网(迟到老久)
- 自我介绍
- 详细说一下最大有挑战的需求
- 传输的具体流程
- 网关这一层做的是什么
- 安全是在哪个节点判断的
- 对源码了解到哪个程度
- 简单说一些 Vue 的工作原理
- 模板解析是如何做的
- 响应式的数据绑定是如何做的
- 一个点击事件如何绑定到对应的函数,这中间做了什么
- 常见前端打包工具与优缺点
- Bable 的作用
- webpack 关键概念
- 对 uniapp 了解到什么程度,它是如何实现跨端
- 代码考核:基本计算器
- 反问
二面考察什么:一面了解怎么用,二面了解怎么用更好,这就涉及到对原理的理解,比如打包工具、框架的核心概念,以及每个概念具体做了什么事,怎么实现的,主要考察原理性的东西
#软件开发2024笔面经#