自我介绍
说一下实习中使用的主要技术
手撕代码
1 合并有序链表
function listNode(val){ this.val = val; this.next = null; } const mergeTwoList = function(l1, l2){ let head = new listNode(0); let pre = head; while(l1 && l2){ if(l1.val > l2.val){ pre.next = l2; l2 = l2.next; } else { pre.next = l1; l1 = l1.next; } pre = pre.next; } pre.next = l1 ? l1 :l2; return head.next; }2 实现图片懒加载
var num = document.getElementsByTagName('img').length; var img = document.getElementsByTagName('img'); var n = 0; lazyLoadImg(); window.onscroll = lazyLoadImg; function lazyLoadImg(){ var height = document.documentElement.clientHeight; var scrollTop = document.body.scrollTop; for(var i = n;i < num; i++){ if(img[i].offsetTop < height + scrollTop){ img[i].src = img[i].getAttribute('...src'); } n = i + 1; } }
1 简述http和https https的加密过程以及加密原理
2 cookie的默认有效时长
3 sessionStorage同源的不同标签页的数据为什么不能互通
4 webpack是做什么的?它的运行原理
5 Typescript如何实现静态编译
6 V8引擎的编译原理
7 vue的兄弟节点如何实现通信
8 css的继承属性和通用选择器的优先级
9 前端监控页面渲染性能的实现方式
10 进程和线程是什么
11 进程之间如何实现数据通信和数据同步
12 node服务层如何封装接口
深挖底层原理 一直在拓展问 真的难 许愿二面
全部评论
(3) 回帖