一面
自我介绍
简单说了一下我任职过哪些公司,做了什么项目,技术栈有哪些
项目经历
问得非常非常非常的仔细,几乎每句话都在提问,所以要对自己写的项目经历不管是技术还是业务了解得深入才行。可以回答在做项目时用了什么技术,遇到了什么问题,怎么解决这些问题的...
八股文
下面这些问题也在问项目的时候,衍生出的问题
性能优化
性能优化问题的回答,主要分三块:
打包优化
打包优化我们可以从webpack的代码切割(split chunks)、清除无用代码(tree shaking)、部分包抽离打包为为dll、按需引用、代码压缩等等。
渲染优化
开启nginx的gizp、启用浏览器缓存、图片压缩、在开发时减少页面重绘与回流、页面懒加载
项目优化
项目发布至CDN
微前端(无界、iframe、qiankun)
React Fiber原理
React Hooks原理
宏任务与微任务
# 浏览器架构、单线程js、事件循环、消息队列、宏任务和微任务
旋转链表
一共有两种思路,第一个是先切割链表,然后再重新拼接,一个是先生成循环链表,然后再移动链表进行首位切割。最重要的是let add = n - k % n;取余这个步骤。
var rotateRight = function (head, k) {
if (k === 0 || !head || !head.next) {
return head;
}
let n = 1;
let cur = head;
while (cur.next) {
cur = cur.next;
n++;
}
let add = n - k % n;
if (add === n) {
return head;
}
cur.next = head;
while (add) {
cur = cur.next;
add--;
}
const ret = cur.next;
cur.next = null;
return ret;
};
二面
项目相关提问
依然问得非常细节
前端性能优化
参看上面