本文
前往“校招VIP”小程序,访问更方便

【校招VIP】小米前端日常实习

牛客网 12月18日

转载声明:文章来源https://www.nowcoder.com/discuss/565146088366170112

第一次面大厂居然是米子, 我的米

实习是在实习僧投的, 反馈很快, 下午打电话约的面试时间, 邮件确认

面试开始拷打项目, 问Vue框架相关的内容, 后面做手写题 ( 心累, 看了一下别人的面经, 猜测小米喜欢问JS基础多一点, 以为项目和框架问的较少, 结果JS基础没有怎么问...... 收到面试邀请的时候比较意外, 准备没有很充分 )

1.项目相关的

不用filter对数据如何进行筛选

向服务端发送请求用的什么工具

谁都可以向服务器发送请求吗?

什么是跨域?

JSONP的工作原理是什么样的?

用CORS怎样解决跨域?

简单说一下Vue2的生命周期有哪些?

keep-alive相关

Vue 爷孙节点如何进行通信

Vue学习时间有多久

Vue2和Vue3之间发生的改变?

Vue组件有个state多次在template中被用到, 如果改变了state10次, 页面渲染几次?

如何做到数据改变一次就渲染一次?

介绍一下TailwindCSS

浏览器打开多个窗口, 对同一个WebSocket地址进行连接能够同时得到数据吗?

2.问的差不多了, 开始做题: (没想到飞书的视频这么高级, 在桌面端能够直接弹窗让写代码, 窗口双方都可以编辑, 几乎没有代码提示)

使用CSS手写一个三角形, 这个小米考的比较多, 所以提前背了一下, 本来想多写几种的, 被打断施法说写一种就可以 .

面试官说: "既然你项目当中有树相关的内容, 那么就来写一个树的题目吧! ", (我内心狂喜, 刚刚才复习了BFS和DFS, 之前看同公司实习面经也有问到这个题, 这不直接拿下? ), 题目是使用JS将一个{"a.b.c": 123,"a.c": 456}形式的对象转换成一个嵌套的对象, 当时有点紧张, 面试官说树怎么怎么, 但是看示例输出没有node相关的结构, 然后当时就比较纠结是不是要判断已经存在的节点(脑子有点抽了), 而且连split方法也给忘记了, 寄. (题目简单还是下去实现了一下) (自己基础还是比较差, 关键时候想不起来)

3.反问, 互相了解

小米前端主要的工作是什么?

实习生工作的主要安排是什么?

实习的话, 学校那边如何安排?

期望的工作地点是哪里?

学习相关的

function transformInput(input) {
const result = {};
Object.keys(input).forEach((key) => {
// 将对象的key进行拆分
const splitKeys = key.split(".");
let current = result;

splitKeys.forEach((k, index) => {
if (index === splitKeys.length - 1) {
current[k] = input[key];
} else {
current[k] = current[k] || {};
current = current[k];
}
});
});
return result;
}

// Example usage:
const input = {
"a.b.c": 123,
"a.c": 456,
};

const output = transformInput(input);
console.log(output);
暂无回复