位圖算法:
例子:大量數字中判斷是否存在某個數
hashtable:
統計一個日志中訪問最多的url
一致性hash:
例子:服務器負載均衡不能按照服務器數量來取模,按照一個不會變的值來取
判斷5張牌是否連續:
1.求和/5是整數
2.hash計數為5
數據庫acid:
原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)
MySQL索引:
B+Tree實現,非葉子節點只存儲鍵值信息
在HTTP通訊過程中,是客戶端還是服務端主動斷開連接?
如果能夠有辦法知道服務器傳來的長度,都是客戶端首先斷開。如果不知道就一直接收數據,直到服務端斷開。
如果keepalive,則會保持長連接,但不會一直保持,服務端會有最大等待時間。
二叉樹最短路徑查找:
定義一個左數組,右數組,均為空。前序遍歷,塞入數組
左邊遍歷完得到一個路徑數組
右邊遍歷完得到一個路徑數組
獲取指定文件夾下所有文件:
1.scandir
2.opendir + readdir
合并數組:
1.對于相同的字符串索引,
array_merge則會用后面的值覆蓋前面出現的值;
+會用前面出現過的值覆蓋后面相同的key;
array_merge_recursive則會把相同的索引放到一個數組里面,增加數組的維度;
2.對于相同的數字索引,
array_merge則會給重復的值重建索引(索引值從0開始);
+仍然是用前面出現過的值覆蓋后面的值;
array_merge_recursive和array_merge的處理方法一樣。
讀取大文件行數:
1.stream_get_line逐行讀取+1
2.fgets逐行讀取+1
統計字符串出現次數
explode為數組
trait優先級:
當前類方法 > trait 的方法 > 父類的方法