網絡基礎
-
如何確定發送過來的數據的完整性(有無中間人攻擊)?
散列值校驗(MD5、SHA-1)、數字簽名(PGP),需要用戶親自校驗,若是散列值或數字簽名本身被篡改,用戶是無法判斷出來的。
HTTPS安全通信機制中,應用層發送數據時會附加MAC報文摘要,可以查知報文是否被篡改。
-
HTTP 有哪些方法?
GET:獲取資源
POST:傳輸實體主體
PUT:傳輸文件
HEAD:獲得報文首部
DELETE:刪除文件
OPTIONS:詢問支持的方法
TRACE:追蹤路徑
CONNECT:用隧道協議連接代理
-
RESTful 中 GET/POST/PUT 的區別是什么?
獲取/創建/修改 資源
-
time wait 的原因? 一次HTTP請求的過程是什么? DNS 原理是什么?協議上怎么確定收到了請求?
原因:https://blog.csdn.net/u013616945/article/details/77510925
實現TCP全雙工連接的可靠釋放、使舊的數據包在網絡因過期而消失
DNS:域名系統,是一個分布式、層次的數據庫
-
Apache與Nginx的優缺點比較。
nginx:異步非阻塞、靜態處理能力強
apache:同步多進程、動態能力強
數據結構
-
介紹 MySQL 的索引以及索引設計。
聚集與非聚集、左前綴原則等
-
Hash 表數據結構是怎樣的?拉鏈法、開址法的優缺點以及rehash過程。
根據key直接訪問內存存儲位置的數據結構
https://blog.csdn.net/mark555/article/details/22038151/
操作系統
-
Unix 進程有哪些通信方式?
共享內存、消息傳遞
-
一條Linux指令統計文件目錄下文件數。
https://blog.csdn.net/quincuntial/article/details/54943351/
編程語言
-
Python 可變與不可變數據類型的差異。
-
Python 中元類的使用經驗。
-
Python 實現一個字典類。
- Python 函數傳值還是傳址?
項目設計
-
爬蟲中,url 越來越多,怎么去重?
https://www.jianshu.com/p/d23741865521/
-
從服務器日志中,統計訪問次數最多的IP。
https://blog.csdn.net/luyaran/article/details/54136227/
學習方法:
Python cookbook,effective Python,Java 核心技術、C 語言程序設計
編程珠璣,數據結構與算法分析
編碼、深入理解計算機系統
圖解 HTTP、計算機網絡:從頂到下
Flask web 開發、精通 Scrapy 網絡爬蟲
高性能 MySQL,Redis 設計與實現
博客、文檔、google、問答網站
網易雲課堂視頻