基礎(chǔ)知識(shí)點(diǎn)
- 從邏輯結(jié)構(gòu)上來講蛉威,他們都屬于線性表結(jié)構(gòu)照棋,所有的數(shù)據(jù)都是被串起來的,就像羊肉串;
- 從物理內(nèi)存存儲(chǔ)方面講,數(shù)組存儲(chǔ)在連續(xù)的內(nèi)存區(qū),鏈表是隨機(jī)的擎值;鏈表因?yàn)槭请S機(jī)的,就多了一個(gè)添加指向下一個(gè)節(jié)點(diǎn)的指針逐抑,將隨機(jī)的節(jié)點(diǎn)串起來的操作鸠儿,所以在資源消耗上會(huì)多一些;
- 在內(nèi)存管理方面厕氨,由于數(shù)組是連續(xù)存儲(chǔ)的进每,在內(nèi)存預(yù)讀時(shí)會(huì)將數(shù)組元素存儲(chǔ)在緩存中,效率會(huì)更高命斧;而鏈表是隨機(jī)存儲(chǔ)的田晚,無法讀入緩存中,這樣本來訪問效率就低国葬,效率更低了贤徒;
- 兩者訪問、增加汇四、刪除的對(duì)比:
a. 訪問:數(shù)組(隨機(jī)訪問)是連續(xù)存儲(chǔ)的接奈,隨意在訪問a[3]和a[999]時(shí)間是一樣的,復(fù)雜度O(1)通孽;鏈表(順序訪問)是隨機(jī)存儲(chǔ)的序宦,查找一個(gè)節(jié)點(diǎn)需要一個(gè)一個(gè)順序往下找,因?yàn)橄乱粋€(gè)節(jié)點(diǎn)的位置信息需要從上一個(gè)節(jié)點(diǎn)知曉背苦,時(shí)間復(fù)雜度O(n)互捌;
b. 增加/刪除:想要在數(shù)組的一個(gè)節(jié)點(diǎn)前增加節(jié)點(diǎn)就像是“插隊(duì)”后面的所有節(jié)點(diǎn)都要往后哦挪一位,挪動(dòng)過程如果出現(xiàn)踩腳行剂,還可能會(huì)造成元素丟失問題秕噪;鏈表本身就是隨機(jī)存儲(chǔ)的,新增節(jié)點(diǎn)只需要設(shè)置指針即可厚宰;
普通類型裝載腌巾、反射、序列化固阁、表達(dá)式緩存壤躲、表達(dá)式泛型緩存城菊、AutoMapper
AOP面向切面編程
面向動(dòng)作行為的一種思想备燃,橫向切面的結(jié)構(gòu),注重業(yè)務(wù)處理中的某個(gè)步驟或階段凌唬。
控制反轉(zhuǎn)思想并齐,實(shí)現(xiàn)方式包括:Autofac漏麦、DI、Unity
- 為了在業(yè)務(wù)改變的時(shí)候盡量減少改動(dòng)代碼造成的問題况褪;
- 讓程序之間松散耦合撕贞,減少依賴,有利于功能的復(fù)用测垛;
- 程序整體結(jié)構(gòu)更加靈活捏膨,有利于單元測(cè)試。
- 進(jìn)程間爭(zhēng)搶資源食侮;
- 進(jìn)程間推進(jìn)順序非法号涯;
- 授權(quán)碼锯七;
- 隱藏式链快;
- 賬戶密碼;
- 客戶端憑據(jù)眉尸。
數(shù)據(jù)庫
asp.net core知識(shí)點(diǎn)
- 發(fā)起一個(gè)HTTP請(qǐng)求
- 請(qǐng)求通過IIS或者Nginx或者Apache到你的ASP.NET Core應(yīng)用
- ASP.NET Core Web服務(wù)接收這個(gè)HTTP請(qǐng)求域蜗,將它交給middleware
- middleware處理該請(qǐng)求,并將它交給MVC middleware
- MVC middleware生成一個(gè)HTML響應(yīng)
- 響應(yīng)通過middleware返回到Web服務(wù)
- HTTP響應(yīng)返回到用戶的瀏覽器
jwt描述
由頭部噪猾,負(fù)載霉祸,簽名 三部分組成
- 頭部包含加密算法和固定的類型jwt的json對(duì)象,使用base64URL轉(zhuǎn)成字符串畏妖;
- 負(fù)載包含7個(gè)官方規(guī)定的字段脉执,還可以添加自定義字段的json對(duì)象,使用base64URL轉(zhuǎn)成字符串戒劫;
- 簽名是對(duì)頭部和負(fù)載信息的簽名半夷,防止篡改;頭部+負(fù)載+密鑰 生成簽名字符串迅细,返回給用戶巫橄。
框架,未來學(xué)習(xí)的方向
DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
SOA ESB 微服務(wù) 服務(wù)網(wǎng)格 分布式架構(gòu)的基本理論
[數(shù)據(jù)模型]
[企業(yè)微信賬戶數(shù)據(jù)]
運(yùn)維部署
[集群的elk]
[部署nginx]
[https整個(gè)的過程 是怎么樣的 openssl是怎么做到安全的]
[linux服務(wù)器的配置 安全 遠(yuǎn)程安全配置]
如何優(yōu)化性能
遇到的最大問題:
- 在線項(xiàng)目如何保證數(shù)據(jù)庫遷移時(shí)茵典,不斷流的情況下實(shí)現(xiàn)最優(yōu)方式
- 如果讓app接口更安全
- 在使用單應(yīng)用池緩存湘换,在不使用分布式開發(fā)方式下,如何解決多點(diǎn)更新緩存問題
- DDD領(lǐng)域邊界的界定