常見的面試題

2022-08-10 00:15:22 字數 2684 閱讀 1104

程序中的管道:pipe

ipc通訊的一種機制,佇列就是基於管道來完成通訊的,但是管道是原生的通訊方式

在程序之間會產生資料不安全的情況,需要自己手動加鎖來處理

管道在資料傳輸過程中,還涉及到乙個埠管理,這個需要我們在**中做處理才能使用**更加完善

程序中的佇列:管道+鎖,程序之間的資料安全

程序中的訊號量原理:鎖+計數器

單例模式:

class a:

__isinstangs = none

def __new__(cls, *args, **kwargs):

if a.__isinstangs == none:

obj = object.__new__(cls)

a.__isinstangs = obj

return a.__isinstangs

三次握手,四次揮手:

三次握手:

(面試回答)

首先,必須先由客戶端發起連線的請求

接下來,伺服器接收到請求之後,回覆給客戶端兩個標識,乙個syn表示

伺服器接收到請求,乙個ack表示伺服器在做準備工作,兩個標識一起

回覆給客戶端

最後,客戶端接收到伺服器的回覆,客戶端準備連線的所有資源,開始進行連線

傳送給伺服器乙個ack表示客戶端的連線準備工作已經完成

(此時表示客戶端和伺服器可以相互連線了)

如果面試官問你,哪句**體現了三次握手?

回答: 伺服器端的accept,客戶端connect

四次揮手:

(面試回答)

(1)首先由連線雙方任意一方發起斷開連線的請求,發起方傳送的請求表示

是我沒有資料要繼續傳送了,可以斷開連線了,但是你如果還有資料可以繼續向我傳送資料.

(2)接收方回覆給發起方,表示接到了發起放的斷開請求,開始著手準備斷開事宜

(3)接收方準備完成後,給發起方傳送乙個標識,表示接受方沒有資料繼續傳送了

可以斷開連線了

(4)發起方接收到訊息後,準備斷開連線,**資源

如果面試官問你,哪句**體現了四次揮手?

回答: close()

斐波那契數列1, 2, 3, 5, 8, 13, 21.....根據這樣的規律,程式設計求出400萬以內最大的斐波那契數,並求出他是第幾個斐波那契數。

a, b = 1, 2

count = 1

while b < 4000000:

a, b = b, a + b

count += 1

print(f'是400萬以內最大的斐波那契數,是第個斐波那契數')

預設值引數的坑

以下的**的輸出將是什麼:___(3分)

# def extendlist(val, list=):

# return list##

# list1 = extendlist(10)

# list2 = extendlist(123, )

# list3 = extendlist('a')

# print(list1, list2, list3) 執行結果:[10, 'a'] [123] [10, 'a']

# print 「list1 = % s」 % list1

# print 「list2 = % s」 % list2

# print 「list3 = % s」 % list3

二分查詢:

# l1 = [2, 3, 5, 10, 15, 16, 18]

## def two_find(l,aim,start=0,end=none):

# end = len(l) - 1 if end is none else end

# mid_index = (end - start) // 2 + start

# '''

# 第一次: aim:15 start: 0 end: 6 min_index: 3 中間值:10 aim > 10

# 第二次: aim:15 start: 4 end: 6 min_index: 5 中間值:16 aim < 16

# 第三次: aim:15 start: 4 end: 5 min_index: 4 中間值:15 aim = 15

# '''

# if start <= end:

# if aim > l[mid_index]:

# return two_find(l, aim, start=mid_index+1, end=end)

# elif aim < l[mid_index]:

# return two_find(l, aim, start=start, end=mid_index)

# elif aim == l[mid_index]:

# return mid_index

# else:

# return none

# else:

# return none

# print(two_find(l1,15))

面試題(八)vuex常見面試題

1.vuex 是什麼?怎麼使用?哪些功能場景使用它?答 有五種,分別是 state getter mutation action module state 基本資料 資料來源存放地 getters 從基本資料派生出來的資料 mutations 體積更改資料的方法,同步!actions 像乙個裝飾器,...

常見C 面試題

1.解釋堆 heap 和棧 stack 的區別。答 堆 1.由程式設計師分配釋放,存放new出來的物件 2.不連續,類似於鍊錶,大小取決於計算機系統的虛擬記憶體 棧 1.由編譯器自動分配釋放,存放函式引數值或區域性變數等。2.連續的儲存區域 2m左右 空間不足會提示棧溢位 overflow 2.論述...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...