百度前端一面4.25+4.21
百度TPG质量效能部前端实习生
4.25
女面试官,30min
- TCP/UDP
- url解析过程
- http状态码
- 继承有哪几种方法
- 数据类型有哪些
- 强制缓存和协商缓存
- call,apply,bind
- useContext
- 路由实现
- 生命周期
虽然回答地语无伦次。。但是基本上说了个七七八八,个人感觉是没hc了,连编程题都懒得给我出了。
最后例行反问,我明知是kpi,就不好意思问公司技术栈了,就问了学习建议哈哈哈呜呜呜
反馈:vue,react都了解一下,多和后台接触
编程题,现场本地ide演示,自己写数据
4.21两场共同考点:(男面试官,40min)
- 二叉树的前序遍历(递归,非递归最好都要掌握),
- 链表的排序(不推荐暴力)
/* * function ListNode(x){ * this.val = x; * this.next = null; * } */ /** * * @param head ListNode类 the head node * @return ListNode类 */ function sortInList( head ) { // write code here let ary = []; let curHead = head; while(curHead) { ary.push(curHead.val) curHead = curHead.next; } ary = ary.sort((a, b) => a - b); let cur = head; // new ListNode(-1); for(let i = 0; i < ary.length; i++) { cur.val = ary[i]; cur = cur.next; } return head; } module.exports = { sortInList : sortInList };
- ES6 的新特性及其用法
- promise:
- 用 Promise 实现 delay /sleep函数
const sleep = (time) =>{ return new Promise((resolve) => { setTimeout(resolve,time) }) } sleep(5000).then(()=>{ // 5秒后执行 console.log(123) })
- 用 async await 结合Promise.all 的示例
- async/await的原理
- flex深挖:
- 说一下与 flex 相关的一些属性,实现两栏布局
flex:1
flex 属性是 flex-grow, flex-shrink 和 flex-basis 的简写,默认值为 0 1 auto。后两个属性可选。
flex 属性属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
- 想要一个 flex 元素不能收缩,也不能扩展,应该怎么做
就是flex-grow flex-shrink flex-bais
flex: 0 1 200px;
Hooks用法:
4.21(校友场)
本场题目来自百度tg部门面经
1.自我介绍
2.为啥学前端(非科班必问,但科班也可能问)
3.ES6特性
4.讲一下proxy
5.实现一个promise3秒后执行
6.介绍一下Reflect
7.flex实现两栏布局,flex属性
8.async/await(中间发生了啥,返回值)
9.Promise.all的用法
(以下两个问题来自项目衍生)
10.渲染列表中间发来啥(因为我提到storeRefs,为啥会自动的渲染出来)
11.echarts用法
12.二叉树的前序遍历,链表的排序(算法)
4.21(牛友场)
本场题目来自前端实习 百度 TPG 质量效能部 一面
- 二叉树的前序遍历(不了解二叉树,跳过了)
- 链表的排序(暴力出来,面试官似乎不太满意)
- 还用过 ES6 的哪些其他新特性
- 用 Promise 实现 delay 函数
- 用 async await 实现一个请求函数
- 写一个 Promise.all 的示例
- async 的原理
- 说一下与 flex 相关的一些属性
- 想要一个 flex 元素不能收缩,也不能扩展,应该怎么做
- useEffect 具体是什么作用,做了什么事情
- useMemo 的 dependences 里有什么数组,假如这个数组里的元素变了会更新 useMemo 的缓存吗
useCallback返回一个可记忆的函数,useMemo返回一个可记忆的值,useCallback只是useMemo的一种特殊形式。
useEffect 共两个参数: callback 和 dependences 。规则如下:
dependences 不存在时,默认是所有的 state 和 props 。即:每次 render 之后都会执行 callback。
dependences 存在时, dependences 数组中的所有项,只要任何一个有改变,在触发 componentDidUpdate 之后也会执行 callback。
dependences 为空数组时,表示不依赖任何的 state 和 props 。即: useEffect 只会在 componentDidMount 之后执行一次。其后 state 或 props 触发的 componentDidUpdate 后不会执行 callback。
- callback 可以有返回值。该返回值是一个函数。会在 componentWillUnmount 时自动触发执行。
- 在什么场景下会用到 pinia
- 为什么要写单元测试
- 问项目