近接連面試了幾家公司,有些重要問題記錄一下,督促自己學習提高,同時希望給朋友們一些幫助。
內容很多,一點點完善,一步步學習。。
有些是面試被問,有些是招聘要求,有些是自己整理加的。
一、mysql相關知識
1、 mysql優化方式
mysql 優化常用方法
mysql 效能優化方案
2、如何分庫分表
參考:3、 mysql+如何做雙機熱備和負載均衡
如何做雙機熱備和負載均衡
4、資料表型別有哪些
myisam、innodb、heap、bob,archive,csv等
myisam:成熟、穩定、易於管理,快速讀取。一些功能不支援(事務等),表級鎖。
innodb:支援事務、外來鍵等特性、資料行鎖定。空間占用大,不支援全文索引等。
myisam和innodb引擎的主要特點
mysql的儲存引擎myisam與innodb有什麼區別?
5、防sql注入方法
mysql_escape_string(strip_tags($arr["$val"]));
* 函式名稱:post_check()
* 參 數:$post: 要提交的內容
*/functionpost_check($post)
6、mysql把乙個大表拆分多個表後,如何解決跨表查詢效率問題
7、索引應用
什麼情況下考慮索引
什麼情況不適合索引
乙個語句是否用到索引如何判斷
經常發生的用不到索引的場景:
like '%.....'
資料型別隱式轉換
or 關鍵字加其它條件約束
全文索引:
只能用於myisam表,在char,varchar,text型別的列上建立。
8、mysql對於大表(千萬級),要怎麼優化呢?
參考9、mysql的慢查詢問題
其實通過慢查詢日誌來分析是一種比較簡單的方式,如果不想看日誌,可以借助工具來完成,
如mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter等,感覺自己來分析乙個需要豐富的經驗,乙個浪費時間。
10、關於使用者登入狀態存session,cookie還是資料庫或者memcache的優劣
關於使用者登入狀態存session%2ccookie還是資料庫或者memcache的優劣
11、事務應用極端情況處理
12、sql語言分4大類請列舉
ddl--create,drop,alter
dml--insert,update,delete
dql-select
dcl--grant,revoke,commit,rollback
二、php基礎
三、php高階
四、正則
email,html,js等匹配
五、開發基礎
六、nosql資料庫
memcached、redis、mongodb的區別聯絡
3個場景完全不同的東西。1.memcached:單一鍵值對記憶體快取的,做物件快取無可替代的分布式快取;2.redis:是演算法和資料結構的集合,快速的資料結構操作是他最大的特點,支援資料持久化;3.mongodb是bson結構、介於rdb和nosql之間的,更鬆散更靈活的,但是不支援事務,只用作非重要資料儲存。
參考 mongodb 或者 redis 可以替代 memcached 嗎?
cpu:apache
mysql處在高負載環境下,磁碟io讀寫過多,肯定會占用很多資源,必然會cpu占用過高。
記憶體:記憶體庫,資料庫軟體
硬碟:檔案
mongodb+redis 或者 mysql+memcached 比較好的組合,邏輯簡單的就用nosql
其它:
資料探勘經驗、熟悉hadoop/lucene/mahout;
初步了解架構師
我們通常定義架構有幾個層次,分業務架構 產品架構 應用架構和技術架構。有了架構方 我們通常可以根據架構方 的指導來設計和規劃架構,而不再依賴於架構師本身的經驗來設計架構,也不會把架構當做藝術來發揮,發揮好的時候設計出來的是好架構,發揮不好的時候設計出來的就是壞架構。於是,按照行之有效的方 來做架構的...
初步了解架構師
我們通常定義架構有幾個層次,分業務架構 產品架構 應用架構和技術架構。有了架構方 我們通常可以根據架構方 的指導來設計和規劃架構,而不再依賴於架構師本身的經驗來設計架構,也不會把架構當做藝術來發揮,發揮好的時候設計出來的是好架構,發揮不好的時候設計出來的就是壞架構。於是,按照行之有效的方 來做架構的...
雲計算高階架構師
root node4 nginx 1.18.0 configure prefix usr local nginx nginx常用指令 root node4 nginx usr local nginx sbin nginx nginx version nginx 1.18.0 usage nginx ...