小米前端实习生一面 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-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶 点赞 评论 收藏
分享
曼迪匹艾公司福利 137人发布
查看5道真题和解析