9月末面试准备

  • 如何实现一个串行Promise(Reduce)
function runPrimiseInLine(pList) {
  pList.reduce(
    (prevP, currP) => prevP.then(() => currP()),
    Promise.resolve()
  );
}
  • CSRF攻击:介绍如何攻击,GET和POST怎么攻击?如何防御?

  • ESM和CJS的区别

  • webpack相关,提取common chunk,tree shaking是如何实现的

  • 什么是AST?是做什么的?

  • 如何编写loaders 和 plugins

  • content-type内容

  • 简单请求/复杂请求:
    涉及到CORS的请求中,我们会把请求分为简单请求和复杂请求。
    以下内容受限:请求方式、请求头信息、content-type、xml监听器
    对于后端ACAO不可以直接设*,而是要设置不同的响应头Access-Control-Request-Method: POST、Access-Control-Request-Headers: X-CUSTOMER-HEADER, Content-Type


  • 剑指Offer 046-孩子们的游戏-圆圈中最后剩下的数(约瑟夫环)

  • 必考:手写判断字符串是否为标准ipv4

  • 构造二叉搜索树再中序遍历

  • 代码题 动态规划:股票最佳时机1-4,字符串变化的最小步骤(最小编辑距离)

  • 调整数组使奇数在前偶数在后,保证顺序,不使用额外空间

  • URL解析参数query,要求写正则


HTTPS握手

三阶段 Hello,KeyChange,Finished

> Hello
< KeyChange
> Finished

在这里插入图片描述

验证证书有效性

在这里插入图片描述
信息摘要→CA私钥→加密得数字签名
在这里插入图片描述
数字签名→CA公钥→解密得信息摘要

比对解密得信息摘要 与原本的信息摘要 即可知道CA是否有效

CA证书里面都包含什么: 签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等

Content-type

在这里插入图片描述

前端文件上传

  • form表单 enctype=“multipart/form-data”,type=“post”
  • formData = new FormData(); formData.append(“file”, file); //file是blob数据

function uploadFile() {	
  const file = document.getElementById('file').files[0];	
  const xhr = new XMLHttpRequest();	
  const fd = new FormData();	
  fd.append('file', file);	
  xhr.open('POST', 'http://127.0.0.1:8000/upload', true);	
  xhr.onreadystatechange = function() {	
    if (xhr.readyState == 4 && xhr.status == 200) {	
      alert(xhr.responseText);	
    }	
  };	
  xhr.send(fd);	

瀑布流

https://www.jianshu.com/p/ef89f7965fc3

TO DO

http/https了解吗?底层是什么?

tcp和udp的区别是什么?

tcp如何保证可靠性?具体讲一下

01二维数组,1组成的最大正方形面积 https://blog.csdn.net/Jiangtagong/article/details/111059377

二叉树中和为某一值的路径(剑指offer 34)

· 给定一个二叉树的两个叶子节点,每个节点给出指向父节点的指针,返回它们的最近公共父亲节点。 要求空间复杂度为O(1)

1、题目1:给一个非空数组,返回数目最多的元素,如果有多个数目最多的元素,返回最短的子串长度(第一次出现到最后一次出现)。

2、题目2:给定一个非空数组,求下标 i,j 之间的区间和,需要进行 m 次查找

3、题目3:给定一个数组,求所有两个数字和等于 target 的所有的数字对。

4、题目4:假设有一个很大的日志文件,每行存一个IP地址,每次访问都存
一个IP地址,找出访问量最多的10个IP。

3.算法:在一个单链表中,每k个节点进行反转,无法被反转的部分放在末尾。

Leetcode 61给定一个单链表 输出该链表右移K位的新链表

leetcode 215给定一个数组 输出数组里第k大的数字

注意:面试的时候 一般不允许使用sort 直接排序 要用自己学过的排序算法实现!!

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
智力题:有一个水龙头,一个5L水杯,一个7L水杯,如何精准地获得6L水? (说了一个方法,但是被说太复杂了)

带随机指针的链表深拷贝

小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住) (写了个O(n^2)的,想不出来了)

· 有十个机器,九个是生产的金币是5g,只有一个生产的是4g,给你一个称,问你一次怎么找出来那个生产4g金币的机器

· 64匹马,8个赛道,每次比赛能知道相对顺序不知道具体时间,求用最少的比赛次数,求出最快的4匹

· 实时输出最近一个小时内访问频率最高的10个IP,要求:实时输出;从当前时间向前数的1个小时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值