秋招提前批陆陆续续投了十多家了,只有百度一家公司愿意搭理我,可怜的我啊
自我介绍
介绍一下腾讯做的离线日志项目
html 解析流程(css、js、图片这些资源的加载顺序)
js 事件循环
介绍一下字节做的项目(断点续传、超时重传怎么做的)
算法题:求两个字符串的最长子串(不是子序列)
暴力解法:
function solution(a, b) {
if (a.length > b.length) {
[a, b] = [b, a]
}
let res = 0
for (let i = 0; i < a.length; i ++ ) {
for (let j = i; j < a.length; j ++ ) {
const str = a.slice(i, j+1)
if (b.includes(str)) {
res = Math.max(res, str.length)
}
}
}
return res
}
动态规划解法:
function solution(a, b) {
let res = 0
const dp = Array(a.length+1).fill(0).map(() => Array(b.length+1).fill(0))
for (let i = 1; i <= a.length; i ++ ) {
for (let j = 1; j <= b.length; j ++ ) {
if (a[i-1] === b[j-1]) {
dp[i][j] = dp[i-1][j-1] + 1
} else {
dp[i][j] = 0
}
res = Math.max(dp[i][j], res)
}
}
return res
}
总结:一面是一个很温柔的小姐姐,问的问题都比较基础,所以很快就结束了,中间算法题会和你一起排查讨论,面试体验很棒
自我介绍
从项目中挑一个你觉得做得最好的介绍一下
飞书实习做的项目有多少人参与,飞书文档有哪些类型?
文档的格式迁移底层的原理是什么?
腾讯实习做的离线日志具体是怎么做的?支持了多少个项目?
支持哪些日志类型?日志的参数格式是怎么约定的?
对于一个对日志要求很高的项目(广告),怎么去准确的判断日志有没有丢失?
怎么去统计的某一个页面用户的留存时间,你怎么知道用户跳去其它页面或者关掉了页面?
微前端怎么去实现css样式隔离的?平时怎么写css的?
微前端怎么实现 js 隔离的,沙箱的实现方式有几种?
react 的函数式组件和类组件你一般用哪一个,它们两个的优缺点?
状态管理库你用过哪些?分别都适用于什么场景
setState的同步/异步问题你怎么理解的?
算法题:多层嵌套的数组,扁平化后去重然后再排序
去重如果不用 set 还有多少种方式,有没有更高效的方式?
排序有哪几种?时间复杂度,分别适用于什么场景?你觉得 sort 方法底层用的是什么排序方式?
如果让你统计上面的函数到底运行了多久,你怎么去统计?performance api?
在不支持 set 的浏览器上使用 set 有什么办法?(polyfill) 原理是什么?
让不支持高级css属性(比如grid布局)的浏览器支持这些属性有什么办法?原理是什么?这个没答上来....
总结:二面是一个酷酷的小姐姐,应该是个前端小组长。个人感觉有点上难度了,项目挖的很深,几乎没有什么八股文,都是基于实际场景问的问题,发挥的有些一般,有几个问题答得不是很好,不知道G没G
08/01更新:官网流程共享中, G。
#百度提前批##2022秋招##前端面经##面经##前端工程师#