python 基礎面試題理論

2021-10-06 10:49:05 字數 1552 閱讀 7070

1、python的__dict__的作用,平常怎麼使用?

檢視物件的屬性,元類程式設計的時候有用。一般不自己寫庫基本上不會用到元類程式設計,__dict__的相對用途就小很多。

2、快取穿透、快取擊穿、快取雪崩了解麼?簡述下

快取穿透

在高併發下,查詢乙個不存在的值時,快取不會被命中,導致大量請求直接落到資料庫上,如活動系統裡面查詢乙個不存在的活動。

快取擊穿

在高併發下,對乙個特定的值進行查詢,但是這個時候快取正好過期了,快取沒有命中,導致大量請求直接落到資料庫上,如活動系統裡面查詢活動資訊,但是在活動進行過程中活動快取突然過期了。

快取雪崩

在高併發下,大量的快取key在同一時間失效,導致大量的請求落到資料庫上,如活動系統裡面同時進行著非常多的活動,但是在某個時間點所有的活動快取全部過期。

3、了解mysql索引麼?幹什麼用的?

索引(書籤)可以大大提高mysql的檢索速度。

需要確保該索引是應用在 sql 查詢語句的條件(一般作為 where 子句的條件)。

實際上,索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄。

它的缺點:雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert、update和delete。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案。

4、常用的linux命令

查詢記憶體的命令:top

終止程序: kill -signal pid

查詢動態log:tail -f

5、了解http協議嗎?怎麼解決http協議無狀態協議?

http協議和tcp/ip協議族內的其他眾多的協議相同,用於客戶端和伺服器間通訊。

http協議的特點

靈活:http允許傳輸任意型別的資料物件。

無連線:限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

可見,http不是字面意義上的沒有連線,事實上,這個定義也符合http短連線的定義,但無連線強調的是http的特性,短連線可理解為一種實現。

相對於特性3:http 的設計者有意利用這種特點將協議設計為請求時建連線、請求完釋放連線,以盡快將資源釋放出來服務其他客戶端。引入keep-alive模式後,keep-alive功能使客戶端到伺服器端的連線持續有效,當出現對伺服器的後繼請求時,keep-alive功能避免了建立或者重新建立連線。

相對於特性4:http協議是無狀態的,無狀態協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊

無狀態協議解決辦法: 通過1、cookie 2、通過session會話儲存。

6、簡述cookie和session的區別

1 .訪問方式的不同

2 .隱私策略的不同

3.有效期上的不同

4.伺服器壓力的不同

5 .瀏覽器支援的不同

6.跨域支援上的不同

(具體自己補充吧)

理論面試題(三)

理論面試題 三 什麼情況下需要使用redis快取 如果 不是非常大的 想要提高 的效率 減少資料庫的讀寫,我們就需要引入快取技術 對memcache的理解和優勢 memcache是一種快取技術,在一定的時間內將動態網頁經過解析之後儲存到檔案,下次訪問時動態網頁就直接呼叫這個檔案,而不必在重新訪問資料...

python基礎面試題(1)

一.基礎面試題 1.中要修改不可變資料會出現什麼問題,丟擲什麼異常?答 不能正常執行,會丟擲typeerror型別的錯誤 2.a 1,b 2 不使用中間變數互動a,b的值?答 第一種方法 a a b b a b a a b 第二中方法 a,b b,a 第三種方法 a a b b b a a a b ...

Python面試題 基礎篇

readlines 是把檔案的全部內容讀取到記憶體,並解析成乙個字串列表。xreadlines 返回乙個iter file 迭代器,在python2.3後已經不推薦這種表示方法了,直接使用for迴圈迭代檔案物件。python中物件包含三要素 id,type,value。其中id用來唯一標識乙個物件,...