base北京 微软 前端实习面经
投递渠道: 牛客网友内推
时间线
- 2024-02-21 一面
- 2024-02-26 二面
- 2024-02-27 三面
一面
- 自我介绍与实习经历
- 学业相关
- 算法:反转链表
- 算法:求一个数开方后的整数部分
二面
- 实习工作内容, 如何完善前端开发规范的
- for...in 与 for...of 的区别
- async/await 的理解
- 是否了解 AST ? 是否了解 ESLint 的原理
看代码说结果:
- 具名导入与默认导出
// utils.js
const sum = (a, b) => a + b;
export default sum;
export function minus(a, b) {
return a - b;
}
// index.js
import * as sum from "./utils";
// 如何调用相关函数
// sum.default(1, 2)
// sum.minus(1, 2)
- var / let / const 的变量提升
let 与 const 都存在变量提升, 提升到块级作用域顶部, 但同时也存在暂时性死区的概念
- 给函数的属性赋值是否会报错
function fn() {}
fn.name = "fn";
算法题:给定一个数字, 你可以将该数字中的任意一种数字替换为另一种数字, 例如你可以将该数中的所有 0 替换为 1. 你只能将一种数字替换为另一种数字, 请问通过该替换操作能得到的最大值与最小值之差为多少?
三面
- 自我介绍与实习经历
- 是否了解过性能优化, 有哪些方式
- 原生实现 tooltip
- CSS 如何绘制一个三角形
- 算法:手写堆排序
- 算法:lc 168. Excel 表列名称