1.排序

https://zhuanlan.zhihu.com/p/52884590 视频 | 手撕九大经典排序算法,看我就够了!

https://zhuanlan.zhihu.com/p/57088609 必学十大经典排序算法,看这篇就够了(附完整代码动图优质文章)

2.正则总结

https://www.cnblogs.com/fanyegong/p/12118290.html 

3.性能优化总结

https://www.cnblogs.com/fanyegong/p/12186291.html

4.安全 xss crsf内容安全策略( CSP ) https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP

https://www.cnblogs.com/fanyegong/p/12220612.html

5.HTTPS HTTP2 代理

(1)https://www.cnblogs.com/fanyegong/p/12421731.html http缓存控制

(2)https://www.cnblogs.com/fanyegong/p/12212682.html  HTTPS、HTTP/2前端入门篇

(3)https://www.cnblogs.com/fanyegong/p/12212692.html 使用Wireshark查看HTTPS中TLS握手过程

(4)https://imququ.com/post/web-proxy.html HTTP 代理原理及实现(直连用http CONNECT方法)代理服务器不支持长链接怎么办?

(5)数字签名 数字摘要 证书 

https://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html “苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。”“证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。”

(6)http-dns?https://zhuanlan.zhihu.com/p/102839806

(7)http协议 request method : CONNECT DELETE GET HEAD OPTIONS PATCH POST PUT TRACE https://developer.mozilla.org/zh-CN/docs/Web/HTTP

(8)OPTIONS 方法 1.用来检测服务器所支持的请求方法 2.CORS 中的预检请求preflight eg:

Origin:Access-Control-Request-Method:   Access-Control-Request-Headers:

(9)文件上传怎么传 multipart/form-data boundary(用来分割表单里的多个字段)

form表单里需要设置enctype="multipart/form-data"

eg: Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC

https://blog.csdn.net/xiaojianpitt/article/details/6856536

https://www.zhihu.com/question/58118565

(10)断点续传  Range/If-Range Content-Range 

客户端发If-Range确认文件是否已经变更,没变更则返回206Partial Content 和Content-Range属性,变更则会重头传返回200 Ok

If-Range 可以使用 Etag 或者 Last-Modified 返回的值。当没有 ETage 却有 Last-modified 时,可以把 Last-modified 作为 If-Range 字段的值。

If-Range 必须与 Range 配套使用。如果请求报文中没有 Range,那么 If-Range 就会被忽略。如果服务器不支持 If-Range,那么 Range 也会被忽略。

https://blog.csdn.net/liang19890820/article/details/53215087

https://www.huaweicloud.com/articles/6c264b71ee8894eb55afa9ba79accf41.html 断点续传指下载,上传需要自己实现

https://juejin.cn/post/6844904046436843527#heading-17 大文件上传 Blob.prototype.slice分片, XMLHttpRequest 的 upload.onprogress监听进度,使用web worker计算hash

(11)状态码 

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status 101 206 429 500 501 502 301 302 403 404
302时: Status Code:302 Found; Location:https://page.om.qq.com/page/O47s-FTJETmuXwqo2pxmRI1Q0

307:为了补充302.重定向必须使用原请求的方法和包体访问 eg:http://www.baidu.com 307 Internal Redirect

(12)cdn回源时删除Content-Disposition响应头,可以直接在浏览器打开文件而不是下载

https://juejin.im/post/5d521575f265da03ee6a4bda

6.跨域方案

https://juejin.im/post/5ba1d4fe6fb9a05ce873d4ad#heading-15

7.判断JS数据类型的四种方法

https://www.cnblogs.com/onepixel/p/5126046.html

8.事件循环 宏任务微任务 Node中的setImmediate和process.nextTick 

https://juejin.im/post/5b73d7a6518825610072b42b#heading-7

https://juejin.im/post/5c3d8956e51d4511dc72c200

https://juejin.im/post/5c3e8d90f265da614274218a

9.pm2原理?

https://quincychen.cn/pm2-implementation/

10.垂直居中的多个方法

https://www.cnblogs.com/coco1s/p/4444383.html

11.深复制的多个方法

递归 JSON(只有可以转成JSON格式的对象才可以这样用,像function没办法转成JSON) 解构赋值是浅拷贝

https://segmentfault.com/a/1190000016440069

12.performance API

13.移动端适配方案

rem <html style="font-size: 100px;"></html>

px rpx em rem vh vw vm

https://www.cnblogs.com/sumlen/p/12091119.html

14.异步方法

callback async/await promise generator

15.apply call bind

func.apply(thisArg, [argsArray])

Array.prototype.indexOf.apply(arr, Array.prototype.slice.call(arguments, 1));
 
function.bind(thisArg[, arg1[, arg2[, ...]]])
Function.prototype.bind.apply(fn, slice.call(arguments, 1));
 
function.call(thisArg, arg1, arg2, ...)
Object.prototype.hasOwnProperty.call(properties, prop)

 

16.查找一个字符串中出现最多的字符

17.hash表的原理?链表?

https://blog.csdn.net/duan19920101/article/details/51579136

18.webpack原理

https://segmentfault.com/a/1190000017890529

https://zhuanlan.zhihu.com/p/58151131

https://juejin.im/entry/5b0e3eba5188251534379615 webpack原理

https://webpack.docschina.org/guides/tree-shaking/ webpack treeshaking:  sideEffects: false  使用import

https://juejin.im/post/5c73a003f265da2dc37b34c3 动态加载React组件 require.ensure()  import()

https://webpack.docschina.org/guides/code-splitting/#%E5%8A%A8%E6%80%81%E5%AF%BC%E5%85%A5-dynamic-imports- 动态加载 指南

https://webpack.docschina.org/guides/hot-module-replacement/ HMR热更新 websocket eventsource

https://webpack.docschina.org/migrate/ webpack迁移

 

19.redux原理?

https://juejin.im/post/5db7ae36e51d452a374efa53

20.模块化

https://juejin.im/post/5c17ad756fb9a049ff4e0a62

https://www.html.cn/archives/6360  兼容多种模块规范

21.TCP协议?

https://zhuanlan.zhihu.com/p/53374516 三次握手四次挥手

https://blog.csdn.net/lqglqglqg/article/details/48714611 TCP包的类型 (SYN, FIN, ACK, PSH, RST, URG)

https://blog.csdn.net/u014530704/article/details/78842000 TCP三次握手wireshark抓包分析

https://segmentfault.com/a/1190000014740303 浅析TLS 1.2协议

https://juejin.im/post/5d9c284b518825095879e7a5#heading-7 三次握手四次挥手详解

 

22.抛物线的绘制?

https://www.jianshu.com/p/8cb952d2065b 

23.kbone原理?

24.Fiber 和虚拟dom原理?

25.

26.前端面试题目:

https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/9 

27.less sass

28.兼容问题

29.echarts

var myChart = echarts.init(container)

myChart.setOption(option)
30.语法校验

31.设计模式?

https://juejin.im/post/5c984610e51d45656702a785

https://segmentfault.com/a/1190000012430769

32.serverless

32.electron

33.loadash rxjs tx angular vue

34.抽象语法树AST

应用于eslint TypeScript、babel、webpack、vue-cli 

常用的JavaScript Parser:

  • esprima
  • traceur
  • acorn
  • shift

其中webpack就是使用的acorn将源代码解析成AST进行操作。

https://zhuanlan.zhihu.com/p/32189701

https://juejin.im/post/5d50d1d9f265da03aa25607b

查看AST的平台https://astexplorer.net/

35.es6?

https://es6.ruanyifeng.com/#docs/decorator

36.客户端通信?

https://juejin.im/post/5a952cd85188257a6e405b9d iOS下JS与OC互相调用(三)--MessageHandler

window.webkit.messageHandlers.<name>.postMessage(<messageBody>)

37.docker

https://imququ.com/post/use-docker.html

38.__proto__和prototype的关系 https://www.zhihu.com/question/34183746

(1).在JS里,万物皆对象。方法(Function)是对象,方法的原型(Function.prototype)是对象。因此,它们都会具有对象共有的特点。
即:对象具有属性__proto__,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。

(2).方法(Function)
方法这个特殊的对象,除了和其他对象一样有上述_proto_属性之外,还有自己特有的属性——原型属性(prototype),这个属性是一个指针,指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法(我们把这个对象叫做原型对象)。原型对象也有一个属性,叫做constructor,这个属性包含了一个指针,指回原构造函数。

 

 

39.websocket 在chrome中查看

Connection: Upgrade   Upgrade:websocket

https://blog.csdn.net/huohuotu/article/details/77816597

40.进程和线程的区别

 


 

 

 

 

 

 

 

 

 

 

 
posted on 2021-10-25 14:38  翻页工  阅读(34)  评论(0编辑  收藏  举报