小米前端实习生一面 1.20
1.自我介绍
2.介绍一下mcp, skills
3.了解react哪些状态管理库
4.对话是sse还是什么?是用fetch还是EventSource?
5.ts中的any 和 unknown讲一讲
6.是直接用组件库的组件还是自己封装了一些别的
7.代码输出题1
function main() {
{
var a = 1
let b = 2
}
console.log(a);
console.log(b);
}
main()
console.log(a);
8.什么是块级作用域 全局作用域 函数作用域
9.代码输出题2
for (var i = 0;i < 5;i++) {
setTimeout(() => {
console.log(i);
}, 100);
}
10.代码输出题3
for (var i = 0; i < 5; i++){
function printText(temp) {
setTimeout(() => {
console.log(temp);
}, 100);
}
printText(i)
}
11.代码输出题4
for(var i = 0;i < 5;i++){
function printText(temp) {
var temp = i
setTimeout(() => {
console.log(temp);
}, 100);
}
printText(i)
}
12.代码输出题5
for(var i = 0;i < 5;i++){
function printText(temp) {
setTimeout(() => {
var temp = i
console.log(temp);
}, 100);
}
printText(i)
}
13.点击控制台输出题
export default function App() {
const [count, setCount] = useState(0)
console.log('render',count)
return (
<div>
<h1>{count}</h1>
{
setCount(count + 1)
setTimeout(() => console.log('setTimeout', count), 1000)
}}
>
+1
</div>
)
}
//这个组件点击按钮后,控制台的输出顺序和值如下:
// 1. render 1 (组件重新渲染, count 更新为 1)
// 2. setTimeout 0 (1秒后输出,注意这里是 0 而不是 1)
14.算法:给有序数组arr = [-4, -1, 0, 3, 5],返回平方后的排序
// 有序数组平方后排序
const arr = [-4, -1, 0, 3, 5]
function solution(arr) {
const len = arr.length
const result = new Array(len)
let left = 0
let right = len - 1
let index = len - 1
while (left <= right) {
if (arr[left] * arr[left] > arr[right] * arr[right]) {
result[index] = arr[left] * arr[left]
left++
} else {
result[index] = arr[right] * arr[right]
right--
}
index--
}
return result
}
console.log(solution(arr));
15.反问
#发面经攒人品#
2.介绍一下mcp, skills
3.了解react哪些状态管理库
4.对话是sse还是什么?是用fetch还是EventSource?
5.ts中的any 和 unknown讲一讲
6.是直接用组件库的组件还是自己封装了一些别的
7.代码输出题1
function main() {
{
var a = 1
let b = 2
}
console.log(a);
console.log(b);
}
main()
console.log(a);
8.什么是块级作用域 全局作用域 函数作用域
9.代码输出题2
for (var i = 0;i < 5;i++) {
setTimeout(() => {
console.log(i);
}, 100);
}
10.代码输出题3
for (var i = 0; i < 5; i++){
function printText(temp) {
setTimeout(() => {
console.log(temp);
}, 100);
}
printText(i)
}
11.代码输出题4
for(var i = 0;i < 5;i++){
function printText(temp) {
var temp = i
setTimeout(() => {
console.log(temp);
}, 100);
}
printText(i)
}
12.代码输出题5
for(var i = 0;i < 5;i++){
function printText(temp) {
setTimeout(() => {
var temp = i
console.log(temp);
}, 100);
}
printText(i)
}
13.点击控制台输出题
export default function App() {
const [count, setCount] = useState(0)
console.log('render',count)
return (
<div>
<h1>{count}</h1>
{
setCount(count + 1)
setTimeout(() => console.log('setTimeout', count), 1000)
}}
>
+1
</div>
)
}
//这个组件点击按钮后,控制台的输出顺序和值如下:
// 1. render 1 (组件重新渲染, count 更新为 1)
// 2. setTimeout 0 (1秒后输出,注意这里是 0 而不是 1)
14.算法:给有序数组arr = [-4, -1, 0, 3, 5],返回平方后的排序
// 有序数组平方后排序
const arr = [-4, -1, 0, 3, 5]
function solution(arr) {
const len = arr.length
const result = new Array(len)
let left = 0
let right = len - 1
let index = len - 1
while (left <= right) {
if (arr[left] * arr[left] > arr[right] * arr[right]) {
result[index] = arr[left] * arr[left]
left++
} else {
result[index] = arr[right] * arr[right]
right--
}
index--
}
return result
}
console.log(solution(arr));
15.反问
#发面经攒人品#
全部评论
前端如此深奥
学习了
已老实

根本看不懂一点点
相关推荐
01-16 11:50
浙江工商大学 Java 点赞 评论 收藏
分享
小舰大杀四方:现在的就业环境真是艰难,你好歹磕磕绊绊也走过三面了,回答的肯定也不错,尤其是hr面问了你这么多问题,,,结果一周都没消息。想知道现在的公司到底在高贵什么啊
点赞 评论 收藏
分享


查看20道真题和解析