編碼題
1呻拌、實(shí)現(xiàn)一個stringfy,實(shí)現(xiàn)以后支持換行和縮進(jìn)
2搁凸、求一個數(shù)所有質(zhì)因子的最大和
3媚值、防抖和節(jié)流的實(shí)現(xiàn)
4、實(shí)現(xiàn)一個深拷貝
5护糖、實(shí)現(xiàn)數(shù)組的map方法
6褥芒、給定一個數(shù)組找出所有三個數(shù)之和為0的所有組合
7、實(shí)現(xiàn)一個帶限制次數(shù)的請求方法 reuest(urls,limit);
8椅文、給定一個二叉樹, 找到該樹中兩個指定節(jié)點(diǎn)的最近公共祖先喂很。
9惜颇、promise.all的實(shí)現(xiàn) 及 promise.all串行執(zhí)行的實(shí)現(xiàn)
10、輸入一個n 返回一個1-n的全排列
11少辣、loash.get()方法的實(shí)現(xiàn) 輸入各種字符串 返回對應(yīng)的結(jié)果
12凌摄、jsonp的實(shí)現(xiàn)
13、給定一個字符串 判斷其中的括號是不是都能匹配上
14漓帅、sum(a,b,c,d) 用 sum(a)(b)(c,d).counter()實(shí)現(xiàn)
15锨亏、兩個大數(shù)相加的實(shí)現(xiàn)
16、call apply bind的實(shí)現(xiàn)及原理
17忙干、二叉樹的之子形遍歷
18器予、實(shí)現(xiàn)相鄰重復(fù)元素的去重 用正則實(shí)現(xiàn) 輸入 'aabbccd' 輸出 'abcd'
19、二分查找
20捐迫、兩個矩形相交處 輸入 2個矩形的4個坐標(biāo)
21乾翔、兩個有序鏈表的合并
22、let arr = [{ id: '1', name: "河北省"施戴, children: [{ id: '1-1', name: "石家莊市"反浓, children: [{ id: '1-1-1', name: "新華區(qū)", }, { id: '1-1-2', name: "裕華區(qū)"赞哗, }] }, { id: '1-2', name: "唐山市"雷则, children: [{ id: '1-2-1', name: "路北區(qū)", }, { id: '1-2-2', name: "路南區(qū)"肪笋, }] }] // 實(shí)現(xiàn)函數(shù) findAdrress(arr, id) 返回地址的拼接 比如 findAdrress(arr, '1-2-1') 返回河北省唐山市路北區(qū)
23月劈、給你一個字符串 s 和一個字符串列表 wordDict 作為字典。請你判斷是否可以利用字典中出現(xiàn)的單詞拼接出 s 藤乙。 輸入 s = "leetcode", wordDict = ["leet", "code"] 輸出: true
24猜揪、輸入一個字符串返回最長回文
25、輸入一個字符串返回最長無重復(fù)子串
26湾盒、翻轉(zhuǎn)鏈表
27湿右、判斷鏈接是否有環(huán)及環(huán)的入口
28、多維數(shù)組展示為一維
29罚勾、單個字符組成的數(shù)組統(tǒng)計每一個字符出現(xiàn)的次數(shù)
30毅人、自己實(shí)現(xiàn)promise
31、開方的實(shí)現(xiàn)
32尖殃、斐波那契數(shù)列的實(shí)現(xiàn)
JS
1丈莺、isEque(a:number,b:number) boolean 實(shí)現(xiàn)這個方法需要注意什么?
2送丰、promise的執(zhí)行細(xì)節(jié)
3缔俄、AMD CMD的區(qū)別 require import 的區(qū)別
4、瀏覽器是怎么判定一個任務(wù)是宏任務(wù)還是微任務(wù)的?
5俐载、如何將一個已排序的數(shù)組打的足夠亂蟹略?
6、CDN版本如何管理及CDN的原理
7遏佣、怎么實(shí)現(xiàn)html的不緩存效果
8挖炬、地址欄鍵入地址后過程 要越詳細(xì)越好
9、crtl+R和F5的刷新的區(qū)別状婶,請求頭有什么變化
10意敛、js怎么監(jiān)控性能及報錯
11、線上出現(xiàn)的白屏問題 如何快速定位
12膛虫、用戶的信息 放到cookie和header的區(qū)別
13草姻、箭頭函數(shù)的特性
14、new執(zhí)行都做了什么
15稍刀、接口的緩存怎么實(shí)現(xiàn)
16撩独、promise的穿透
17、前端的安全問題及解決方案
18掉丽、proxy
19跌榔、object.defineproperty
20、antd怎么實(shí)現(xiàn)按需加載
21捶障、js性能優(yōu)化的方案
22、高階組件的實(shí)現(xiàn)形式
23纲刀、什么是純函數(shù)
24项炼、函數(shù)的柯里化是什么
25、數(shù)組和鏈表的區(qū)別
26示绊、set map weakset weakmap的區(qū)別
27锭部、ifrime跨域怎么實(shí)現(xiàn)的 及其實(shí)現(xiàn)的跨域的不安全性
28、并發(fā)和并行的區(qū)別
29面褐、跨域的解決方案
30拌禾、什么時候會發(fā)預(yù)檢請求
31、jsonp跨域的局限性
32展哭、跨域請求發(fā)出時會帶cookie嗎
33湃窍、cros
34、eventLoop
35匪傍、宏任務(wù)有哪些 微任務(wù)有哪些
36您市、瀏覽器的緩存
37、瀏覽器在無數(shù)個請求同時需要發(fā)出時的處理機(jī)制
38役衡、es6 es7你知道的語法
39茵休、回流和重繪及如何避免
40、jsBridge的實(shí)現(xiàn) h5嵌入app中如何拿到端上的登錄信息
41、nginx怎么配置使得文件不被緩存
42榕莺、如何取消已發(fā)送的ajax請求
43俐芯、for in for of for循環(huán)的區(qū)別
44、symbol
45钉鸯、aync await generater
46吧史、深度優(yōu)先遍歷和廣度優(yōu)先遍歷的區(qū)別
47、call apply bind的實(shí)現(xiàn) 及 哪個性能最好
48亏拉、script的defer和async的介紹及區(qū)別
49扣蜻、TCP三次握手的過程
50、TCP UDP的區(qū)別
51及塘、瀏覽器緩存的協(xié)議
52莽使、DNS查找的過程
53、promise的透傳現(xiàn)象
54笙僚、擴(kuò)展運(yùn)算符的使用場景
55芳肌、檢測數(shù)據(jù)類型的方法
56、toString 不同類型數(shù)據(jù)調(diào)用的返回結(jié)果
57肋层、包裝器類型
58亿笤、this的使用場景
59、繼承
工程
1栋猖、組件庫的repo
2净薛、js檢測性能的工具
3、查看打包體積的工具
4蒲拉、項目優(yōu)化
5肃拜、treeshaking的原理
6、webpack如何提升打包速度及減少打包體積
7雌团、進(jìn)程之間是怎么通信的
8燃领、webpack的打包原理
9、loader和plugin的區(qū)別
10锦援、loader對于一個css文件輸入是什么 輸出是什么 是怎么被js識別的
11猛蔽、ssr
12、如何設(shè)計一個組件庫
13灵寺、優(yōu)化代碼的方式
14曼库、js的優(yōu)化
15、微前端
16替久、首屏加載的優(yōu)化方案
17凉泄、搭建一個react項目需要注意什么
18、深比較和淺比較的區(qū)別
19蚯根、ts中any和unknown的區(qū)別
css/html
1后众、如何保證一個條極細(xì)線胀糜,在不同的移動設(shè)備保持一致(有的設(shè)備可能三個物理像素代表一個像素點(diǎn))
2、實(shí)現(xiàn)一行文案時居中對齊蒂誉, 多行時左對齊
3教藻、盒子的垂直居中對齊
4、flex的常用屬性
5右锨、什么事標(biāo)簽語義化及其的優(yōu)點(diǎn)
6括堤、disable和readOnly的區(qū)別
7、什么是BFC 怎么觸發(fā)BFC
8绍移、dom操作
10悄窃、關(guān)于dom操作哪種性能更好,怎樣才能減少回流和重繪
11蹂窖、清楚浮動的方式
12轧抗、獲取一個元素下所有的子元素
react
1、ref的使用場景
2瞬测、為什么useState返回的是數(shù)組
3横媚、fiber執(zhí)行過程及實(shí)現(xiàn)原理 出現(xiàn)的背景
4、diff算法 優(yōu)缺點(diǎn)
5月趟、hook為什么不能放到條件判斷里
6灯蝴、react的渲染過程,分哪些階段
7孝宗、react的優(yōu)缺點(diǎn)
8穷躁、高階組件的優(yōu)缺點(diǎn)
9、函數(shù)組件和class組件的區(qū)別
10因妇、為什么hook不能放在class組件里
11折砸、hook的優(yōu)缺點(diǎn)
12、useState的整體工作過程
13沙峻、useLayoutEffect和useEffect的區(qū)別
14、為什么一個function執(zhí)行完畢對應(yīng)的狀態(tài)還能拿到
15两芳、mobx和redux的區(qū)別
16摔寨、高階組件與函數(shù)組件的區(qū)別
17、react如何觸發(fā)新的渲染
18怖辆、react render后是怎么做的
19是复、可以在render階段使用refs嗎
20、react在性能優(yōu)化方面做了那些事情
21竖螃、react的工作原理
22淑廊、purComponent 和 component 的區(qū)別
23、createRef和useRef的區(qū)別
24特咆、react的事件機(jī)制
25季惩、useEffect return函數(shù)的執(zhí)行時機(jī)
26、react-router的實(shí)現(xiàn)原理
27、react-redux的實(shí)現(xiàn)原理
28画拾、useState 和 setState的區(qū)別
29啥繁、useReducer和useState的區(qū)別
30、如何做函數(shù)組件的優(yōu)化fiber分片后每一片的執(zhí)行時機(jī)
31青抛、fiber的內(nèi)部調(diào)用邏輯
32旗闽、useMemo useCallback
33、組件間的傳參方式
34蜜另、受控組件和非受控組件
35适室、setState是同步還是異步的 為什么是同步 為什么是異步
36、
準(zhǔn)備項目 承擔(dān)了什么角色 做了哪些有亮點(diǎn)的工作 有哪些挑戰(zhàn) 給團(tuán)隊帶來什么