1. 程式人生 > >2018-12-23叢曉強作業

2018-12-23叢曉強作業

1.什麼是面向物件的mro

Python 中針對 類 提供了一個 內建屬性 __mro__ 可以檢視 方法 搜尋順序
MRO 是 method resolution order,主要用於 在多繼承時判斷 方法、屬性 的呼叫 路徑

2.json序列化時,預設遇到中文會轉換成unicode,如果想要保留中文怎麼辦?

ensure_ascii=False

3.簡述 yield關鍵字。

使用關鍵yield返回的數會形成一個生成器

4.簡述 OSI 七層協議。

 

5.什麼是C/S和B/S架構?

 

6.簡述 三次握手、四次揮手的流程。

 

7.GIL鎖是什麼鬼

保護資料

8.流式套接字有什麼特點

 

9.如何在一個function裡面設定一個全域性的變數?

global

10.python下多執行緒的限制以及多程序中傳遞引數的方式

python多執行緒有個全域性直譯器鎖(global interpreter lock),這個鎖的意思是任一時間只能有一個執行緒使用直譯器,跟單cpu跑多個程式一個意思,大家都是輪著用的,這叫“併發”,不是“並行”。
多程序間共享資料,可以使用 multiprocessing.Value 和 multiprocessing.Array


11.什麼是pickling和unpickling?

 

程式設計練習

1.建立一個檔案,檔案的第一行寫入0,再建立20個任務執行緒,他們同時開啟檔案並將檔案第一行讀出來,加1寫回去(將檔案原有值覆蓋掉)請保證20個任務執行緒完成後,檔案中的第一行一定是20!

 

2.完成一個cs架構程式,服務端一旦接受到客戶端請求檔案路徑後,判斷此檔案是否存在,如果存在,將檔案內容傳送給客戶端,如果不存在,也請告知客戶端