-
Notifications
You must be signed in to change notification settings - Fork 894
/
all.md
executable file
·9055 lines (5368 loc) · 233 KB
/
all.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# 全部面试题汇总
- [写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,...,a+nb 的时间,然后写一个 myClear,停止上面的 mySetInterVal](#写一个-mysetintervalfn-a-b每次间隔-aaba2b-的时间然后写一个-myclear停止上面的-mysetinterval)
- [合并二维有序数组成一维有序数组,归并排序的思路](#合并二维有序数组成一维有序数组归并排序的思路)
- [斐波那契数列](#斐波那契数列)
- [字符串出现的不重复最长长度](#字符串出现的不重复最长长度)
- [介绍chrome 浏览器的几个版本](#介绍chrome-浏览器的几个版本)
- [React 项目中有哪些细节可以优化?实际开发中都做过哪些性能优化](#react-项目中有哪些细节可以优化实际开发中都做过哪些性能优化)
- [react 最新版本解决了什么问题 加了哪些东西](#react-最新版本解决了什么问题-加了哪些东西)
- [说一下 Http 缓存策略,有什么区别,分别解决了什么问题](#说一下-http-缓存策略有什么区别分别解决了什么问题)
- [介绍防抖节流原理、区别以及应用,并用JavaScript进行实现](#介绍防抖节流原理区别以及应用并用javascript进行实现)
- [前端安全、中间人攻击](#前端安全中间人攻击)
- [对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景](#对闭包的看法为什么要用闭包说一下闭包原理以及应用场景)
- [css 伪类与伪元素区别](#css-伪类与伪元素区别)
- [有一堆整数,请把他们分成三份,确保每一份和尽量相等(11,42,23,4,5,6 4 5 6 11 23 42 56 78 90)](#有一堆整数请把他们分成三份确保每一份和尽量相等114223456-4-5-6-11-23-42-56-78-90)
- [实现 lodash 的_.get](#实现-lodash-的_get)
- [实现 add(1)(2)(3)](#实现-add123)
- [实现链式调用](#实现链式调用)
- [React 事件绑定原理](#react-事件绑定原理)
- [类数组和数组的区别,dom 的类数组如何转换成数组](#类数组和数组的区别dom-的类数组如何转换成数组)
- [webpack 做过哪些优化,开发效率方面、打包策略方面等等](#webpack-做过哪些优化开发效率方面打包策略方面等等)
- [说一下事件循环机制(node、浏览器)](#说一下事件循环机制node浏览器)
- [如何封装 node 中间件](#如何封装-node-中间件)
- [node 中间层怎样做的请求合并转发](#node-中间层怎样做的请求合并转发)
- [介绍下 promise 的特性、优缺点,内部是如何实现的,动手实现 Promise](#介绍下-promise-的特性优缺点内部是如何实现的动手实现-promise)
- [实现 Promise.all](#实现-promiseall)
- [React 组件通信方式](#react-组件通信方式)
- [redux-saga 和 mobx 的比较](#redux-saga-和-mobx-的比较)
- [说一下 react-fiber](#说一下-react-fiber)
- [手写发布订阅](#手写发布订阅)
- [手写数组转树](#手写数组转树)
- [手写用 ES6proxy 如何实现 arr[-1] 的访问](#手写用-es6proxy-如何实现-arr-1-的访问)
- [手写实现 Array.flat()](#手写实现-arrayflat)
- [react 实现一个全局的 dialog](#react-实现一个全局的-dialog)
- [[实操题]输入一条 polyline,输出 polyline 的中点](#实操题输入一条-polyline输出-polyline-的中点)
- [Umi 和 dva 分别是干嘛用的?为什么会有 umi dva 的出现?使用起来有什么不方便的地方吗?](#umi-和-dva-分别是干嘛用的为什么会有-umi-dva-的出现使用起来有什么不方便的地方吗)
- [React 数据持久化有什么实践吗?](#react-数据持久化有什么实践吗)
- [使用过 mobx mobx 和 redux 有什么区别?](#使用过-mobox-吗mobox-和-redux-有什么区别)
- [文件上传如何做断点续传](#文件上传如何做断点续传)
- [大数计算如何实现](#大数计算如何实现)
- [请用算法实现,从给定的无序、不重复的数组data中,取出n个数,使其相加和为sum。并给出算法的时间/空间复杂度。(不需要找到所有的解,找到一个解即可)](#请用算法实现从给定的无序不重复的数组data中取出n个数使其相加和为sum并给出算法的时间空间复杂度不需要找到所有的解找到一个解即可)
- [什么是深拷贝,和浅拷贝有什么区别,动手实现一个深拷贝](#什么是深拷贝和浅拷贝有什么区别动手实现一个深拷贝)
- [实现一个方法判断 html 中的标签是否闭合](#实现一个方法判断-html-中的标签是否闭合)
- [mysql 和 mongodb 区别](#mysql-和-mongodb-区别)
- [V8 机制讲解](#v8-机制讲解)
- [说一下盒子模型,以及标准情况和 IE 下的区别](#说一下盒子模型以及标准情况和-ie-下的区别)
- [箭头函数和普通函数的区别](#箭头函数和普通函数的区别)
- [说下 webpack 的 loader 和 plugin 的区别,都使用过哪些 loader 和 plugin](#说下-webpack-的-loader-和-plugin-的区别都使用过哪些-loader-和-plugin)
- [Css 如何画出一个扇形,动手实现下](#css-如何画出一个扇形动手实现下)
- [介绍下 webpack,并说下 Webpack 的构建流程](#介绍下-webpack并说下-webpack-的构建流程)
- [说下 tree-shaking 的原理](#说下-tree-shaking-的原理)
- [Webp 格式的图片怎么生成,使用有什么兼容性问题,如何怎么解决](#webp-格式的图片怎么生成使用有什么兼容性问题如何怎么解决)
- [React 高阶组件 renderprops hooks 有什么区别,为什么要不断迭代](#react-高阶组件-renderprops-hooks-有什么区别为什么要不断迭代)
- [说一下 React setState 原理](#说一下-react-setstate-原理)
- [说一下 React diff 算法](#说一下-react-diff-算法)
- [说一下 React 生命周期,以及都有哪些改变,为什么去掉了那几个旧的生命周期](#说一下-react-生命周期以及都有哪些改变为什么去掉了那几个旧的生命周期)
- [React key 是干嘛用的 为什么要加?key 主要是解决哪一类问题的](#react-key-是干嘛用的-为什么要加key-主要是解决哪一类问题的)
- [Redux 中异步的请求怎么处理](#redux-中异步的请求怎么处理)
- [CDN 是什么?描述下 CDN 原理?为什么要用 CDN?](#cdn-是什么描述下-cdn-原理为什么要用-cdn)
- [PWA 是什么?对 PWA 有什么了解](#pwa-是什么对-pwa-有什么了解)
- [讲一下 webpack 原理, loader 和 plugin,你知道哪些模块化标准,说下 cjs 和 esmodule 的区别](#讲一下-webpack-原理-loader-和-plugin你知道哪些模块化标准说下-cjs-和-esmodule-的区别)
- [es5 实现 isInteger](#es5-实现-isinteger)
- [单向链表实现队列](#单向链表实现队列)
- [写出输出结果](#写出输出结果)
- [将给定的数组从顶级分类递归查找子分类,最终构建一个树状数组](#将给定的数组从顶级分类递归查找子分类最终构建一个树状数组)
- [手写 dom 操作,翻转 li 标签,如何处理更优](#手写-dom-操作翻转-li-标签如何处理更优)
- [怎样判断一个对象是否是数组,如何处理类数组对象](#怎样判断一个对象是否是数组如何处理类数组对象)
- [是否熟悉 Node,主要做过哪些业务,平时用过什么包?](#是否熟悉-node主要做过哪些业务平时用过什么包)
- [是否了解 glob,glob 是如何处理文件的,业界是否还有其它解决方案](#是否了解-globglob-是如何处理文件的业界是否还有其它解决方案)
- [说一下 Vue 的 keep-alive 是如何实现的,具体缓存的是什么?](#说一下-vue-的-keep-alive-是如何实现的具体缓存的是什么)
- [Redux 和 Vuex 有什么区别,说下一它们的共同思想](#redux-和-vuex-有什么区别说下一它们的共同思想)
- [谈一下微信小程序的架构以及为什么要用到双线程](#谈一下微信小程序的架构以及为什么要用到双线程)
- [随便打开一个网页,用 JavaScript 打印所有以 s 和 h 开头的标签,并计算出标签的种类](#随便打开一个网页用-javascript-打印所有以-s-和-h-开头的标签并计算出标签的种类)
- [1000*1000 的画布,上面有飞机、子弹,如何划分区域能够更有效的做碰撞检测,类似划分区域大小与碰撞检测效率的算法,说一下大致的思路](#10001000-的画布上面有飞机子弹如何划分区域能够更有效的做碰撞检测类似划分区域大小与碰撞检测效率的算法说一下大致的思路)
- [移动设备安卓与 iOS 的软键盘弹出的处理方式有什么不同](#移动设备安卓与-ios-的软键盘弹出的处理方式有什么不同)
- [iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决](#iphone-里面-safari-上如果一个输入框-fixed-绝对定位在底部当软键盘弹出的时候会有什么问题如何解决)
- [iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决](#iphone-里面-safari-上如果一个输入框-fixed-绝对定位在底部当软键盘弹出的时候会有什么问题如何解决-1)
- [iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决](#iphone-里面-safari-上如果一个输入框-fixed-绝对定位在底部当软键盘弹出的时候会有什么问题如何解决-2)
- [给定一个数组,按找到每个元素右侧第一个比它大的数字,没有的话返回-1 规则返回一个数组](#给定一个数组按找到每个元素右侧第一个比它大的数字没有的话返回-1-规则返回一个数组)
- [说一说 promise,有几个状态,通过 catch 捕获到 reject 之后,在 catch 后面还能继续执行 then 方法嘛,如果能执行执行的是第几个回调函数](#说一说-promise有几个状态通过-catch-捕获到-reject-之后在-catch-后面还能继续执行-then-方法嘛如果能执行执行的是第几个回调函数)
- [var、let、const 的区别](#varletconst-的区别)
- [说一下 GC](#说一下-gc)
- [BFC 是什么?触发 BFC 的条件是什么?有哪些应用场景?](#bfc-是什么触发-bfc-的条件是什么有哪些应用场景)
- [说一下浏览器解析 Html 文件的过程](#说一下浏览器解析-html-文件的过程)
- [说一下什么是重绘重排,哪些操作会造成重绘重排](#说一下什么是重绘重排哪些操作会造成重绘重排)
- [什么情况会出现浏览器分层](#什么情况会出现浏览器分层)
- [通过 link 进来的 css 会阻塞页面渲染嘛,Js 会阻塞吗,如果会如何解决?](#通过-link-进来的-css-会阻塞页面渲染嘛js-会阻塞吗如果会如何解决)
- [如何实现按需加载](#如何实现按需加载)
- [讲一下 import 的原理,与 require 有什么不同](#讲一下-import-的原理与-require-有什么不同)
- [为什么 useState 要使用数组而不是对象](#为什么-usestate-要使用数组而不是对象)
- [从输入 URL 到页面加载全过程](#从输入-url-到页面加载全过程)
- [请实现如下的函数](#请实现如下的函数)
- [DNS 解析的具体过程](#dns-解析的具体过程)
- [常见的 http 请求头都有哪些,以及它们的作用](#常见的-http-请求头都有哪些以及它们的作用)
- [encoding 头都有哪些编码方式](#encoding-头都有哪些编码方式)
- [utf-8 和 asc 码有什么区别](#utf-8-和-asc-码有什么区别)
- [tcp 和 udp 有什么区别?tcp 怎样确保数据正确性?tcp 头包含什么?tcp 属于那一层?](#tcp-和-udp-有什么区别tcp-怎样确保数据正确性tcp-头包含什么tcp-属于那一层)
- [传输层和网络层分别负责什么,端口在什么层标记](#传输层和网络层分别负责什么端口在什么层标记)
- [介绍下 Https,和 http 的区别是什么?https 为什么比 http 安全?如何进行配置?](#介绍下-https和-http-的区别是什么https-为什么比-http-安全如何进行配置)
- [说一下加密握手的过程](#说一下加密握手的过程)
- [对称加密和非对称加密的区别和用处](#对称加密和非对称加密的区别和用处)
- [是否用过 restful 接口,和其他风格的有什么区别](#是否用过-restful-接口和其他风格的有什么区别)
- [说一下 get、post、put 的区别](#说一下-getpostput-的区别)
- [说一下对面向对象的理解,面向对象有什么好处](#说一下对面向对象的理解面向对象有什么好处)
- [类设计:使用面相对象设计一个停车场管理系](#类设计使用面相对象设计一个停车场管理系)
- [实现输出一个十六进制的随机颜色(#af0128a)](#实现输出一个十六进制的随机颜色af0128a)
- [justify-content:space-between around 有什么区别](#justify-contentspace-between-around-有什么区别)
- [手写代码实现kuai-shou-front-end=>KuaiShouFrontEnd](#手写代码实现kuai-shou-front-endkuaishoufrontend)
- [浏览器都有哪些进程,渲染进程中都有什么线程](#浏览器都有哪些进程渲染进程中都有什么线程)
- [说说浏览器渲染流程,分层之后在什么时候合成,什么是重排、重绘,怎样避免](#说说浏览器渲染流程分层之后在什么时候合成什么是重排重绘怎样避免)
- [什么是同源策略?什么是跨域?都有哪些方式会造成跨域?解决跨域都有什么手段?](#什么是同源策略什么是跨域都有哪些方式会造成跨域解决跨域都有什么手段)
- [什么是 CORS,CORS 需要前端配置还是后端配置?](#什么是-corscors-需要前端配置还是后端配置)
- [设计一个 Student 组件,实现输入姓名性别成绩(这三个必填),还有几个不是必填的属性,要设置默认值,点击弹出成绩](#设计一个-student-组件实现输入姓名性别成绩这三个必填还有几个不是必填的属性要设置默认值点击弹出成绩)
- [设计一个函数,奇数次执行的时候打印 1,偶数次执行的时候打印 2](#设计一个函数奇数次执行的时候打印-1偶数次执行的时候打印-2)
- [实现 Promise.then](#实现-promisethen)
- [平时在项目开发中都做过哪些前端性能优化](#平时在项目开发中都做过哪些前端性能优化)
- [给定起止日期,返回中间的所有月份](#给定起止日期返回中间的所有月份)
- [输入两个字符串,输出他们中间的月份](#输入两个字符串输出他们中间的月份)
- [实现一个将 52 张牌随机均等的分给四个人,比如输入 [0,1,2,3....51] ,输出[[1,2,16...],[4,3,6..],[....],[....]]](#实现一个将-52-张牌随机均等的分给四个人比如输入-012351-输出1216436)
- [用尽量短的代码实现一个 arrary 的链式操作,将数组中的大于 10 的值进行一个累加](#用尽量短的代码实现一个-arrary-的链式操作将数组中的大于-10-的值进行一个累加)
- [简单封装一个异步 fecth,使用 async await 的方式来使用](#简单封装一个异步-fecth使用-async-await-的方式来使用)
- [怎么理解 to B 和 to C 的业务](#怎么理解-to-b-和-to-c-的业务)
- [如果有一个项目,随着业务的增长越来越大,怎么办,如何来进行一个拆分或者处理](#如果有一个项目随着业务的增长越来越大怎么办如何来进行一个拆分或者处理)
- [请写一个函数,输出出多级嵌套结构的 Object 的所有 key 值](#请写一个函数输出出多级嵌套结构的-object-的所有-key-值)
- [使用 Css 实现一个水波纹效果](#使用-css-实现一个水波纹效果)
- [position 定位都有什么属性(不仅仅是绝对定位和相对定位/fix 定位)](#position-定位都有什么属性不仅仅是绝对定位和相对定位fix-定位)
- [写出打印结果,并解释为什么](#写出打印结果并解释为什么)
- [动手实现一个 repeat 方法](#动手实现一个-repeat-方法)
- [setTimeout 有什么缺点,和 requestAnimationFrame 有什么区别](#settimeout-有什么缺点和-requestanimationframe-有什么区别)
- [versions 是一个项目的版本号列表,因多人维护,不规则,动手实现一个版本号处理函数](#versions-是一个项目的版本号列表因多人维护不规则动手实现一个版本号处理函数)
- [怎样用 css 实现一个弹幕的效果,动手实现一下](#怎样用-css-实现一个弹幕的效果动手实现一下)
- [实现一个多并发的请求](#实现一个多并发的请求)
- [说一下 Css 预处理器,Less 带来的好处?](#说一下-css-预处理器less-带来的好处)
- [写出代码执行结果](#写出代码执行结果)
- [按要求实现一个 sum 函数](#按要求实现一个-sum-函数)
- [按要求实现 rightView 函数](#按要求实现-rightview-函数)
- [meta 元素都有什么](#meta-元素都有什么)
- [Css 选择器都有什么,权重是怎么计算的](#css-选择器都有什么权重是怎么计算的)
- [布局都有什么方式,float 和 position 有什么区别](#布局都有什么方式float-和-position-有什么区别)
- [Http1 和 Http2 有什么区别,和 http1.1 相比,http2 都有什么特性](#http1-和-http2-有什么区别和-http11-相比http2-都有什么特性)
- [Import 和 CommonJS 在 webpack 打包过程中有什么不同](#import-和-commonjs-在-webpack-打包过程中有什么不同)
- [说一下 base64 的编码方式](#说一下-base64-的编码方式)
- [说一下单向数据流有什么好处](#说一下单向数据流有什么好处)
- [nth-child和nth-of-type 有什么区别](#nth-child和nth-type-of-有什么区别)
- [<img>是什么元素](#img是什么元素)
- [flex 布局,如何实现把八个元素分两行摆放](#flex-布局如何实现把八个元素分两行摆放)
- [改变 this 指向的方式都有哪些?](#改变-this-指向的方式都有哪些)
- [说一下 etag 和 lastmodify 的区别](#说一下-etag-和-lastmodify-的区别)
- [强缓存都有哪些方法来控制](#强缓存都有哪些方法来控制)
- [协商缓存都有哪些参数](#协商缓存都有哪些参数)
- [说一下module.exports和exports的区别,export和export default的区别](#说一下moduleexports和exports的区别export和export-default的区别)
- [说一下 webpack 中 css-loader 和 style-loader 的区别,file-loader 和 url-loader 的区别](#说一下-webpack-中-css-loader-和-style-loader-的区别file-loader-和-url-loader-的区别)
- [number 为什么会出现精度损失,怎样避免](#number-为什么会出现精度损失怎样避免)
- [说一下对 React 和 Vue 的理解,它们的异同](#说一下对-react-和-vue-的理解它们的异同)
- [二叉树序列化反序列化](#二叉树序列化反序列化)
- [输入一个数字,找到对应的字母](#输入一个数字找到对应的字母)
- [Given an int n, output Mausoleum Array solutions.](#given-an-int-n-output-mausoleum-array-solutions)
- [实现一个函数将中文数字转成数字](#实现一个函数将中文数字转成数字)
- [节流](#节流)
- [请求是异步的为什么会造成阻塞](#请求是异步的为什么会造成阻塞)
- [脚手架具体都做了哪些事,webpack 具体做了什么配置,怎样优化的打包大小](#脚手架具体都做了哪些事webpack-具体做了什么配置怎样优化的打包大小)
- [介绍下 Webpack 的整个生命周期](#介绍下-webpack-的整个生命周期)
- [如何实现 5 秒自动刷新一次页面(具体都有什么方法 reload 之类的)](#如何实现-5-秒自动刷新一次页面具体都有什么方法-reload-之类的)
- [都了解哪些 ES6、ES7 的新特性,箭头函数可以被 new 吗](#都了解哪些-es6es7-的新特性箭头函数可以被-new-吗)
- [说一下 JavaScript 继承都有哪些方法](#说一下-javascript-继承都有哪些方法)
- [Css 方式实现一个不知道宽高的 div 居中都有哪几种方法](#css-方式实现一个不知道宽高的-div-居中都有哪几种方法)
- [给一个字符串比如'abca',返回第一个不重复的字母](#给一个字符串比如abca返回第一个不重复的字母)
- [已知函数 A,要求构造⼀个函数 B 继承 A](#已知函数-a要求构造个函数-b-继承-a)
- [数组和对象转换为字符串结果](#数组和对象转换为字符串结果)
- [请写出以下代码的打印结果](#请写出以下代码的打印结果)
- [请写出以下代码的打印结果](#请写出以下代码的打印结果-1)
- [要求⽤不同⽅式对 A 进⾏改造实现 A.name 发⽣变化时⽴即执⾏ A.getName](#要求不同式对-a-进改造实现-aname-发变化时即执-agetname)
- [修改以下代码,使得最后⼀⾏代码能够输出数字 0-9(最好能给多种答案)](#修改以下代码使得最后代码能够输出数字-0-9最好能给多种答案)
- [给定⼀个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.](#给定个只包括--的字符串判断字符串是否有效)
- [CDN 有哪些优化静态资源加载速度的机制](#cdn-有哪些优化静态资源加载速度的机制)
- [请给出识别 Email 的正则表达式](#请给出识别-email-的正则表达式)
- [设计 AutoComplete 组件(又叫搜索组件、自动补全组件等)时,需要考虑什么问题?](#设计-autocomplete-组件又叫搜索组件自动补全组件等时需要考虑什么问题)
- [实现函数接受任意二叉树,求二叉树所有根到叶子路径组成的数字之和](#实现函数接受任意二叉树求二叉树所有根到叶子路径组成的数字之和)
- [webpack 离线缓存静态资源如何做用 localStore](#webpack-离线缓存静态资源如何做用-localstore)
- [手动实现一个函数,给定一个数组[1,0,2,3,4,-1,-3],输出任意两个值和为 0 的下标](#手动实现一个函数给定一个数组10234-1-3输出任意两个值和为-0-的下标)
- [请写出一下代码的打印结果](#请写出一下代码的打印结果)
- [Promise 链式调用如何实现](#promise-链式调用如何实现)
- [说一下对BigInt的理解,在什么场景下会使用](#说一下对bigint的理解在什么场景下会使用)
- [null 是不是一个对象,如果是,如何判断一个对象是 null,不使用 JavaScript 提供的 api 如何进行判断](#null-是不是一个对象如果是如何判断一个对象是-null不使用-javascript-提供的-api-如何进行判断)
- [gitlab 分支管理,线上如果发生 bug 怎么解决?](#gitlab-分支管理线上如果发生-bug-怎么解决)
- [说一下对于堆栈的理解](#说一下对于堆栈的理解)
- [介绍排序算法和快排原理](#介绍排序算法和快排原理)
- [[] == ![]为什么](#--为什么)
- [说一下 React.Component 和 Ract.PureComponent 的区别](#说一下-reactcomponent-和-ractpurecomponent-的区别)
- [说一下对 React Hook 的理解,它的实现原理,和生命周期有哪些区别?](#说一下对-react-hook-的理解它的实现原理和生命周期有哪些区别)
- [如何把真实 dom 转变为虚拟 dom,代码实现一下](#如何把真实-dom-转变为虚拟-dom代码实现一下)
- [说一下错误监控的实现,错误监控的正确使用方式,日志如何分等级](#说一下错误监控的实现错误监控的正确使用方式日志如何分等级)
- [说一下 Vue3 与 Vue2 的对比](#说一下-vue3-与-vue2-的对比)
- [vue 对数组的方法做了重写的操作,如何实现对 vue2 中对数组操作的 push()方法](#vue-对数组的方法做了重写的操作如何实现对-vue2-中对数组操作的-push方法)
- [手动实现一个 Promisify 函数](#手动实现一个-promisify-函数)
- [说一下 React 有状态组件与无状态组件区别,以及为什么要用,它的优缺点](#说一下-react-有状态组件与无状态组件区别以及为什么要用它的优缺点)
- [说一下 Nginx 的缓存策略,强缓存与弱缓存的区别,二者的使用场景](#说一下-nginx-的缓存策略强缓存与弱缓存的区别二者的使用场景)
- [请写出以下代码执行结果](#请写出以下代码执行结果)
- [请写出以下代码执行结果](#请写出以下代码执行结果-1)
- [请写出以下代码执行结果](#请写出以下代码执行结果-2)
- [请写出以下代码执行结果](#请写出以下代码执行结果-3)
- [请写出以下代码执行结果](#请写出以下代码执行结果-4)
- [请写出以下代码执行结果](#请写出以下代码执行结果-5)
- [请写出以下代码执行结果](#请写出以下代码执行结果-6)
- [以下 css 最后是什么颜色](#以下-css-最后是什么颜色)
- [说一下什么是死锁](#说一下什么是死锁)
- [实现以下代码](#实现以下代码)
- [请实现一个 cacheRequest 方法,保证发出多次同一个 ajax 请求时都能拿到数据,而实际上只发出一次请求](#请实现一个-cacherequest-方法保证发出多次同一个-ajax-请求时都能拿到数据而实际上只发出一次请求)
- [实现一个函数柯里化](#实现一个函数柯里化)
- [一个人每次只能走一层楼梯或者两层楼梯,问走到第 80 层楼梯一共有多少种方法](#一个人每次只能走一层楼梯或者两层楼梯问走到第-80-层楼梯一共有多少种方法)
- [简述 Vue 的基本原理](#简述-vue-的基本原理)
- [简述 Vue 的生命周期以及每个阶段做的事](#简述-vue-的生命周期以及每个阶段做的事)
- [说一下 Vue 组件的通信方式都有哪些?(父子组件,兄弟组件,多级嵌套组件等等)](#说一下-vue-组件的通信方式都有哪些父子组件兄弟组件多级嵌套组件等等)
- [说一下 Vuex 的原理以及自己的理解](#说一下-vuex-的原理以及自己的理解)
- [Vue v-model 是如何实现的,语法糖实际是什么](#vue-v-model-是如何实现的语法糖实际是什么)
- [说一下对 React context 的理解](#说一下对-react-context-的理解)
- [说一下对 React-redux 的理解以及它的原理,主要解决什么问题](#说一下对-react-redux-的理解以及它的原理主要解决什么问题)
- [说一下 Redux 的原理,介绍下整体的一个工作流程](#说一下-redux-的原理介绍下整体的一个工作流程)
- [React 如何避免 renderd 的触发](#react-如何避免-renderd-的触发)
- [说一下 Vue dom diff 算法](#说一下-vue-dom-diff-算法)
- [说一下对 vnode 的理解,vnode 的引入与直接操作原生 dom 相比,哪一个相率更高,为什么](#说一下对-vnode-的理解vnode-的引入与直接操作原生-dom-相比哪一个相率更高为什么)
- [说一下对原型链的理解,画一个经典的原型链图示](#说一下对原型链的理解画一个经典的原型链图示)
- [简述 Grid 布局](#简述-grid-布局)
- [说一下 ajax/axios/fetch 的区别](#说一下-ajaxaxiosfetch-的区别)
- [用 Promise 封装一个 ajax](#用-promise-封装一个-ajax)
- [动手实现一个左右固定100px,中间自适应的三列布局?(至少三种)](#动手实现一个左右固定100px中间自适应的三列布局至少三种)
- [请描述 CSRF、XSS 的基本概念、攻击原理和防御措施?](#请描述-csrfxss-的基本概念攻击原理和防御措施)
- [请描述提升页面性能的方式有哪些,如何进行首页加载优化](#请描述提升页面性能的方式有哪些如何进行首页加载优化)
- [描述 DOM 事件捕获的具体流程](#描述-dom-事件捕获的具体流程)
- [Http 报文的请求会有几个部分?请写出 HTTP 报文的组成部分](#http-报文的请求会有几个部分请写出-http-报文的组成部分)
- [301,302,304 的区别](#301302304-的区别)
- [请实现$on,$emit](#请实现onemit)
- [实现 bind 方法,不能使用 call、apply、bind](#实现-bind-方法不能使用-callapplybind)
- [手写实现 sleep 函数](#手写实现-sleep-函数)
- [介绍一下 node 核心模块(主要是 stream)](#介绍一下-node-核心模块主要是-stream)
- [说一下 webpack 与 gulp 的区别(源码角度)](#说一下-webpack-与-gulp-的区别源码角度)
- [请写出原生 js 如何设置元素高度](#请写出原生-js-如何设置元素高度)
- [说一下 Vue 的$nextTick 原理](#说一下-vue-的nexttick-原理)
- [说一下 vue-router 的原理](#说一下-vue-router-的原理)
- [node 如何做错误监控(运行时与其他)如何生成日志,日志等级](#node-如何做错误监控运行时与其他如何生成日志日志等级)
- [Node 的适用场景以及优缺点是什么?](#node-的适用场景以及优缺点是什么)
- [Vue 是如何收集依赖的](#vue-是如何收集依赖的)
- [用原生 js 实现自定义事件](#用原生-js-实现自定义事件)
- [如何识别出字符串中的回车并进行换行?](#如何识别出字符串中的回车并进行换行?)
- [屏幕占满和未占满的情况下,使 footer 固定在底部,尽量多种方法](#屏幕占满和未占满的情况下使-footer-固定在底部尽量多种方法)
- [输入一个日期 返回几秒前、几小时前、几天前、几月前](#输入一个日期-返回几秒前几小时前几天前几月前)
- [将 153812.7 转化为 153,812.7](#将-1538127-转化为-1538127)
- [给定一个数组,形如 [1, 1, 2 , 3, 3, 3, 3, 4, 6, 6],给定一个数 n,例如 3,找出给定的数 n 在数组内出现的次数,要求时间复杂度小于 O(n)](#给定一个数组形如-1-1-2--3-3-3-3-4-6-6给定一个数-n例如-3找出给定的数-n-在数组内出现的次数要求时间复杂度小于-on)
- [说一下 https 获取加密秘钥的过程](#说一下-https-获取加密秘钥的过程)
- [Css 画一个三角形](#css-画一个三角形)
- [说一下 Vue 单页与多页的区别](#说一下-vue-单页与多页的区别)
- [说一下 Vue 路由实现原理](#说一下-vue-路由实现原理)
- [数组有哪些方法 讲讲区别跟使用场景](#数组有哪些方法-讲讲区别跟使用场景)
- [localstorage、sessionStorage、indexDB 和 cookie 的区别](#localstoragesessionstorageindexdb-和-cookie-的区别)
- [讲一下函数式编程](#讲一下函数式编程)
- [promise 跟 async await 的区别,使用场景](#promise-跟-async-await-的区别使用场景)
- [async、await 如何进行错误捕获](#asyncawait-如何进行错误捕获)
- [Css 超出省略怎么写,三行超出省略怎么写](#css-超出省略怎么写三行超出省略怎么写)
- [Css inherit、initial、unset 三者的区别](#css-inheritinitialunset-三者的区别)
- [介绍下 Flex 布局,属性都有哪些,都是干啥的](#介绍下-flex-布局属性都有哪些都是干啥的)
- [点击一个按钮,浏览器会做些什么](#点击一个按钮浏览器会做些什么)
- [script 的 async 跟 defer 的区别?](#script-的-async-跟-defer-的区别)
- [React15/16.x 的区别](#react1516x-的区别)
- [weak-Set、weak-Map 和 Set、Map 区别](#weak-setweak-map-和-setmap-区别)
- [mvvm 模型和 mvc 模型区别](#mvvm-模型和-mvc-模型区别)
- [如何实现一个 mvvm 模型](#如何实现一个-mvvm-模型)
- [Vue3.0 为什么要用 proxy?是怎么用 proxy 实现数据监听的?](#vue30-为什么要用-proxy是怎么用-proxy-实现数据监听的)
- [valueOf 与 toString 的区别](#valueof-与-tostring-的区别)
- [TCP 三次握手](#tcp-三次握手)
- [koa2 和 express 区别](#koa2-和-express-区别)
- [怎么判断是一个空对象](#怎么判断是一个空对象)
- [请写出下面代码的执行结果](#请写出下面代码的执行结果)
- [请写出下面代码的执行结果](#请写出下面代码的执行结果-1)
- [现在有随机整数数组,例如[2,11,20,160,3,1...],请挑出数组内,三个随机整数和为 100 的所有数据。](#现在有随机整数数组例如2112016031请挑出数组内三个随机整数和为-100-的所有数据)
- [请只用数组方法和 Math.random()在一条语句的情况下,实现生成给定位数的随机数组,例如生成 10 位随机数组[1.1,102.1,2,3,8,4,90,123,11,123],数组内数字随机生成。](#请只用数组方法和-mathrandom在一条语句的情况下实现生成给定位数的随机数组例如生成-10-位随机数组11102123849012311123数组内数字随机生成)
- [实现一个 setter 方法](#实现一个-setter-方法)
- [LocalStorage 加密原理](#localstorage-加密原理)
- [setTimeout 与 setInterval 区别](#settimeout-与-setinterval-区别)
- [说一下常见的状态码](#说一下常见的状态码)
- [项目中如何应用数据结构](#项目中如何应用数据结构)
- [304 页面的原理](#304-页面的原理)
- [RN、Weex、Dart 的优缺点](#rnweexdart-的优缺点)
- [知道语义化吗?说说你理解的语义化,如果是你,平时会怎么做来保证语义化?说说你了解的 HTML5 语义化标签?](#知道语义化吗说说你理解的语义化如果是你平时会怎么做来保证语义化说说你了解的-html5-语义化标签)
- [闭包的核心是什么](#闭包的核心是什么)
- [响应式布局用到的技术,移动端需要注意什么](#响应式布局用到的技术移动端需要注意什么)
- [写出代码输出结果](#写出代码输出结果)
- [实现一个功能,发送请求 5s 时间后,如果没有数据返回,中断请求,提示错误](#实现一个功能发送请求-5s-时间后如果没有数据返回中断请求提示错误)
- [什么是作用域链](#什么是作用域链)
- [介绍事件冒泡、事件代理、事件捕获,以及它们的关系](#介绍事件冒泡事件代理事件捕获以及它们的关系)
- [for..of 和 for...in 是否可以直接遍历对象,为什么](#forof-和-forin-是否可以直接遍历对象为什么)
- [在 map 中和 for 中调用异步函数的区别](#在-map-中和-for-中调用异步函数的区别)
- [gennerator yield 的作用](#gennerator-yield-的作用)
- [promise 的状态有哪些](#promise-的状态有哪些)
- [在 ES6 中有哪些解决异步的方法](#在-es6-中有哪些解决异步的方法)
- [es6 类继承中 super 的作用](#es6-类继承中-super-的作用)
- [cros 的简单请求和复杂请求的区别](#cros-的简单请求和复杂请求的区别)
- [统计一组整形数组的最大差值?](#统计一组整形数组的最大差值)
- [addEventListener 的第三个参数的作用](#addeventlistener-的第三个参数的作用)
- [上传文件的 Content_Type 什么,node 如何拿到上传的文件内容(不适用第三方插件)?文件内容是一次行传输过去的么](#上传文件的-content_type-什么node-如何拿到上传的文件内容不适用第三方插件文件内容是一次行传输过去的么)
- [获取 id 为 netease 节点下所有的 checkbox 子元素(不用框架,注意兼容)](#获取-id-为-netease-节点下所有的-checkbox-子元素不用框架注意兼容)
- [使用原型链如何实现继承](#使用原型链如何实现继承)
- [如何获取一个对象的深度](#如何获取一个对象的深度)
- [reduce 函数的功能,如何实现的,动手实现一下](#reduce-函数的功能如何实现的动手实现一下)
- [说一下 splice 和 slice 的功能用法](#说一下-splice-和-slice-的功能用法)
- [面向对象的三要素是啥?都是啥意思?](#面向对象的三要素是啥都是啥意思)
- [函数中的 this 有几种](#函数中的-this-有几种)
- [如何同时获取 html 中的 h1,h2,h3,h4,h5,h6 中的内容](#如何同时获取-html-中的-h1h2h3h4h5h6-中的内容)
- [JavaScript 的执行流程](#javascript-的执行流程)
- [Promise.resolve(obj),obj 有几种可能](#promiseresolveobjobj-有几种可能)
- [写出代码执行结果](#写出代码执行结果-1)
- [nextTick 是在本次循环执行,还是在下次,setTimeout(() => {}, 0)呢?](#nexttick-是在本次循环执行还是在下次settimeout---0呢)
- [A、B 两个条件组件,如何做到 webpack 只打包条件为 true 的组件,false 的组件不打包](#ab-两个条件组件如何做到-webpack-只打包条件为-true-的组件false-的组件不打包)
- [说一下对 vue3.0 的了解,vue3.0 为什么要用代理](#说一下对-vue30-的了解vue30-为什么要用代理)
- [子组件可以直接改变父组件的数据么,说明原因](#子组件可以直接改变父组件的数据么说明原因)
- [webpack 怎么处理内联 css 的](#webpack-怎么处理内联-css-的)
- [webpack 如何做异步加载](#webpack-如何做异步加载)
- [客户端缓存有几种方式?浏览器出现 from disk、from memory 的策略是啥](#客户端缓存有几种方式浏览器出现-from-diskfrom-memory-的策略是啥)
- [什么是 http?什么是 http2?说下 http 与 http2 的工作流程](#什么是-http什么是-http2说下-http-与-http2-的工作流程)
- [客户端如何发送 http 请求](#客户端如何发送-http-请求)
- [使用正则去掉 Dom 中的内联样式](#使用正则去掉-dom-中的内联样式)
- [写一个匹配 ip 地址的正则](#写一个匹配-ip-地址的正则)
- [写一个匹配 Html 标签的正则](#写一个匹配-html-标签的正则)
- [使用 typescript 的装饰器能否实现函数调用前出现加载动画,调用后关闭,如果能,这个加载动画的控制代码是放在哪种装饰器上呢](#使用-typescript-的装饰器能否实现函数调用前出现加载动画调用后关闭如果能这个加载动画的控制代码是放在哪种装饰器上呢)
- [unicode 和 utf8 的关系](#unicode-和-utf8-的关系)
- [介绍下 pm2,pm2 依据什么重启服务](#介绍下-pm2pm2-依据什么重启服务)
- [什么是微服务,微服务跟单体应用的区别是啥,用微服务有啥好处?](#什么是微服务微服务跟单体应用的区别是啥用微服务有啥好处)
- [IOC 是啥,应用场景是啥?](#ioc-是啥应用场景是啥)
- [是否了解 docker,介绍一下](#是否了解-docker介绍一下)
- [写出代码执行的打印结果](#写出代码执行的打印结果)
- [实现函数](#实现函数)
- [使用过的 koa2 中间件,中间件的原理是什么?](#使用过的-koa2-中间件中间价的原理是什么)
- [koa-body 原理](#koa-body-原理)
- [有没有写过中间件,介绍下自己写过的中间件](#有没有写过中间件介绍下自己写过的中间件)
- [有没有涉及到 Cluster,说一下你的理解](#有没有涉及到-cluster说一下你的理解)
- [master 挂了的话 pm2 怎么处理](#master-挂了的话-pm2-怎么处理)
- [Node 如何和 MySQL 进行通信](#node-如何和-mysql-进行通信)
- [如何配置 React-Router 实现路由切换](#如何配置-react-router-实现路由切换)
- [服务端渲染 SSR](#服务端渲染-ssr)
- [介绍 Redux 数据流的流程](#介绍-redux-数据流的流程)
- [Redux 如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理](#redux-如何实现多个组件之间的通信多个组件使用相同状态如何进行管理)
- [React 路由的动态加载模块,实现按需加载](#React 路由的动态加载模块,实现按需加载)
- [多个组件之间如何拆分各自的 state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,这如何思考](#多个组件之间如何拆分各自的-state每块小的组件有自己的状态它们之间还有一些公共的状态需要维护这如何思考)
- [使用过的 Redux 中间件](#使用过的-redux-中间件)
- [redux 的设计思想](#redux-的设计思想)
- [移动端适配 1px 的问题](#移动端适配-1px-的问题)
- [居中为什么要使用 transform(为什么不使用 marginLeft/marginTop)](#居中为什么要使用-transform为什么不使用-marginleftmargintop)
- [Webpack 里面的插件是怎么实现的](#webpack-里面的插件时怎么实现的)
- [dev-server 是怎么跑起来的](#dev-server-是怎么跑起来的)
- [Webpack 抽取公共文件是怎么配置的](#webpack-抽取公共文件是怎么配置的)
- [项目中如何处理安全问题](#项目中如何处理安全问题)
- [怎么实现 this 对象的深拷贝](#怎么实现-this-对象的深拷贝)
- [使用 canvas 绘图时如何组织成通用组件](#使用-canvas-绘图时如何组织成通用组件)
- [表单可以跨域吗](#表单可以跨域吗)
- [搜索请求如何处理?搜索请求中文如何请求?](#搜索请求如何处理搜索请求中文如何请求)
- [介绍观察者模式](#介绍观察者模式)
- [介绍中介者模式](#介绍中介者模式)
- [观察者和订阅-发布的区别,各自用在哪里](#观察者和订阅-发布的区别各自用在哪里)
- [通过什么做到并发请求](#通过什么做到并发请求)
- [http1.1 时如何复用 tcp 连接](#http11-时如何复用-tcp-连接)
- [介绍 service worker](#介绍-service-worker)
- [介绍 css3 中 position:sticky](#介绍-css3-中-positionsticky)
- [redux 请求中间件如何处理并发](#redux-请求中间件如何处理并发)
- [介绍浏览器事件流向](#介绍浏览器事件流向)
- [介绍事件代理以及优缺点,主要解决什么问题](#介绍事件代理以及优缺点主要解决什么问题)
- [React 组件中怎么做事件代理?它的原理是什么?](#react-组件中怎么做事件代理它的原理是什么)
- [介绍下 this 的各种情况](#介绍下-this-的各种情况)
- [前端如何控制管理路由](#前端如何控制管理路由)
- [使用路由时出现问题如何解决](#使用路由时出现问题如何解决)
- [React 怎么做数据的检查和变化](#react-怎么做数据的检查和变化)
- [react-router 里的 Link 标签和 a 标签有什么区别](#react-router-里的-link-标签和-a-标签有什么区别)
- [a 标签默认事件禁掉之后做了什么才实现了跳转](#a-标签默认事件禁掉之后做了什么才实现了跳转)
- [整个前端性能提升大致分几类](#整个前端性能提升大致分几类)
- [import { Button } from 'antd',打包的时候只打包 button,分模块加载,是怎么做到的](#import--button--from-antd打包的时候只打包-button分模块加载是怎么做到的)
- [使用 import 时,webpack 对 node_modules 里的依赖会做什么](#使用-import-时webpack-对-node_modules-里的依赖会做什么)
- [JavaScript 异步解决方案的发展历程以及优缺点](#javascript-异步解决方案的发展历程以及优缺点)
- [cookie 放哪里,cookie 能做的事情和存在的价值](#cookie-放哪里cookie-能做的事情和存在的价值)
- [cookie 和 token 都存放在 header 里面,为什么只劫持前者](#cookie-和-token-都存放在-header-里面为什么只劫持前者)
- [以下 axios 的特点正确的有哪些?(多选题)](#以下-axios-的特点正确的有哪些多选题)
- [React 中 Dom 结构发生变化后内部经历了哪些变化](#react-中-dom-结构发生变化后内部经历了哪些变化)
- [React 挂载的时候有 3 个组件,textComponent、composeComponent、domComponent,区别和关系,Dom 结构发生变化时怎么区分 data 的变化,怎么更新,更新怎么调度,如果更新的时候还有其他任务存在怎么处理](#react-挂载的时候有-3-个组件textcomponentcomposecomponentdomcomponent区别和关系dom-结构发生变化时怎么区分-data-的变化怎么更新更新怎么调度如果更新的时候还有其他任务存在怎么处理)
- [React 子父组件之间如何传值](#react-子父组件之间如何传值)
- [Redux 中间件是什么东西?接受几个参数?柯里化函数两端的参数具体是什么东西?](#redux-中间件是什么东西接受几个参数柯里化函数两端的参数具体是什么东西)
- [Redux 中间件· 中间件是怎么拿到 store 和 action?然后怎么处理?](#redux-中间件-中间件是怎么拿到-store-和-action然后怎么处理)
- [state 是怎么注入到组件的,从 reducer 到组件经历了什么样的过程](#state-是怎么注入到组件的从-reducer-到组件经历了什么样的过程)
- [koa 中 response.send、response.rounded、response.json 发生了什么事,浏览器为什么能识别到它是一个 json 结构或是 html](#koa-中-responsesendresponseroundedresponsejson-发生了什么事浏览器为什么能识别到它是一个-json-结构或是-html)
- [koa-bodyparser 如何解析 request](#koa-bodyparser-如何解析-request)
- [介绍 AST(Abstract Syntax Tree)抽象语法树](#介绍-astabstract-syntax-tree抽象语法树)
- [安卓 Activity 之间数据是怎么传递的](#安卓-activity-之间数据是怎么传递的)
- [说下安卓系统中的 webview](#安卓-40-到-60-过程中-webview-对-js-兼容性的变化)
- [WebView 和原生是如何通信](#webview-和原生是如何通信)
- [对 async、await 的理解,内部原理是怎样的?](#对-asyncawait-的理解内部原理是怎样的)
- [清除浮动的方式](#清除浮动的方式)
- [接入 Redux 过程?绑定 connect 的过程?connect 的原理](#接入-redux-过程绑定-connect-的过程connect-的原理)
- [== 和 ===的区别,什么情况下用相等==](#-和-的区别什么情况下用相等)
- [bind、call、apply 的区别](#bindcallapply-的区别)
- [介绍下原型链](#介绍下原型链)
- [Linux 754 介绍](#linux-754-介绍)
- [介绍冒泡排序、选择排序,说说冒泡排序如何优化](#介绍冒泡排序选择排序说说冒泡排序如何优化)
- [transform 动画和直接使用 left、top 改变位置有什么优缺点](#transform-动画和直接使用-lefttop-改变位置有什么优缺点)
- [如何判断链表是否有环](#如何判断链表是否有环)
- [介绍二叉搜索树的特点](#介绍二叉搜索树的特点)
- [介绍暂时性死区](#介绍暂时性死区)
- [ES6 中的 map 和原生的对象有什么区别](#es6-中的-map-和原生的对象有什么区别)
- [RN 如何调用原生的一些功能、如何和原生进行通信](#rn-如何调用原生的一些功能如何和原生进行通信)
- [react 异步渲染的概念,介绍 Time Slicing 和 Suspense](#react-异步渲染的概念介绍-time-slicing-和-suspense)
- [16.X 中 props 改变后在哪个生命周期中处理](#16x-中-props-改变后在哪个生命周期中处理)
- [对纯函数的理解](#对纯函数的理解)
- [介绍 JSX](#介绍-jsx)
- [如何做 RN 在安卓和 IOS 端的适配](#如何做-rn-在安卓和-ios-端的适配)
- [RN 为什么能在原生中绘制成原生组件](#rn-为什么能在原生中绘制成原生组件)
- [对虚拟 DOM 的理解?虚拟 DOM 主要做了什么?虚拟 DOM 本身是什么?](#对虚拟-dom-的理解虚拟-dom-主要做了什么虚拟-dom-本身是什么)
- [cookie 的引用为了解决什么问题](#cookie-的引用为了解决什么问题)
- [如何设计一个 localStorage,保证数据的时效性](#如何设计一个-localstorage保证数据的时效性)
- [介绍下 React 高阶组件,和普通组件有什么区别,适用什么场景](#介绍下-react-高阶组件和普通组件有什么区别适用什么场景)
- [实现 sum 方法,使 sum(x)(y),sum(x,y)返回的结果相同](#实现-sum-方法使-sumxysumxy返回的结果相同)
- [两个对象如何比较](#两个对象如何比较)
- [说一下变量的作用域链](#说一下变量的作用域链)
- [介绍 dom 树对比](#介绍-dom-树对比)
- [如何设计状态树](#如何设计状态树)
- [native 提供了什么能力给 RN](#native-提供了什么能力给-rn)
- [如何做工程上的优化](#如何做工程上的优化)
- [shouldComponentUpdate 是为了解决什么问题](#shouldcomponentupdate-是为了解决什么问题)
- [如何解决 props 层级过深的问题](#如何解决-props-层级过深的问题)
- [前端怎么做单元测试](#前端怎么做单元测试)
- [pm2 怎么做进程管理,进程挂掉怎么处理](#pm2-怎么做进程管理进程挂掉怎么处理)
- [不用 pm2 怎么做进程管理](#不用-pm2-怎么做进程管理)
- [jsonp 方案需要服务端怎么配合](#jsonp-方案需要服务端怎么配合)
- [Ajax 发生跨域要设置什么(前端)](#ajax-发生跨域要设置什么前端)
- [加上 CORS 之后从发起到请求正式成功的过程](#加上-cors-之后从发起到请求正式成功的过程)
- [Async 里面有多个 await 请求,可以怎么优化](#async-里面有多个-await-请求可以怎么优化)
- [React 遇到性能问题一般在哪个生命周期里解决](#react-遇到性能问题一般在哪个生命周期里解决)
- [Vue 中一次性 200 条弹幕怎么处理](#vue-中一次性-200-条弹幕怎么处理)
- [React/Redux 中哪些功能用到了哪些设计模式](#reactredux-中哪些功能用到了哪些设计模式)
- [JavaScript 变量类型分为几种,区别是什么](#javascript-变量类型分为几种区别是什么)
- [JavaScript 里垃圾回收机制是什么,常用的是哪种,怎么处理的](#javascript-里垃圾回收机制是什么常用的是哪种怎么处理的)
- [一般怎么组织 CSS(Webpack)](#一般怎么组织-csswebpack)
- [一个对象数组,每个子对象包含一个 id 和 name,React 如何渲染出全部的 name?在哪个生命周期里写?其中有几个 name 不存在,通过异步接口获取,如何做?渲染的时候 key 给什么值?可以使用 index 吗?用 id 好还是 index 好?](#一个对象数组每个子对象包含一个-id-和-namereact-如何渲染出全部的-name在哪个生命周期里写其中有几个-name-不存在通过异步接口获取如何做渲染的时候-key-给什么值可以使用-index-吗用-id-好还是-index-好)
- [webpack 如何配 sass,需要配哪些 loader,配 css 需要哪些 loader](#webpack-如何配-sass需要配哪些-loader配-css-需要哪些-loader)
- [如何配置把 js、css、html 单独打包成一个文件](#如何配置把-jscsshtml-单独打包成一个文件)
- [上下固定,中间滚动布局如何实现](#上下固定中间滚动布局如何实现)
- [ES5 和 ES6 有什么区别](#es5-和-es6-有什么区别)
- [取数组的最大值(ES5、ES6)](#取数组的最大值es5es6)
- [some、every、find、filter、map、forEach 有什么区别](#someeveryfindfiltermapforeach-有什么区别)
- [页面上生成一万个 button,并且绑定事件,如何做(JS 原生操作 DOM)?循环绑定时的 index 是多少,为什么,怎么解决?](#页面上生成一万个-button并且绑定事件如何做js-原生操作-dom循环绑定时的-index-是多少为什么怎么解决)
- [页面上有一个 input,还有一个 p 标签,改变 input 后 p 标签就跟着变化,如何处理?监听 input 的哪个事件,在什么时候触发?](#页面上有一个-input还有一个-p-标签改变-input-后-p-标签就跟着变化如何处理监听-input-的哪个事件在什么时候触发)
- [手写数组去重函数(至少三种以上,说明时间复杂度)](#手写数组去重函数至少三种以上说明时间复杂度)
- [Promise 和 async/await,和 Callback 有什么区别](#promise-和-asyncawait和-callback-有什么区别)
- [componentWillReceiveProps 的触发条件是什么](#componentwillreceiveprops-的触发条件是什么)
- [Redux 怎么实现属性传递,介绍下原理](#redux-怎么实现属性传递介绍下原理)
- [网站 SEO 怎么处理](#网站-seo-怎么处理)
- [403、301、302 是什么](#403301302-是什么)
- [HTTPS 怎么建立安全通道,Https 的加密过程](#https-怎么建立安全通道https-的加密过程)
- [项目中对于用户体验做过什么优化](#项目中对于用户体验做过什么优化)
- [介绍下数字签名的原理](#介绍下数字签名的原理)
- [前后端通信使用什么方案](#前后端通信使用什么方案)
- [RESTful 常用的 Method](#restful-常用的-method)
- [Access-Control-Allow-Origin 在服务端哪里配置](#access-control-allow-origin-在服务端哪里配置)
- [前端和后端怎么联调](#前端和后端怎么联调)
- [如何实现高度自适应](#如何实现高度自适应)
- [prototype 和proto区别](#prototype-和proto区别)
- [new 的实现原理,动手实现一个 new](#new-的实现原理动手实现一个-new)
- [如何实现 H5 手机端的适配](#如何实现-h5-手机端的适配)
- [em 和 px 的区别](#em-和-px-的区别)
- [Redux 状态管理器和变量挂载到 window 中有什么区别](#redux-状态管理器和变量挂载到-window-中有什么区别)
- [webpack 和 gulp 的优缺点](#webpack-和-gulp-的优缺点)
- [如何去除 url 中的#号](#如何去除-url-中的号)
- [如何实现分模块打包(多入口)](#如何实现分模块打包多入口)
- [base64 为什么能提升性能,缺点](#base64-为什么能提升性能缺点)
- [介绍 webp 这个图片文件格式](#介绍-webp-这个图片文件格式)
- [介绍 koa2,原理是什么?](#介绍-koa2原理是什么)
- [异步请求,低版本 fetch 如何低版本适配](#异步请求低版本-fetch-如何低版本适配)
- [ajax 如何处理跨域?CORSr 如何设置?](#ajax-如何处理跨域corsr-如何设置)
- [jsonp 为什么不支持 post 方法](#jsonp-为什么不支持-post-方法)
- [介绍 Immuable](#介绍-immuable)
- [介绍 JS 全部数据类型,基本数据类型和引用数据类型的区别](#介绍-js-全部数据类型基本数据类型和引用数据类型的区别)
- [Array 是 Object 类型吗](#array-是-object-类型吗)
- [说一下栈和堆的区别,垃圾回收时栈和堆的区别](#说一下栈和堆的区别垃圾回收时栈和堆的区别)
- [数组里面有 10 万个数据,取第一个元素和第 10 万个元素的时间相差多少](#数组里面有-10-万个数据取第一个元素和第-10-万个元素的时间相差多少)
- [Async/Await 怎么实现](#asyncawait-怎么实现)
- [JavaScript 为什么要区分微任务和宏任务](#javascript-为什么要区分微任务和宏任务)
- [Promise 构造函数是同步还是异步执行,then 呢](#promise-构造函数是同步还是异步执行then-呢)
- [JavaScript 执行过程分为哪些阶段](#javascript-执行过程分为哪些阶段)
- [词法作用域和 this 的区别](#词法作用域和-this-的区别)
- [loadsh 深拷贝实现原理](#loadsh-深拷贝实现原理)
- [ES6 中 let 块作用域是怎么实现的](#es6-中-let-块作用域是怎么实现的)
- [React 中 setState 后发生了什么?setState 为什么默认是异步?setState 什么时候是同步?](#react-中-setstate-后发生了什么setstate-为什么默认是异步setstate-什么时候是同步)
- [为什么 3 大框架出现以后就出现很多 native(RN)框架(虚拟 DOM)](#为什么-3-大框架出现以后就出现很多-nativern框架虚拟-dom)
- [Webpack 打包时 Hash 码是怎么生成的?随机值存在一样的情况,如何避免?](#webpack-打包时-hash-码是怎么生成的随机值存在一样的情况如何避免)
- [Webpack 做了什么?使用 webpack 构建时有无做一些自定义操作?](#webpack-做了什么使用-webpack-构建时有无做一些自定义操作)
- [node 接口转发有无做什么优化?node 起服务如何保证稳定性,平缓降级,重启等](#node-接口转发有无做什么优化node-起服务如何保证稳定性平缓降级重启等)
- [RN 有没有做热加载?RN 遇到的兼容性问题?](#rn-有没有做热加载rn-遇到的兼容性问题)
- [RN 如何实现一个原生的组件?](#rn-如何实现一个原生的组件)
- [RN 混原生和原生混 RN 有什么不同?](#rn-混原生和原生混-rn-有什么不同)
- [介绍单页应用和多页应用?](#介绍单页应用和多页应用)
- [RN 的原理,为什么可以同时在安卓和 IOS 端运行](#rn-的原理为什么可以同时在安卓和-ios-端运行)
- [介绍一下网络的五层模型](#介绍一下网络的五层模型)
- [介绍 SSL 与 TLS](#介绍-ssl-与-tls)
- [formData 和原生的 ajax 有什么区别](#formdata-和原生的-ajax-有什么区别)
- [介绍下表单提交,和 formData 有什么关系](#介绍下表单提交和-formdata-有什么关系)
- [redux 和全局管理有什么区别](#rudux-和全局管理有什么区别)
- [介绍 MVP 怎么组织](#介绍-mvp-怎么组织)
- [promise 如何实现 then 处理,动手实现 then](#promise-如何实现-then-处理动手实现-then)
- [服务端怎么做统一的状态处理](#服务端怎么做统一的状态处理)
- [如何对相对路径引用进行优化](#如何对相对路径引用进行优化)
- [介绍 node 文件查找优先级](#介绍-node-文件查找优先级)
- [npm2 和 npm3 有什么区别](#npm2-和-npm3有什么区别)
- [如何处理异常捕获](#如何处理异常捕获)
- [项目如何管理模块](#项目如何管理模块)
- [尽可能多的写出判断数组的方法](#尽可能多的写出判断数组的方法)
- [介绍 localstorage 的 api](#介绍-localstorage-的-api)
- [html 标签 b 和 strong 的区别](#html-标签-b-和-strong-的区别)
- [使用原型最大的好处](#使用原型最大的好处)
- [介绍 React 设计思路,它的理念是什么?](#介绍-react-设计思路它的理念是什么)
- [单例、工厂、观察者项目中实际场景](#单例工厂观察者项目中实际场景)
- [添加原生事件不移除为什么会内存泄露,还有哪些地方会存在内存泄漏](#添加原生事件不移除为什么会内存泄露还有哪些地方会存在内存泄漏)
- [setInterval 需要注意的点](#setinterval-需要注意的点)
- [定时器为什么是不精确的](#定时器为什么是不精确的)
- [setTimeout(1)和 setTimeout(2)之间的区别](#settimeout1和-settimeout2之间的区别)
- [介绍宏任务和微任务](#介绍宏任务和微任务)
- [promise 里面和 then 里面执行有什么区别](#promise-里面和-then-里面执行有什么区别)
- [props 和 state 的区别](#props-和-state-的区别)
- [介绍 class 和 ES5 的类以及区别](#介绍-class-和-es5-的类以及区别)
- [介绍 defineProperty 方法,什么时候需要用到](#介绍-defineproperty-方法什么时候需要用到)
- [for..in 和 object.keys 的区别](#forin-和-objectkeys-的区别)
- [使用闭包特权函数的使用场景](#使用闭包特权函数的使用场景)
- [哪些方法会触发 react 重新渲染?重新渲染 render 会做些什么?](#哪些方法会触发-react-重新渲染重新渲染-render-会做些什么)
- [state 和 props 触发更新的生命周期分别有什么区别?](#state-和-props-触发更新的生命周期分别有什么区别)
- [React setState 是同步还是异步?](#react-setstate-是同步还是异步)
- [对无状态组件的理解](#对无状态组件的理解)
- [介绍箭头函数的 this](#介绍箭头函数的-this)
- [找到前 K 个最大的元素](#找到前-k-个最大的元素)
- [对 React 的看法,它的优缺点,使用过程中遇到的问题,如何解决的](#对-react-的看法它的优缺点使用过程中遇到的问题如何解决的)
- [JavaScript 是什么范式语言](#javascript-是什么范式语言)
- [Promise 有没有解决异步的问题](#promise-有没有解决异步的问题)
- [Promise 和 setTimeout 的区别](#promise-和-settimeout-的区别)
- [进程和线程的区别](#进程和线程的区别)
- [介绍下 DFS 深度优先](#介绍下-dfs-深度优先)
- [按照调用实例,实现下面的 Person 方法](#按照调用实例实现下面的-person-方法)
- [请写出正确的执行结果](#请写出正确的执行结果)
- [请写出正确的执行结果](#请写出正确的执行结果-1)
- [请写出正确的执行结果](#请写出正确的执行结果-2)
- [请写出正确的执行结果](#请写出正确的执行结果-3)
- [请写出正确的执行结果](#请写出正确的执行结果-4)
- [请写出正确的执行结果](#请写出正确的执行结果-5)
- [请写出代码正确执行结果,并解释原因](#请写出代码正确执行结果并解释原因)
- [请写出正确的执行结果](#请写出正确的执行结果-6)
- [请写出正确的执行结果](#请写出正确的执行结果-7)
- [按要求完成代码](#按要求完成代码)
- [请写出正确的执行结果](#请写出正确的执行结果-8)
- [请写出正确的执行结果](#请写出正确的执行结果-9)
- [请修改代码能跳出死循环](#请修改代码能跳出死循环)
- [修改代码不造成死循环](#修改代码不造成死循环)
- [请写出代码正确执行结果](#请写出代码正确执行结果)
- [请写出代码正确执行结果](#请写出代码正确执行结果-1)
- [计算以上字节每位 <g-emoji class="g-emoji" alias="airplane" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2708.png">✈️</g-emoji> 的起码点,并描述这些字节的起码点代表什么](#计算以上字节每位-️-的起码点并描述这些字节的起码点代表什么)
- [请写出代码正确执行结果,并解释原因](#请写出代码正确执行结果并解释原因-1)
- [请写出代码正确执行结果](#请写出代码正确执行结果-2)
- [请写出代码正确执行结果,并解释原因](#请写出代码正确执行结果并解释原因-2)
- [请写出代码正确执行结果](#请写出代码正确执行结果-3)
- [请写出代码正确执行结果,并解释原因](#请写出代码正确执行结果并解释原因-3)
- [请问当前 textarea 文本框展示的内容是什么?](#请问当前-textarea-文本框展示的内容是什么)
- [请写出代码正确执行结果](#请写出代码正确执行结果-4)
- [请写出代码正确执行结果](#请写出代码正确执行结果-5)
- [请写出代码正确执行结果,并解释为什么](#请写出代码正确执行结果并解释为什么)
- [请手写实现一个拖拽](#请手写实现一个拖拽)
- [请手动实现一个浅拷贝](#请手动实现一个浅拷贝)
- [介绍 instanceof 原理,并手动实现](#介绍-instanceof-原理并手动实现)
- [请实现一个 JSON.stringfy](#请实现一个-jsonstringfy)
- [请实现一个 JSON.parse](#请实现一个-jsonparse)
- [说一下减少 dom 数量的办法?一次性给你大量的 dom 怎么优化?](#说一下减少-dom-数量的办法一次性给你大量的-dom-怎么优化)
- [vue hooks 有哪些](#vue-hooks-有哪些)
- [介绍 Vue template 到 render 的过程](#介绍-vue-template-到-render-的过程)
- [为什么用 gulp 打包 node](#为什么用-gulp-打包-node)
- [Node 不支持哪些 ES6 语法](#node-不支持哪些-es6-语法)
- [Webpack 为什么慢,如何进行优化](#webpack-为什么慢如何进行优化)
- [请写出代码正确执行结果,并解释原因?](#请写出代码正确执行结果并解释原因-4)
- [请写出代码正确执行结果,并解释原因?](#请写出代码正确执行结果并解释原因-5)
- [请写出代码正确执行结果,并解释原因?](#请写出代码正确执行结果并解释原因-6)
- [请写出代码正确执行结果,并解释原因?](#请写出代码正确执行结果并解释原因-7)
- [请写出代码正确执行结果,并解释原因?](#请写出代码正确执行结果并解释原因-8)
- [请写出代码的正确执行结果,并解释原因?](#请写出代码的正确执行结果并解释原因)
- [以下选项为 css 盒模型属性有哪些?(多选题)](#以下选项为-css-盒模型属性有哪些多选题)
- [递归公式的时间复杂度为?(单选题)](#递归公式的时间复杂度为单选题)
- [以下说法中对协议描述不正确的是?(单选题)](#以下说法中对协议描述不正确的是单选题)
- [以下哪些是 HTTP 请求中浏览器缓存机制会用到的协议头?(多选题)](#以下哪些是-http-请求中浏览器缓存机制会用到的协议头单选题)
- [怎么定义 vue-router 的动态路由?怎么获取传过来的动态参数?](#怎么定义-vue-router-的动态路由怎么获取传过来的动态参数)
- [JavaScript 中如何模拟实现方法的重载](#javascript-中如何模拟实现方法的重载)
- [请解释 JSONP 的工作原理](#请解释-jsonp-的工作原理)
- [用 html、css、js 模拟实现一个下拉框,使得下拉框在各个浏览器下的样式和行为完全一致,说出你的设计方案,并且重点说明功能设计时要考虑的因素。](#用-htmlcssjs-模拟实现一个下拉框使得下拉框在各个浏览器下的样式和行为完全一致说出你的设计方案并且重点说明功能设计时要考虑的因素)
- [用 JavaScript 实现一个标准的排序算法(快排、冒泡、选择排序),对某个数字数组进行由低到高的排序。](#用-javascript-实现一个标准的排序算法快排冒泡选择排序对某个数字数组进���由低到高的排序)
- [实现一个打点计时器](#实现一个打点计时器)
- [下面关于 Vue 说法正确的是?(单选题)](#下面关于-vue-说法正确的是单选题)
- [JavaScript 写一个单例模式,可以具体到某一个场景](#javascript-写一个单例模式可以具体到某一个场景)
- [JavaScript 基本数据类型都有哪些?用 typeOf 判断分别显示什么?](#javascript-基本数据类型都有哪些用-typeof-判断分别显示什么)
- [怎么判断引用类型数据,兼容判断原始类型数据呢?](#怎么判断引用类型数据兼容判断原始类型数据呢)
- [请写下你对协商缓存和强缓存的理解?](#请写下你对协商缓存和强缓存的理解)
- [git pull -rebase 和 git pull 的区别是什么?](#git-pull--rebase-和-git-pull-的区别是什么)
- [说下盒模型的区别?介绍一下标准的 CSS 盒模型?border-box 和 content-box 有什么区别?](#说下盒模型的区别介绍一下标准的-css-盒模型border-box-和-content-box-有什么区别)
- [给出页面的加载顺序](#给出页面的加载顺序)
- [Html5 有哪些新特性?如何处理 Html5 新标签的浏览器兼容问题?如何区分 Html 和 Html5?](#html5-有哪些新特性如何处理-html5-新标签的浏览器兼容问题如何区分-html-和-html5)
- [找出“aaaabbcccdddd”字符串中出现最多的字母?](#找出aaaabbcccdddd字符串中出现最多的字母)
- [概述异步编程模型](#概述异步编程模型)
- [在一个 ul 里有 10 个 li,实现点击对应的 li,输出对应的下标](#在一个-ul-里有-10-个-li实现点击对应的-li输出对应的下标)
- [分别对以下数组进行去重,1:[1,'1',2,'2',3],2:[1,[1,2,3['1','2','3'],4],5,6]](#分别对以下数组进行去重11122321123123456)
- [简述 JavaScript 中的函数的几种调用方式](#简述-javascript-中的函数的几种调用方式)
- [编写一个 Person 类,并创建两个不同的 Person 对象](#编写一个-person-类并创建两个不同的-person-对象)
- [详细描述一个 http 请求从发起请求到收到响应的全部过程(越细越好)](#详细描述一个-http-请求从发起请求到收到响应的全部过程越细越好)
- [简述静态链接和动态链接的区别,并举例说明](#简述静态链接和动态链接的区别并举例说明)
- [求 n 以内的所有素数,并说明时间复杂度](#求-n-以内的所有素数并说明时间复杂度)
- [手写实现 call](#手写实现-call)
- [手写实现 apply](#手写实现-apply)
- [一个 dom 必须要操作几百次,该如何解决,如何优化?](#一个-dom-必须要操作几百次该如何解决如何优化)
- [为什么要用 Vuex 或者 Redux,不要说为了保存状态](#为什么要用-vuex-或者-redux不要说为了保存状态)
- [为什么 Vue data 必须是函数](#为什么-vue-data-必须是函数)
- [页面埋点怎么实现](#页面埋点怎么实现)
- [除了 jsonp、postmessage 后端控制,怎么实现跨页面通讯](#除了-jsonppostmessage-后端控制怎么实现跨页面通讯)
- [Vue data 中某一个属性的值发生改变后,视图会立即同步执行重新渲染吗?](#vue-data-中某一个属性的值发生改变后视图会立即同步执行重新渲染吗)
- [Webpack 打包出来的体积太大,如何优化体积?](#webpack-打包出来的体积太大如何优化体积)
- [缓存有哪些?前端缓存有哪些?怎么用?如何和后台配合](#缓存有哪些前端缓存有哪些怎么用如何和后台配合)
- [说一下 let、const 的实现,动手实现一下](#说一下-letconst-的实现动手实现一下)
- [简述 mixin、extends 的覆盖逻辑](#简述-mixinextends-的覆盖逻辑)
- [Vue 子组件和父组件执行顺序](#vue-子组件和父组件执行顺序)
- [Dom tree 和 cssdom 是如何合并成 render tree 的](#dom-tree-和-cssdom-是如何合并成-render-tree-的)
- [addEventListener 再 removeListener 会不会造成内存泄漏](#addeventlistener-再-removelistener-会不会造成内存泄漏)
- [scrollview 如何进行性能优化(例如 page=100 时,往上滚动))](#scrollview-如何进行又能优化例如-page100-时往上滚动)
- [原生 JavaScript 获取 ul 中的第二个 li 里边的 p 标签的内容](#原生-javascript-获取-ul-中的第二个-li-里边的-p-标签的内容)
- [说下 offsetWith 和 clientWidth、offsetHeight 和 clientHeight 的区别,说说 offsetTop,offsetLeft,scrollWidth、scrollHeight 属性都是干啥的](#说下-offsetwith-和-clientwidthoffsetheight-和-clientheight-的区别说说-offsettopoffsetleftscrollwidthscrollheight-属性都是干啥的)
- [Css 单位都有哪些?](#css-单位都有哪些)
- [Css 实现多列等高布局,要求元素实际占用的高度以多列中较高的为准](#css-实现多列等高布局要求元素实际占用的高度以多列中较高的为准)
- [一个标签的 class 样式的渲染顺序,id、class、标签、伪类的优先级](#一个标签的-class-样式的渲染顺序idclass标签伪类的优先级)
- [写一个函数打乱一个数组,传入一个数组,返回一个打乱的新数组](#写一个函数打乱一个数组传入一个数组返回一个打乱的新数组)
- [数组截取插入 splice,push 返回值,数组的栈方法、队列方法、排序方法、操作方法、迭代方法说一下](#数组截取插入-splicepush-返回值数组的栈方法队列方法排序方法操作方法迭代方法说一下)
- [判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型](#判断一个变量的类型写个方法用-objectprototypetostring-判断传入数据的类型)
- [判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型?Object.prototype.toString.call(Symbol) 返回什么?](#判断一个变量的类型写个方法用-objectprototypetostring-判断传入数据的类型objectprototypetostringcallsymbol-返回什么)
- [对作用域和闭包的理解,解释下 let 和 const 的块级作用域](#对作用域和闭包的理解解释下-let-和-const-的块级作用域)
- [以下代码输出什么?](#以下代码输出什么)
- [switch case,case 具体是怎么比较的,哪些情况下会走到 default](#switch-casecase-具体是怎么比较的哪些情况下会走到-default)
- [说下 typeof()各种类型的返回值?instanceof 呢?](#说下-typeof各种类型的返回值instanceof-呢)
- [if([] == 0), [1,2] == "1,2", if([]), [] == 0 具体是怎么对比的](#if--0-12--12-if---0-具体是怎么对比的)
- [如何加快页面渲染速度,都有哪些方式](#如何加快页面渲染速度都有哪些方式)
- [generator 的实现原理](#genertor-的实现原理)
- [CDN 分布式部署,如何处理用户请求最近的资源?](#cdn-分布式部署如果处理用户请求最近的资源)
- [说一下缓存有哪几种,具体都是怎么实现和比较的,缓存优先级,相互之间的对比](#说一下缓存有哪几种具体都是怎么实现和比较的缓存优先级相互之间的对比)
- [使用 typescript 的优势有哪些](#使用-typescript-的优势有哪些)
- [说下你对浏览器缓存理解](#说下你对浏览器缓存理解)
- [css 如何实现动画](#css-如何实现动画)
- [判断是否是数组的方法](#判断是否是数组的方法)
- [给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点](#给定一个二叉树找出其最大深度二叉树的深度为根节点到最远叶子节点的最长路径上的节点数说明-叶子节点是指没有子节点的节点)
- [给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和](#给定一个整数数组-nums找到一个具有最大和的连续子数组子数组最少包含一个元素返回其最大和)
- [手写 EventEmitter 实现](#手写-eventemitter-实现)
- [Http 连接是如何复用的](#http-连接是如何复用的)
- [给出的两行代码为什么这么输出](#给出的两行代码为什么这么输出)
- [动画性能如何检测](#动画性能如何检测)
- [谈下淘宝和京东页面的实现](#谈下淘宝和京东页面的实现)
- [平时都用到了哪些设计模式](#平时都用到了哪些设计模式)
- [如何监控 MySql、Redis 性能](#如何监控-mysqlredis-性能)
- [对 service worker 的理解](#对-service-worker-的理解)
- [Webpack 热更新的原理](#webpack-热更新的原理)
- [Css 如何实现一个半圆](#css-如何实现一个半圆)
- [一个活动项目里包含多个活动,Webpack 如何实现单独打包某个活动?](#一个活动项目里包含多个活动webpack-如何实现单独打包某个活动)
- [单点登录实现原理](#单点登录实现原理)
- [尾递归实现](#尾递归实现)
- [有 1000 个 dom,需要更新其中的 100 个,如何操作才能减少 dom 的操作?](#有-1000-个-dom需要更新其中的-100-个如何操作才能减少-dom-的操作)
- [商城的列表页跳转到商品的详情页,详情页数据接口很慢,前端可以怎么优化用户体验?](#商城的列表页跳转到商品的详情页详情页数据接口很慢前端可以怎么优化用户体验)
- [多个 tab 只对应一个内容框,点击每个 tab 都会请求接口并渲染到内容框,怎么确保频繁点击 tab 但能够确保数据正常显示?](#多个-tab-只对应一个内容框点击每个-tab-都会请求接口并渲染到内容框怎么确保频繁点击-tab-但能够确保数据正常显示)
- [301、302 的 https 被挟持怎么办?](#301302-的-https-被挟持怎么办)
- [介绍 Http2 特性,Http2 怎么确保文件同时传输不会报错](#介绍-http2-特性http2-怎么确保文件同时传输不会报错)
- [请实现鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性)](#请实现鼠标点击页面中的任意标签alert-该标签的名称注意兼容性)
- [完成一个表达式,验证用户输入是否是电子邮箱](#完成一个表达式验证用户输入是否是电子邮箱)
- [原生实现 ES5 的 Object.create()方法](#原生实现-es5-的-objectcreate方法)
- [列举并解释一下 http 的所有请求方法,](#列举并解释一下-http-的所有请求方法)
- [如何记录前端在用户浏览器上发生的错误并汇报给服务器?](#如何记录前端在用户浏览器上发生的错误并汇报给服务器?)
- [有哪几种方式可以解决跨域问题?(描述对应的原理)](#有哪几种方式可以解决跨域问题描述对应的原理)
- [按要求完成题目](#按要求完成题目)
- [你是如何组织 JavaScript 代码的?(可以从模块、组件、模式、编程思想等方面回答)](#你是如何组织-javascript-代码的可以从模块组件模式编程思想等方面回答)
- [移动 web 开发时如何调试?了解哪些多屏适配方案?](#移动-web-开发时如何调试了解哪些多屏适配方案)
- [算法考察:Next Permutation](#算法考察next-permutation)
- [填充代码实现 template 方法](#填充代码实现-template-方法)
- [请说明 Html 布局元素的分类有哪些?并描述每种布局元素的应用场景?](#请说明-html-布局元素的分类有哪些并描述每种布局元素的应用场景)
- [列举出在浏览器中,页面加载过程中发出了哪些事件?并画出这些事件的执行顺序?](#列举出在浏览器中页面加载过程中发出了哪些事件并画出这些事件的执行顺序)
- [请描述下为什么页面需要做优化?并写出常用的页面优化实现方案?](#请描述下为什么页面需要做优化并写出常用的页面优化实现方案)
- [请画出 css 盒模型,基于盒模型的原理,说明相对定位、绝对定位、浮动实现样式是如何实现的?](#请画出-css-盒模型基于盒模型的原理说明相对定位绝对定位浮动实现样式是如何实现的)
- [列举出 css 选择器有哪些分类,并至少写出三个 css 选择器之间的区别,适用场景](#列举出-css-选择器有哪些分类并至少写出三个-css-选择器之间的区别适用场景)
- [请列出至少 5 个 JavaScript 常用的内置对象,说明用途](#请列出至少-5-个-javascript-常用的内置对象说明用途)
- [请描述下 JavaScript 中 Scope、Closure、Prototype 概念,并说明 JavaScript 封装、继承实现原理。](#请描述下-javascript-中-scopeclosureprototype-概念并说明-javascript-封装继承实现原理)
- [请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?](#请列出目前主流的-javascript-模块化实现的技术有哪些说出它们的区别)
- [请列出 HTTP/1.1 协议 Response 状态码:20x、30x、40x、50x 等各区间的含义,并说明 Action 在 Restful API 中分别使用哪些 Http 副词(action)表现出 CRUD?](#请列出-http11-协议-response-状态码20x30x40x50x-等各区间的含义并说明-action-在-restful-api-中分别使用哪些-http-副词action表现出-crud)
- [请说明 JavaScript 进行压缩、合并、打包实现的原理是什么?为什么需要压缩、合并、打包?分别列出一种常用工具或插件](#请说明-javascript-进行压缩合并打包实现的原理是什么为什么需要压缩合并打包分别列出一种常用工具或插件)
- [请说出前端框架设计模式(MVVM 或 MVP 又或 MVC)的含义以及原理](#请说出前端框架设计模式mvvm-或-mvp-又或-mvc的含义以及原理)
- [请用 JavaScript 代码实现事件代理](#请用-javascript-代码实现事件代理)
- [实现格式化输出,比如输入 999999999,输出 999,999,999](#实现格式化输出比如输入-999999999输出-999999999)
- [使用 JavaScript 实现 cookie 的设置、读取、删除](#使用-javascript-实现-cookie-的设置读取删除)
- [请编写一个 JavaScript 函数 parseQueryString,它的用途是把 URL 参数解析为一个对象,url="<a href="http://iauto360.cn/index.php?key0=0&key1=1&key2=2" rel="nofollow">http://iauto360.cn/index.php?key0=0&key1=1&key2=2</a>"](#请编写一个-javascript-函数-parsequerystring它的用途是把-url-参数解析为一个对象urlhttpiauto360cnindexphpkey00key11key22)
- [node 如何进行跨域通信](#node-如何进行跨域通信)
- [Vuex 和 localStorage 的区别](#vuex-和-localstorage-的区别)
- [如何实现 a,b 两个变量的交换](#如何实现-ab-两个变量的交换)
- [Vue 双向绑定原理](#vue-双向绑定原理)
- [开发环境热更新的优化方式](#开发环境热更新的优化方式)
- [给 JavaScript 的 String 原生对象添加一个名为 trim 的原型方法,用于截取字符串前后的空白字符](#给-javascript-的-string-原生对象添加一个名为-trim-的原型方法用于截取字符串前后的空白字符)
- [按要求实现代码](#按要求实现代码)
- [说一下路由钩子在 Vue 生命周期的体现?](#说一下路由钩子在-vue-生命周期的体现)
- [计算属性和普通属性的区别](#计算属性和普通属性的区别)
- [描述下自定义指令(你是怎么用自定义指令的)](#描述下自定义指令你是怎么用自定义指令的)
- [说一下 Vue 中所有带$的方法](#说一下-vue-中所有带的方法)
- [catch-control 有哪些设定值](#catch-control-有哪些设定值)
- [AMD 和 CMD 有哪些区别?](#amd-和-cmd-有哪些区别)
- [微任务和宏任务的区别](#微任务和宏任务的区别)
- [你是怎么配置开发环境的?](#你是怎么配置开发环境的)
- [列举 3 种强制类型转换和 2 种隐式类型转换](#列举-3-种强制类型转换和-2-种隐式类型转换)
- [小程序里面打开页面最多多少,生命周期、常用的 api 列举几个?](#小程序里面打开页面最多多少生命周期常用的-api-列举几个)
- [Vue-router 除了 router-link 怎么实现跳转](#vue-router-除了-router-link-怎么实现跳转)
- [原生 JavaScript 实现图片懒加载的思路](#原生-javascript-实现图片懒加载的思路)
- [回调函数和任务队列的区别](#回调函数和任务队列的区别)
- [如何实现 webpack 持久化缓存](#如何实现-webpack-持久化缓存)
- [找出两个数组的交集元素](#找出两个数组的交集元素)
- [Css 实现 div 宽度自适应,宽高保持等比缩放](#css-实现-div-宽度自适应宽高保持等比缩放)
- [ul 内部除最后一个 li 以外设置右边框效果](#ul-内部除最后一个-li-以外设置右边框效果)
- [flex:1 的完整写法是?分别是什么意思?](#flex1-的完整写法是分别是什么意思)
- [写出下面代码的输出结果](#写出下面代码的输出结果)
- [用 typescript 实现函数 caller,接收一个函数作为第一个参数,其返回参数类型由接收的函数参数决定](#用-typescript-实现函数-caller接收一个函数作为第一个参数其返回参数类型由接收的函数参数决定)
- [有这样一个函数 A,要求在不改变原有函数 A 功能以及调用方式的情况下,使得每次调用该函数都能在控制台打印出“HelloWorld”](#有这样一个函数-a要求在不改变原有函数-a-功能以及调用方式的情况下使得每次调用该函数都能在控制台打印出helloworld)
- [在浏览器执行以下代码,写出打印结果](#在浏览器执行以下代码写出打印结果)
- [输入一个整数,输出该数二进制表示中 1 的个数](#输入一个整数输出该数二进制表示中-1-的个数)
- [行内元素和块级元素有什么区别](#行内元素和块级元素有什么区别)
- [link 和@inmport 区别](#link-和inmport-区别)
- [⽤ js 实现随机选取 10–100 之间的 10 个且不重复的数字,存⼊⼀个数组,还要排序](#-js-实现随机选取-10100-之间的-10-个且不重复的数字存个数组还要排序)
- [请写出弹出值,并解释为什么?](#请写出弹出值并解释为什么)
- [写出输出值,并解释为什么](#写出输出值并解释为什么)
- [请写出代码执⾏结果,并解释为什么](#请写出代码执结果并解释为什么)
- [请写出代码执⾏结果,并解释为什么](#请写出代码执结果并解释为什么-1)
- [给定⼀个⼤⼩为 n 的数组,找到其中的众数。众数是指在数组中出现次数⼤于 n/2 的元素](#给定个为-n-的数组找到其中的众数众数是指在数组中出现次数于--n2--的元素)
- [HTTP2.0的多路复⽤和HTTP1.X中的⻓连接复⽤有什么区别?](#http20的多路复和http1x中的连接复有什么区别)
- [HTTP2.0多路复⽤有多好?](#http20多路复有多好)
- [React兄弟组件的通信方式?(需回答两种以上)](#react兄弟组件的通信方式需回答两种以上)
- [Fiber算法原理,相比之前的stack算法哪些方面做了优化?](#fiber算法原理相比之前的stack算法哪些方面做了优化)
- [如何实现双向绑定,并抽象成公共组件](#如何实现双向绑定并抽象成公共组件)
- [原生实现addClass,用多种方法](#原生实现addclass用多种方法)
- [实现一个倒计时,setInterval实现的话,如何消除时间误差](#实现一个倒计时setinterval实现的话如何消除时间误差)
- [React SSR实现过程?原理是什么?有什么注意事项?](#react-ssr实现过程原理是什么有什么注意事项)
- [Node性能如何进监控以及优化?](#node性能如何进监控以及优化)
- [http请求由什么组成?](#http请求由什么组成)
- [屏幕正中间有个元素A,元素A中有文字A,随着屏幕宽度的增加,始终需要满足下列条件](#屏幕正中间有个元素a元素a中有文字a随着屏幕宽度的增加始终需要满足下列条件)
- [函数中的arguments是数组吗?若不是,如何将它转化为真正的数组?](#函数中的arguments是数组吗若不是如何将它转化为真正的数组)
- [请写出以下代码的打印结果](#请写出以下代码的打印结果-2)
- [以最小的改动解决以下代码的错误(可以使用ES6)](#以最小的改动解决以下代码的错误可以使用es6)
- [实现Function 原型的bind方法,使得以下程序最后能输出“success”](#实现function-原型的bind方法使得以下程序最后能输出success)
### 写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,...,a+nb 的时间,然后写一个 myClear,停止上面的 mySetInterVal
公司:头条
分类:JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/7)
<br/>
### 合并二维有序数组成一维有序数组,归并排序的思路
公司:头条
分类:算法
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/8)
<br/>
### 斐波那契数列
公司:腾讯、CVTE、微软
分类:算法
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/9)
<br/>
### 字符串出现的不重复最长长度
公司:腾讯
分类:算法
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/10)
<br/>
### 介绍chrome 浏览器的几个版本
公司:滴滴
分类:网络&安全
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/11)
<br/>
### React 项目中有哪些细节可以优化?实际开发中都做过哪些性能优化
公司:滴滴、掌门一对一、网易、有赞、沪江、喜马拉雅、酷家乐、快手
分类:React
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/12)
<br/>
### react 最新版本解决了什么问题 加了哪些东西
公司:滴滴
分类:React
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/13)
<br/>
### 说一下 Http 缓存策略,有什么区别,分别解决了什么问题
公司:滴滴、头条、网易、易车、脉脉、掌门一对一、虎扑、挖财、爱范儿
分类:网络&安全
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/14)
<br/>
### 介绍防抖节流原理、区别以及应用,并用JavaScript进行实现
公司:滴滴、虎扑、挖财、58、头条
分类:JavaScript、编程题
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/15)
<br/>
### 前端安全、中间人攻击
公司:滴滴
分类:网络&安全
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/16)
<br/>
### 对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
公司:滴滴、携程、喜马拉雅、微医、蘑菇街、酷家乐、腾讯应用宝、安居客
分类:JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/17)
<br/>
### css 伪类与伪元素区别
公司:滴滴
分类:Css
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/18)
<br/>
### 有一堆整数,请把他们分成三份,确保每一份和尽量相等(11,42,23,4,5,6 4 5 6 11 23 42 56 78 90)
公司:滴滴
分类:算法
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/19)
<br/>
### 实现 lodash 的_.get
公司:滴滴
分类:JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/20)
<br/>
### 实现 add(1)(2)(3)
公司:滴滴
分类:JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/21)
<br/>
### 实现链式调用
公司:滴滴
分类:JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/22)
<br/>
### React 事件绑定原理
公司:滴滴、沪江
分类:React
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/23)
<br/>
### 类数组和数组的区别,dom 的类数组如何转换成数组
公司:海康威视
分类:JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/24)
<br/>
### webpack 做过哪些优化,开发效率方面、打包策略方面等等
公司:滴滴、快手、掌门一对一、高思教育
分类:工程化
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/25)
<br/>
### 说一下事件循环机制(node、浏览器)
公司:滴滴、伴鱼、高德、自如、虎扑、58
分类:Node、JavaScript
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/26)
<br/>
### 如何封装 node 中间件
公司:滴滴、酷狗
分类:Node
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/27)
<br/>
### node 中间层怎样做的请求合并转发
公司:易车
分类:Node
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/28)
<br/>
### 介绍下 promise 的特性、优缺点,内部是如何实现的,动手实现 Promise
公司:滴滴、头条、喜马拉雅、兑吧、寺库、百分点、58、安居客
分类:JavaScript、编程题
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/29)
<br/>
### 实现 Promise.all
```js
Promise.all = function (arr) {
// 实现代码
};
```
公司:滴滴、头条、有赞、微医
分类:JavaScript、编程题
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/30)
<br/>
### React 组件通信方式
公司:滴滴、掌门一对一、喜马拉雅、蘑菇街
分类:React
[答案&解析](https://github.com/lgwebdream/FE-Interview/issues/31)