base:北京
投递时间:2.27牛客网上投的、2.28初筛通过、3.3一面
1.自我介绍
2.实习做的是什么工作?
3.为什么会选择前端?
4.除了redux这种状态管理工具之外还了解其它的状态管理工具吗? √
5.react hooks的出现解决了什么问题?使用过哪些hooks?什么时候会用useMemo?√
6.hooks可不可以放到if语句内?hooks里面的依赖项对数据类型有什么特殊的要求? ×
7.代码分析题 react生命周期 ×
function Child() {
useEffect(() => {
console.log('Child');
}, [])
return <h1>child</h1>;
}
function Father() {
useEffect(() => {
console.log('Father');
}, [])
return <Child/>;
}
function App() {
useEffect(() => {
console.log('App');
}, [])
return <Father/>;
输出 Child Father App
8.代码分析题 react渲染 state/props ×
function Child() {
console.log('Child');
return <div>Child</div>;
}
function Father(props) {
const [num, setNum] = React.useState(0);
return (
<div onClick={() => {setNum(num + 1)}}>
{num}
//{props.children}
<Child/>
</div>
);
}
function App() {
return (
<Father>
<Child/>
</Father>
);
}
const rootEl = document.querySelector("#root");
ReactDOM.render(<App/>, rootEl)
9.Vue的v-for为什么要加key值 说得不具体
10.Vue 的父子组件生命周期钩子函数执行顺序 半对
11.Vue组件通信的方式 √
12.var arr = [[1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10]; 编写一个程序将数组扁平化并去除其中重复部分数据,最终得到一个升序且不重复的数组 √
13.输出结果题 宏任务 微任务 √
async function async1() {
console.log("async1 start");
await async2();
console.log("async1 end");
}
async function async2() {
console.log("async2");
}
console.log("script start");
setTimeout(function () {
console.log("setTimeout");
}, 0);
async1();
new Promise(function (resolve) {
console.log("promise1");
resolve();
}).then(function () {
console.log("promise2");
});
console.log("script end");
14.输出结果题 √
for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 1);
}
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 1);
}
15.输出结果题 this指向搞错了
const shape = {
radius: 10,
diameter() {
return this.radius * 2;
},
perimeter: () => 2 * Math.PI * this.radius,
};
console.log(shape.diameter());
console.log(shape.perimeter());
16.浏览器原理了解过吗,通过什么方式减少重排重绘 √
17.了解过ES6吗,Set、Map、WeakMap的区别 ×
18.如何判断数据类型是数组 √
19.做过服务端的项目吗?连过数据库吗?含糊过去了...
20.手写代码 ×
给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。(要求用动态规划法实现)
输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。
输入:s = "cbbd"输出:"bb"
反问环节
如何提升能力,结合具体场景把原理性的东西看透,融合自己所学的东西
公司团队主要在做什么
面试官巨温柔!!有些问题回答不上来或者回答地不具体就略过去不再细问。当场出的结果