PHP
- php 魔術(shù)方法 蹦狂、魔術(shù)常量
- php cli
- autoload , spl_autoload
- composer (如 Laravel 中 ClassLoader.php) 映琳, PRS 規(guī)范
- php SPL標(biāo)準(zhǔn)庫为狸, 包括 數(shù)據(jù)結(jié)構(gòu)罕偎、迭代器、接口、異常、函數(shù)宝与、文件處理等
- 閉包焚廊、函數(shù)式編程思想
- php modules PHP-FPM FastCGI ...
PHP 框架 :
- Laravel
- Yii
- Symfony
- Socket WebSocket ? swoole框架
MySQL
- mysql 日期查詢, 比如查詢今天习劫、昨天咆瘟、7天、近30天诽里、本月袒餐、上月數(shù)據(jù) , 怎
么做到 ?reference : https://my.oschina.net/kakoi/blog/667791 - mysql 事物谤狡、事物隔離級別灸眼,reference: 高性能MySQL -> chapter 1.3 ? mysql索引實現(xiàn)原理 , reference: http://www.uml.org.cn/sjjm/201107145.asp#nav-2-1y ? ORM 原理 : 對象屬性與數(shù)據(jù)庫字段映射 參考 Eloquent ORM
- mysql 引擎 ?常用InnoDB MyISAM , 說說一些區(qū)別
- InnoDB 表鎖墓懂、 行級鎖(share mode / exclusive)
reference: http://www.cnblogs.com/zhaoyl/p/4121010.html http://www.myexcept
ion.cn/mysql/1712377.html - MySQL性能調(diào)優(yōu) 1.Linux IO焰宣,沒有了解太多 2.配置層面 3.SQL語句調(diào)優(yōu) 4.mysql
臨時表 create temporary table tmp_table..... (臨時表只在連接期間存在) 臨
時表可以放在內(nèi)存中,指定 type=heap - MySQL慢查詢怎么監(jiān)控?MySQL緩存、將select語句和查詢結(jié)果放在緩沖區(qū)
以后對于同樣的sql語句捕仔、將直接從緩沖區(qū)讀取結(jié)果匕积、節(jié)約查詢時間 設(shè) 置參數(shù) :query_cache_size,MySQL 慢查詢超過10秒 逻澳、慢查詢?nèi)罩尽⑿枰?手動開啟暖呕、平時不建議開啟斜做,影響性能⊥謇浚或者開兩個會話端口瓤逼、一個跑sql、 另一個show processlist - 聯(lián)合索引
- 聚簇索引
- FullTextSearch全文搜索
- MySQL主從同步原理?主從數(shù)據(jù)庫同步失敗的原因常見有哪些?
Redis
- redis 隊列 (計數(shù) 實時通信 郵件隊列) 持久化
- redis value 類型? strings hashes list set 等库物、各類型應(yīng)用場景 ?
- redis用來做什么的:處理高并發(fā)霸旗,緩存處理,隊列消息發(fā)送很方便
- redis劣勢: 1.redis是基于內(nèi)存的戚揭,每次重啟都需要重新讀入數(shù)據(jù)诱告。2.key-value, 并
不是關(guān)系型數(shù)據(jù)庫
算法
- 排序
冒泡排序:依次比較相鄰,交換位置 民晒。最好最壞情況下的時間復(fù)雜度 ? 選擇排序:依次找到剩余最小的精居,判斷和當(dāng)前位置是否一樣, 不然交換 QuickSort - 二分查找
- 二叉樹相關(guān)潜必。遍歷靴姿、二叉查找樹
- 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)以及時間復(fù)雜度怎么計算 List Heap
哈希表查詢元素的時間復(fù)雜度 o(1) 無序集合,有序集合磁滚,哈希表查詢元素的問題是算法當(dāng)中基礎(chǔ)的基礎(chǔ)
前端相關(guān)
- multipart/form-data 與 application/x-www-form-urlencode ? form 的默認(rèn)
enctype 類型是 application/x-www-form-urlencode佛吓。而上傳文件時宵晚, 使
用 multipart/form-data ,文件會以二進(jìn)制數(shù)據(jù)提交給服務(wù)器,不對字符進(jìn)行編 碼 - Javascript 閉包函數(shù)维雇、this 淤刃、傳參 等問題
Web 緩存相關(guān)
- 客戶端緩存
- Web代理
- 靜態(tài)資源CDN
- redis
- 數(shù)據(jù)庫緩存 負(fù)載均衡相關(guān)
- DNS
- nginx
- 數(shù)據(jù)庫負(fù)載均衡
API接口
- API接口安全性、參數(shù)驗證 ?
- App token 機(jī)制 ? Auth2 ?
- 接口規(guī)范 , 輸入谆沃、輸出設(shè)計規(guī)范 ? 錯誤狀態(tài)碼
PHP設(shè)計模式
*常用: 門面钝凶、工廠、單例唁影、 發(fā)布/訂閱
Linux
*管道命令
*進(jìn)程監(jiān)控如ps(process status)工具 耕陷,CPU監(jiān)控、 top 据沈、 iostat工具 文件權(quán)限 rwx, owner group other
HTTPS
- https驗證過程
- SSL TLS 協(xié)議
- 對稱 哟沫、 非對稱 加密解密? RSA ?
高并發(fā)應(yīng)對
- 緩存
- 異步操作 消息隊列 Laravel Queue Redis項目中的使用 : 緩存服務(wù)、 session服
務(wù) 锌介、 消息隊列(郵件短信 積分發(fā)放嗜诀、傭金發(fā)放、簡單消息直接用閉包函
數(shù) —daemon 常駐隊列) ? 服務(wù)器負(fù)載均衡孔祸,堆機(jī)器 - 分庫分表 讀寫分離
兩個方向考慮 :
1 . 盡可能減少并發(fā)請求量隆敢、通過緩存和異步請求
2 . 盡可能增大服務(wù)處理能力、服務(wù)器和數(shù)據(jù)庫的負(fù)載能力