自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

常見(jiàn)的Python爬蟲面試題,叫面試官唱征服

開(kāi)發(fā) 后端 MySQL
本文總結(jié)了一些面試題,包括是否了解線程的同步和異步、是否了解網(wǎng)絡(luò)的同步和異步、鏈表和順序表儲(chǔ)存時(shí)各自有什么優(yōu)點(diǎn)、爬蟲等等,快來(lái)看看,叫面試官唱征服。
 是否了解線程的同步和異步?

線程同步:多個(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ù)器處理(這是瀏覽器仍然可以作其他事情)->處理完畢

[[225951]]

鏈表和順序表儲(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):

  1. 面向主題:根據(jù)業(yè)務(wù)的不同而進(jìn)行的內(nèi)容劃分;

  2. 集成特性:因?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ù)的唯一性;

  3. 非易失性:數(shù)據(jù)倉(cāng)庫(kù)通過(guò)保存數(shù)據(jù)不同歷史的各種狀態(tài),并不對(duì)數(shù)據(jù)進(jìn)行任何更新操作。

  4. 歷史特性:數(shù)據(jù)保留時(shí)間戳字段,記錄每個(gè)數(shù)據(jù)在不同時(shí)間內(nèi)的各種狀態(tài)。

假設(shè)有一個(gè)爬蟲,從網(wǎng)絡(luò)上獲取數(shù)據(jù)的頻率快,本地寫入數(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)了一些缺陷?! ?/p>

一般在以下幾種情況下使用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。

責(zé)任編輯:龐桂玉 來(lái)源: 菜鳥(niǎo)學(xué)Python
相關(guān)推薦

2019-07-23 09:30:17

HTTP 2.0HTTP協(xié)議傳輸

2018-05-10 15:48:47

面試面試官Java

2024-08-08 16:53:17

2009-06-16 14:03:16

Hibernate面試Hibernate面試

2015-08-13 10:29:12

面試面試官

2024-04-19 00:00:00

計(jì)數(shù)器算法限流算法

2021-06-04 07:04:29

閉包JavaScript函數(shù)

2009-06-02 15:11:11

Hibernate面試題查詢

2022-05-23 08:43:02

BigIntJavaScript內(nèi)置對(duì)象

2020-06-04 14:40:40

面試題Vue前端

2023-11-10 08:44:13

分布式鎖分布式系統(tǒng)

2023-11-13 07:37:36

JS面試題線程

2014-09-19 11:17:48

面試題

2021-05-27 05:37:10

HTTP請(qǐng)求頭瀏覽器

2021-09-30 07:57:13

排序算法面試

2021-12-21 08:59:29

VueMVVM框架

2018-10-22 14:28:26

面試官數(shù)據(jù)公司

2011-03-24 13:27:37

SQL

2009-08-28 09:29:02

2023-02-16 08:10:40

死鎖線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)