Python 開發面試總結


網絡基礎

  • 如何確定發送過來的數據的完整性(有無中間人攻擊)?

散列值校驗(MD5SHA-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:域名系統,是一個分布式、層次的數據庫

  • ApacheNginx的優缺點比較。

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 cookbookeffective PythonJava 核心技術、C 語言程序設計

編程珠璣,數據結構與算法分析

編碼、深入理解計算機系統

圖解 HTTP、計算機網絡:從頂到下

Flask web 開發、精通 Scrapy 網絡爬蟲

高性能 MySQLRedis 設計與實現

博客、文檔、google、問答網站

網易雲課堂視頻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM