1.列舉常見的關係型數據庫和非關係型都有那些?
關係型:sqllite,db2,oracle,access,sql server MySQL
非關係型:MangoDB,redisjavascript
2.MySQL常見數據庫引擎及比較?
InnoDB:支持事務處理,支持外鍵,支持崩潰修復能力和併發控制。若是須要對事務的完整性要求比較高(好比銀行),
要求實現併發控制(好比售票),那選擇InnoDB有很大的優點。若是須要頻繁的更新、刪除操做的數據庫,
也能夠選擇InnoDB,由於支持事務的提交(commit)和回滾(rollback)。 前端
MyISAM:插入數據快,空間和內存使用比較低。若是表主要是用於插入新記錄和讀出記錄,
那麼選擇MyISAM能實現處理高效率。若是應用的完整性、併發性要求比 較低,也可使用。java
MEMORY:全部的數據都在內存中,數據的處理速度快,可是安全性不高。若是須要很快的讀寫速度,
對數據的安全性要求較低,能夠選擇MEMOEY。它對錶的大小有要求,不能創建太大的表。因此,這類數據庫只使用在相對較小的數據庫表。python
3.什麼是事務?MySQL如何支持事務?
事務由一個或多個sql語句組成一個總體,要麼徹底地執行,要麼徹底地不執行。四大特色:原子性、一致性、隔離性和持久性。
在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務。
4.MySQL索引種類
普通索引、惟一索引、主鍵索引、組合索引和全文索引
5.主鍵和外鍵的區別?
主鍵是用於惟一標識數據庫表中一行數據的。
外鍵是創建與表與表以前的聯繫,方便程序的編寫
6.樂觀鎖和悲觀鎖
悲觀鎖, 就是很悲觀,每次去拿數據的時候都認爲別人會修改,
因此每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。
傳統的關係型數據庫裏邊就用到了不少這種鎖機制,
好比行鎖,表鎖等,讀鎖,寫鎖等,都是在作操做以前先上鎖。
樂觀鎖,就是很樂觀,每次去拿數據的時候都認爲別人不會修改,
因此不會上鎖,可是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,
可使用版本號等機制,樂觀鎖適用於多讀的應用類型,這樣能夠提升吞吐量
web
------------------
前端和框架:
1.HTTP協議
HTTP協議(HyperText Transfer Protocol,超文本傳輸協議),
是一種發佈和接收 HTML頁面的方法。
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),
簡單講是HTTP的安全版,在HTTP下加入SSL層。
SSL(Secure Sockets Layer 安全套接層)主要用於Web的安全傳輸協議,
在傳輸層對網絡鏈接進行加密,保障在Internet上數據傳輸的安全。
2.簡述jsonp及實現原理?
JSONP(JSON with Padding)是JSON的一種「使用模式」,可用於解決主流瀏覽器的跨域數據訪問的問題。
原理:redis
在同源策略下,在某個服務器下的頁面是沒法獲取到該服務器之外的數據的,
但img、iframe、script等標籤是個例外,這些標籤能夠經過src屬性請求到其餘服務器上的數據。
而JSONP就是經過script節點src調用跨域的請求。
當咱們經過JSONP模式請求跨域資源時,服務器返回給客戶端一段javascript代碼,
這段javascript代碼自動調用客戶端回調函數。
3.django、flask、tornado框架的比較?
Flask 擴展豐富,冗餘度小,可自由選擇組合各類插件,性能優越,相比其餘web框架十分輕量級,其優雅的
設計哲學易於學習掌握,小型項目快速開發,大型項目毫無壓力,FLask靈活開發,python高手基本都會喜歡flasksql
Django 是重量級全棧型web框架,雖然功能強大,但冗餘度高,自帶ORM和模板引擎,靈活和自由度不夠高
開發小型項目時顯得過於臃腫與龐大數據庫
Tornado 是一個強大的、支持協程、高併發且可擴展的web服務器,發佈於2009年9月,應用於FriendFeed
Facebook等社交網站。Tornado的強項在於能夠利用他的異步協程機制開發高併發的服務器系統
4.什麼是wsgi?
(1)、RESTful只是設計風格而不是標準,而WSGI(Web Server Gateway Interface,Web 服務器網關接口)
則是Python語言中所定義的Web服務器和Web應用程序之間或框架之間的通用接口標準。
(2)、WSGI就是一座橋樑,橋樑的一端稱爲服務端或網關端,另外一端稱爲應用端或者框架端,WSGI的做用就是在協議之間進行轉化。
WSGI將Web組件分紅了三類:Web 服務器(WSGI Server)、Web中間件(WSGI Middleware)與Web應用程序(WSGI Application)。
django