问题
自我介绍,项目经验略。
1. xss和csrf,答得不好,其中关于cookie问到了如何实现请求不带cookie,和domain属性有关,我给扯跑偏了,扯到fetch和xhr的区别上去了;
2. bom是什么;
3.async和defer的区别;
4.预加载的实现方式,应该是想问link标签rel属性prefetch,又扯跑偏了;
5. 防抖节流,代码如下,面试官说理解有误,节流实现的有问题,节流实现的是防抖。
export const throttle = (fn, time) => { let flag = false; return (args) => { if (!flag) { flag = true; setTimeout(() => { fn.apply(this, args); flag = false; }, time) } } } export const debounce = (fn, time) => { let timer = null; return (...args) => { timer && clearTimeout(timer); timer = setTimeout(() => { fn.apply(this, args) }, time); } }6.用sass或less实现下图竖线,不会
7.实现三栏布局,左边宽固定,右两栏3比2。flex实现的,问到了flex的三个简写属性的意思,grow,shrink和basis。不过面试官表示不满意,说没有提到坐标轴概念,就是flex-direction方向。
8.如何实现对列表的点击事件监听,事件代理。
9.实现快排,代码如下,面试官表示有疑问,解释半天不是很满意。
function quickSort(target, left = 0, right = target.length - 1) { if (left >= right) return; let index = left; for (let i = left + 1; i <= right; i++) { if (target[i] <= target[left]) { [target[index + 1], target[i]] = [target[i], target[index + 1]]; index++; } } [target[left], target[index]] = [target[index], target[left]]; quickSort(target, left, index - 1); quickSort(target, index + 1, right) return target; }
面试总结
面试官评价基础一般,较薄弱;
对于某些问题有代沟,我说我的理解,面试官表示不明白,但也不说错在哪,有点难受;
项目亮点介绍真是个大问题,感觉我以为的亮点都不是亮点,唉
全部评论
(4) 回帖