-
Python面試真題- Django重定向你是如何實現(xiàn)的?用的什么狀態(tài)碼?
【Python面試真題】- Django重定向你是如何實現(xiàn)的?用的什么狀態(tài)碼? 使用HttpResponseRedirect redirect和reverse 狀態(tài)碼:302,301
-
Python面試真題- 在多線程環(huán)境中,Python 虛擬機按什么方式執(zhí)行 ?
【Python面試真題】- 在多線程環(huán)境中,Python 虛擬機按什么方式執(zhí)行 ? 1. 設(shè)置GIL2. 切換到一個線程去運行3. 運行: a. 指定數(shù)量的字節(jié)碼指令,或者 b. 線程主動讓出控制(可以調(diào)用time.sleep(0))4. 把線程設(shè)置為睡眠狀態(tài)5. 解鎖GIL6. 再次重復以上所有步驟 在調(diào)用外部代碼(如C/C++擴展函數(shù))的時候,GIL 將會被鎖定,直到這個函數(shù)結(jié)束為止(由于在這期間沒有Python 的字節(jié)碼被運行,所以不會做線程…
-
Python面試真題 - 迭代器和生成器的區(qū)別 ?
【Python面試真題】- 迭代器和生成器的區(qū)別 ? 1)迭代器是一個更抽象的概念,任何對象,如果它的類有next方法和iter方法返回自己本身。對于string、list、dict、tuple等這類容器對象,使用for循環(huán)遍歷是很方便的。在后臺for語句對容器對象調(diào)用iter()函數(shù),iter()是Python的內(nèi)置函數(shù)。iter()會返回一個定義了next()方法的迭代器對象,它在容器中逐個訪問容器內(nèi)元素,next()也是Python的內(nèi)置函數(shù)。在沒有后續(xù)元素時,next()會拋出一個S…
-
Python面試真題 - 寫爬蟲是用多進程好?還是多線程好? 為什么?
【Python面試真題】- 寫爬蟲是用多進程好?還是多線程好? 為什么? IO密集型代碼(文件處理、網(wǎng)絡(luò)爬蟲等),多線程能夠有效提升效率(單線程下有IO操作會進行IO等待,造成不必要的時間浪費,而開啟多線程能在線程A等待時,自動切換到線程B,可以不浪費CPU的資源,從而能提升程序執(zhí)行效率)。在實際的數(shù)據(jù)采集過程中,既考慮網(wǎng)速和響應(yīng)的問題,也需要考慮自身機器的硬件情況,來設(shè)置多進程或多線程
-
Python面試真題 - 你常用的mysql引擎有哪些?各引擎間有什么區(qū)別?
【Python面試真題】- 你常用的mysql引擎有哪些?各引擎間有什么區(qū)別? 主要 MyISAM 與 InnoDB 兩個引擎,其主要區(qū)別如下: 一、InnoDB 支持事務(wù),MyISAM 不支持,這一點是非常之重要。事務(wù)是一種高 級的處理方式,如在一些列增刪改中只要哪個出錯還可以回滾還原,而 MyISAM 就不可以了; 二、MyISAM 適合查詢以及插入為主的應(yīng)用,InnoDB 適合頻繁修改以及涉及到 安全性較高的應(yīng)用; 三、InnoDB 支持外鍵,MyISAM 不支…
-
Python面試真題- scrapy和scrapy-redis有什么區(qū)別?為什么選擇redis數(shù)據(jù)庫?
【Python面試真題】- scrapy和scrapy-redis有什么區(qū)別?為什么選擇redis數(shù)據(jù)庫? 1)scrapy是一個Python爬蟲框架,爬取效率極高,具有高度定制性,但是不支持分布式。而scrapy-redis一套基于redis數(shù)據(jù)庫、運行在scrapy框架之上的組件,可以讓scrapy支持分布式策略,Slaver端共享Master端redis數(shù)據(jù)庫里的item隊列、請求隊列和請求指紋集合。 2)為什么選擇redis數(shù)據(jù)庫,因為redis支持主從同步,而且數(shù)據(jù)都是緩存在內(nèi)…
-
【Python面試真題】- Django 本身提供了 runserver,為什么不能用來部署?
【Python面試真題】- Django 本身提供了 runserver,為什么不能用來部署? runserver 方法是調(diào)試 Django 時經(jīng)常用到的運行方式,它使用 Django 自帶的 WSGI Server 運行,主要在測試和開發(fā)中使用,并且 runserver 開啟的方式也是單進程 。 uWSGI 是一個 Web 服務(wù)器,它實現(xiàn)了 WSGI 協(xié)議、uwsgi、http 等協(xié)議。注意 uwsgi 是一種通信協(xié)議,而 uWSGI 是實現(xiàn)uwsgi 協(xié)議和 WSGI 協(xié)議的 Web…
-
Python面試真題 - Tornado 的核是什么 ?
【Python面試真題】- Tornado 的核是什么 ? Tornado 的核心是 ioloop 和 iostream 這兩個模塊,前者提供了一個高效的 I/O 事件循環(huán),后者則封裝了 一個無阻塞的 socket 。通過向 ioloop 中添加網(wǎng)絡(luò) I/O 事件,利用無阻塞的 socket ,再搭配相應(yīng)的回調(diào) 函數(shù),便可達到夢寐以求的高效異步執(zhí)行。
-
Python面試真題 - Django重定向你是如何實現(xiàn)的?用的什么狀態(tài)碼?
【Python面試真題】- Django重定向你是如何實現(xiàn)的?用的什么狀態(tài)碼? 使用HttpResponseRedirect redirect和reverse 狀態(tài)碼:302,301
-
Python面試真題 - 怎么描述數(shù)組、鏈表、隊列、堆棧的區(qū)別?
【Python面試真題】- 怎么描述數(shù)組、鏈表、隊列、堆棧的區(qū)別? 數(shù)組與鏈表是數(shù)據(jù)存儲方式的概念,數(shù)組在連續(xù)的空間中存儲數(shù)據(jù),而鏈表可以在非連續(xù)的空間中存儲數(shù)據(jù); 隊列和堆棧是描述數(shù)據(jù)存取方式的概念,隊列是先進先出,而堆棧是后進先出;隊列和堆??梢杂脭?shù)組來實現(xiàn),也可以用鏈表實現(xiàn)。