欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬蟲(chóng)面試寶典(常見(jiàn)問(wèn)題)

 更新時(shí)間:2018年03月02日 15:43:54   作者:默行  
這篇文章主要介紹了python爬蟲(chóng)面試寶典及常見(jiàn)問(wèn)題小結(jié),需要的朋友可以參考下
  • 是否了解線程的同步和異步?

線程同步:多個(gè)線程同時(shí)訪問(wèn)同一資源,等待資源訪問(wèn)結(jié)束,浪費(fèi)時(shí)間,效率低

線程異步:在訪問(wèn)資源時(shí)在空閑等待時(shí)同時(shí)訪問(wèn)其他資源,實(shí)現(xiàn)多線程機(jī)制

  • 是否了解網(wǎng)絡(luò)的同步和異步?

同步:提交請(qǐng)求->等待服務(wù)器處理->處理完畢返回 這個(gè)期間客戶端瀏覽器不能干任何事

異步: 請(qǐng)求通過(guò)事件觸發(fā)->服務(wù)器處理(這是瀏覽器仍然可以作其他事情)->處理完畢

  • 鏈表和順序表儲(chǔ)存時(shí)各自有什么優(yōu)點(diǎn)?

1.順序表存儲(chǔ)

原理:順序表存儲(chǔ)是將數(shù)據(jù)元素放到一塊連續(xù)的內(nèi)存存儲(chǔ)空間,存取效率高,速度快。但是不可以動(dòng)態(tài)增加長(zhǎng)度

優(yōu)點(diǎn):存取速度高效,通過(guò)下標(biāo)來(lái)直接存儲(chǔ)

缺點(diǎn):1.插入和刪除比較慢,2.不可以增長(zhǎng)長(zhǎng)度

比如:插入或者刪除一個(gè)元素時(shí),整個(gè)表需要遍歷移動(dòng)元素來(lái)重新排一次順序

2.鏈表存儲(chǔ)

原理:鏈表存儲(chǔ)是在程序運(yùn)行過(guò)程中動(dòng)態(tài)的分配空間,只要存儲(chǔ)器還有空間,就不會(huì)發(fā)生存儲(chǔ)溢出問(wèn)題

優(yōu)點(diǎn):插入和刪除速度快,保留原有的物理順序,比如:插入或者刪除一個(gè)元素時(shí),只需要改變指針指向即可

缺點(diǎn):查找速度慢,因?yàn)椴檎視r(shí),需要循環(huán)鏈表訪問(wèn)

  • 使用redis搭建分布式系統(tǒng)時(shí)如何處理網(wǎng)絡(luò)延遲和網(wǎng)絡(luò)異常?

由于網(wǎng)絡(luò)異常的存在,分布式系統(tǒng)中請(qǐng)求結(jié)果存在“三態(tài)”的概念,即三種狀態(tài):“成功”、“失敗”、“超時(shí)(未知)”

當(dāng)出現(xiàn)“超時(shí)”時(shí)可以通過(guò)發(fā)起讀取數(shù)據(jù)的操作以驗(yàn)證 RPC 是否成功(例如銀行系統(tǒng)的做法)

另一種簡(jiǎn)單的做法是,設(shè)計(jì)分布式協(xié)議時(shí)將執(zhí)行步驟設(shè)計(jì)為可重試的,即具有所謂的“冪等性”

  • 數(shù)據(jù)倉(cāng)庫(kù)是什么?

數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的、集成的、穩(wěn)定的、反映歷史變化的、隨著時(shí)間的流逝發(fā)生變化的數(shù)據(jù)集合。它主要支持管理人員的決策分析。

數(shù)據(jù)倉(cāng)庫(kù)收集了企業(yè)相關(guān)內(nèi)部和外部各個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)源、歸檔文件等一系列歷史數(shù)據(jù),最后轉(zhuǎn)化成企業(yè)需要的戰(zhàn)略決策信息。

  • 特點(diǎn):

面向主題:根據(jù)業(yè)務(wù)的不同而進(jìn)行的內(nèi)容劃分;
集成特性:因?yàn)椴煌臉I(yè)務(wù)源數(shù)據(jù)具有不同的數(shù)據(jù)特點(diǎn),當(dāng)業(yè)務(wù)源數(shù)據(jù)進(jìn)入到數(shù)據(jù)倉(cāng)庫(kù)時(shí),需要采用統(tǒng)一的編碼格式進(jìn)行數(shù)據(jù)加載,從而保證數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的唯一性;
非易失性:數(shù)據(jù)倉(cāng)庫(kù)通過(guò)保存數(shù)據(jù)不同歷史的各種狀態(tài),并不對(duì)數(shù)據(jù)進(jìn)行任何更新操作。
歷史特性:數(shù)據(jù)保留時(shí)間戳字段,記錄每個(gè)數(shù)據(jù)在不同時(shí)間內(nèi)的各種狀態(tài)。

假設(shè)有一個(gè)爬蟲(chóng),從網(wǎng)絡(luò)上獲取數(shù)據(jù)的頻率快,本地寫(xiě)入數(shù)據(jù)的頻率慢,使用什么數(shù)據(jù)結(jié)構(gòu)好?

  • 在線求解(o°ω°o)

你是否了解谷歌的無(wú)頭瀏覽器?

無(wú)頭瀏覽器即headless browser,是一種沒(méi)有界面的瀏覽器。既然是瀏覽器那么瀏覽器該有的東西它都應(yīng)該有,只是看不到界面而已。

Python中selenium模塊中的PhantomJS即為無(wú)界面瀏覽器(無(wú)頭瀏覽器):是基于QtWebkit的無(wú)頭瀏覽器,

你是否了解MySQL數(shù)據(jù)庫(kù)的幾種引擎?

  • InnoDB:

InnoDB是一個(gè)健壯的事務(wù)型存儲(chǔ)引擎,這種存儲(chǔ)引擎已經(jīng)被很多互聯(lián)網(wǎng)公司使用,為用戶操作非常大的數(shù)據(jù)存儲(chǔ)提供了一個(gè)強(qiáng)大的解決方案。

在以下場(chǎng)合下,使用InnoDB是最理想的選擇:

1.更新密集的表。InnoDB存儲(chǔ)引擎特別適合處理多重并發(fā)的更新請(qǐng)求。

2.事務(wù)。InnoDB存儲(chǔ)引擎是支持事務(wù)的標(biāo)準(zhǔn)MySQL存儲(chǔ)引擎。

3.自動(dòng)災(zāi)難恢復(fù)。與其它存儲(chǔ)引擎不同,InnoDB表能夠自動(dòng)從災(zāi)難中恢復(fù)。

4.外鍵約束。MySQL支持外鍵的存儲(chǔ)引擎只有InnoDB。

5.支持自動(dòng)增加列AUTO_INCREMENT屬性。

一般來(lái)說(shuō),如果需要事務(wù)支持,并且有較高的并發(fā)讀取頻率,InnoDB是不錯(cuò)的選擇。

  • MEMORY:

使用MySQL Memory存儲(chǔ)引擎的出發(fā)點(diǎn)是速度。為得到最快的響應(yīng)時(shí)間,采用的邏輯存儲(chǔ)介質(zhì)是系統(tǒng)內(nèi)存。

雖然在內(nèi)存中存儲(chǔ)表數(shù)據(jù)確實(shí)會(huì)提供很高的性能,但當(dāng)mysqld守護(hù)進(jìn)程崩潰時(shí),所有的Memory數(shù)據(jù)都會(huì)丟失。

獲得速度的同時(shí)也帶來(lái)了一些缺陷。

一般在以下幾種情況下使用Memory存儲(chǔ)引擎:

1.目標(biāo)數(shù)據(jù)較小,而且被非常頻繁地訪問(wèn)。在內(nèi)存中存放數(shù)據(jù),所以會(huì)造成內(nèi)存的使用,可以通過(guò)參數(shù)max_heap_table_size控制Memory表的大小,設(shè)置此參數(shù),就可以限制Memory表的最大大小。

2.如果數(shù)據(jù)是臨時(shí)的,而且要求必須立即可用,那么就可以存放在內(nèi)存表中。

3.存儲(chǔ)在Memory表中的數(shù)據(jù)如果突然丟失,不會(huì)對(duì)應(yīng)用服務(wù)產(chǎn)生實(shí)質(zhì)的負(fù)面影響。

  • redis數(shù)據(jù)庫(kù)有哪幾種數(shù)據(jù)結(jié)構(gòu)?

5種數(shù)據(jù)結(jié)構(gòu)

string 

使用string時(shí),redis**大多數(shù)情況下**并不會(huì)理解或者解析其含義,無(wú)論使用json、xml還是純文本在redis看來(lái)都是一樣的,只是一個(gè)字符串,只能進(jìn)行strlen、append等對(duì)字符串通用的操作,無(wú)法針對(duì)其內(nèi)容進(jìn)一步操作。其基本操作命令有set、get、strlen、getrange、append:

 SET key value
 GET key
 STRLEN key
 GETRANGE key start end
 APPEND key value

在大多數(shù)情況之外,就是string中存儲(chǔ)的為純數(shù)字的情況,redis可以將字符串當(dāng)做數(shù)字進(jìn)行進(jìn)一步操作,這些操作包括decr、decrby、incr、incrby和incrbyfloat。

hash

使用hash時(shí),在我看來(lái),就是value本身就是一組key-value對(duì),不過(guò)redis將這里的key稱(chēng)為field(但是hkeys命令為什么不叫hfields命令呢哈哈),也就是value是一組field-value對(duì)。其基本操作命令有hset、hget、hmset、hmget、hgetall、hkeys和hdel:

 HSET key field value
 HGET key field
 HMSET key field value [field value ...]
 HMGET key field [field ...]
 HGETALL key
 HKEYS key
 HDEL key field [field ...]

list

使用list時(shí),value就是一個(gè)string數(shù)組,操作這組string時(shí),可以像對(duì)待棧一樣使用pop和push操作,但是這個(gè)棧兩端都能進(jìn)行操作;也可以像對(duì)待數(shù)組一樣使用一個(gè)index參數(shù)來(lái)操作。list的操作命令略雜,主要分為兩類(lèi):L開(kāi)頭的和R開(kāi)頭的,L代表LEFT或者LIST,進(jìn)行一些從列表左端進(jìn)行的操作,或者一些與端無(wú)關(guān)的操作;R代表RIGHT,進(jìn)行一些從列表右端進(jìn)行的操作。 

set

set用于存儲(chǔ)一組不重復(fù)的值,也可以進(jìn)行一些集合的操作,就像數(shù)學(xué)上的集合,它是無(wú)序的?;静僮饔衧add和sismember:

 SADD key member [member ...]
 SISMEMBER key member

集合操作有:求交sinter、求并sunion和求差sdiff:

 SINTER key [key ...]
 SUNION key [key ...]
 SDIFF key [key ...]

sorted set

sorted set類(lèi)似set,但是sorted set里每個(gè)元素都有一個(gè)score,這個(gè)score可用于排序和排名?;静僮饔衵add、zcount、zrank:

 ZADD key score member [score member ...]
 ZCOUNT key min max
 ZRANK key member

總結(jié)

以上所述是小編給大家介紹的python爬蟲(chóng)面試經(jīng)典(常見(jiàn)問(wèn)題),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Python PyYAML庫(kù)解析YAML文件使用詳解

    Python PyYAML庫(kù)解析YAML文件使用詳解

    這篇文章主要為大家介紹了Python PyYAML庫(kù)解析YAML文件使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索

    python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索

    這篇文章主要為大家介紹了python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2024-02-02
  • django rest framework 實(shí)現(xiàn)用戶登錄認(rèn)證詳解

    django rest framework 實(shí)現(xiàn)用戶登錄認(rèn)證詳解

    這篇文章主要介紹了django rest framework 實(shí)現(xiàn)用戶登錄認(rèn)證詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python圖像處理之反色實(shí)現(xiàn)方法

    python圖像處理之反色實(shí)現(xiàn)方法

    這篇文章主要介紹了python圖像處理之反色實(shí)現(xiàn)方法,涉及Python結(jié)合OpenCV與numpy操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 簡(jiǎn)單了解Python變量作用域正確使用方法

    簡(jiǎn)單了解Python變量作用域正確使用方法

    這篇文章主要介紹了簡(jiǎn)單了解Python變量作用域正確使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python實(shí)現(xiàn)的自定義多線程多進(jìn)程類(lèi)示例

    Python實(shí)現(xiàn)的自定義多線程多進(jìn)程類(lèi)示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的自定義多線程多進(jìn)程類(lèi),結(jié)合實(shí)例形式分析了Python多線程多進(jìn)程的相關(guān)調(diào)用與使用操作技巧,需要的朋友可以參考下
    2018-03-03
  • keras實(shí)現(xiàn)調(diào)用自己訓(xùn)練的模型,并去掉全連接層

    keras實(shí)現(xiàn)調(diào)用自己訓(xùn)練的模型,并去掉全連接層

    這篇文章主要介紹了keras實(shí)現(xiàn)調(diào)用自己訓(xùn)練的模型,并去掉全連接層,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python 字典訪問(wèn)的三種方法小結(jié)

    python 字典訪問(wèn)的三種方法小結(jié)

    今天小編就為大家分享一篇python 字典訪問(wèn)的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • 用python自動(dòng)生成日歷

    用python自動(dòng)生成日歷

    這篇文章主要介紹了如何用python自動(dòng)生成日歷,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python 序列類(lèi)型list示例詳解

    python 序列類(lèi)型list示例詳解

    列表(List)是一種有序的集合,可以包含任意類(lèi)型的對(duì)象:數(shù)字、字符串甚至其他列表等,列表是可變的,這意味著我們可以添加、刪除或更改列表中的元素,這篇文章主要介紹了python 序列類(lèi)型list示例詳解,需要的朋友可以參考下
    2024-04-04

最新評(píng)論