標籤:不用 elf 參數 http協議 丟失 type 對比 pes module
1.How are arguments passed – by reference of by value?
2.Do you know what list and dict comprehensions are? Can you give an example?
3.What is PEP 8?
4.Do you use virtual environments?
5.Can you sum all of the elements in the list, how about to multuply them and get the result?
6.Do you know what is the difference between lists and tuples? Can you give me an example for their usage?
7.Do you know the difference between range and xrange?
8.Tell me a few differences between Python 2.x and 3.x
9.What are decorators and what is their usage?
10.The with statement and its usage.
11.說說你對zen of python的理解,你有什麼辦法看到它
12.github上都fork過哪些python庫,列舉一下你經常使用的,每個庫用一句話描述下其功能
13.你調試python代碼的方法有哪些
14.什麼是GIL
15.什麼是元類(meta_class)
16.對比一下dict中 items 與 iteritems
17.是否遇到過python的模組間循環參考的問題,如何避免它
18.有用過with statement嗎?它的好處是什嗎?
19.說說decorator的用法和它的應用情境,如果可以的話,寫一個decorator
20.inspect模組有什麼用
21.寫一個類,並讓它儘可能多的支援操作符
22.說一說你見過比較cool的python實現
23.python下多線程的限制以及多進程中傳遞參數的方式
24.Python是如何進行記憶體管理的?
25.什麼是lambda函數?它有什麼好處?
26.如何用Python輸出一個Fibonacci數列?
27.介紹一下Python中webbrowser的用法?
28.解釋一下python的and-or文法
29.Python是如何進行類型轉換的?
30.Python如何?單例模式?其他23種設計模式python如何??
31.如何用Python來進行查詢和替換一個文本字串?
32.如何用Python來發送郵件?
33.有沒有一個工具可以協助尋找python的bug和進行靜態程式碼分析?
34.有兩個序列a,b,大小都為n,序列元素的值任意整形數,無序;
要求:通過交換a,b中的元素,使[序列a元素的和]與[序列b元素的和]之間的差最小。
35.如何用Python刪除一個檔案?
36.Python如何copy一個檔案?
37.python程式中文輸出問題怎麼解決?
38.python代碼得到列表list的交集與差集
39.寫一個簡單的python socket編程
40.python如何捕獲異常
41.在Python中, list, tuple, dict, set有什麼區別, 主要應用在什麼樣的情境?
42. 靜態函數, 類函數, 成員函數的區別?
43. a=1, b=2, 不用中間變數交換a和b的值
44. 寫一個函數, 輸入一個字串, 返回倒序排列的結果: 如: string_reverse(‘abcdef’), 返回: ‘fedcba’
45. 請用自己的演算法, 按升序合并如下兩個list, 並去除重複的元素:
list1 = [2, 3, 8, 4, 9, 5, 6]
list2 = [5, 6, 10, 17, 11, 2]
46. 說一下以下程式碼片段存在的問題
from amodule import * # amodule is an exist module class dummyclass(object): def __init__(self): self.is_d = True pass class childdummyclass(dummyclass): def __init__(self, isman): self.isman = isman @classmethod def can_speak(self): return True @property def man(self): return self.isman if __name__ == "__main__": object = new childdummyclass(True) print object.can_speak() print object.man() print object.is_d
47. 介紹一下python的異常處理機制和自己開發過程中的體會
48.解釋一下 WSGI 和 FastCGI 的關係?
49.解釋一下 Django 和 Tornado 的關係、差別
50.解釋下Django使用redis快取服務器
51.如何進行Django單元測試
52.解釋下Http協議
53.解釋下Http要求標頭和常見響應狀態代碼
54.分別簡述OO,OOA
55.簡述Regex中?p的含義
56.Python類中的self的具體含義是
57.請寫出python的常用內建函數(至少3個),並描述它們具體含義
58.可以用python進行POST資料提交,可以載入什麼模組來進行操作?在操作之前需要對資料進行什麼操作?
59.說出python中介軟體Sqlalchemy的具體聲明方式?以及模組與MySQLdb之間的區別?
60.描述出3中python常用架構,並簡要描述這些架構的優缺點
61.reactor是什嗎? 有什麼作用?請簡要描述。
62.請描述2種不同語言間資料流轉通用格式。
63.簡述我們使用多線程編程時,鎖與訊號量之間的關係。
64.通常在python編寫tcp服務時,我們使用拆、粘包的模組是什嗎?如何載入這個模組?
65.兩個整數數組各有100億條資料,並已經排序,儲存在磁碟上,記憶體10M。
問:
(1)如何取得交集?時間和空間效率分別是多少?Python 集合set()操作方法
(2)如果其中一個數組只有100條資料,如何最佳化演算法取得交集?時間和空間效率分別是多少?
(3)用自己熟悉的語言實現第2個問題,要求可以正確運行;假設已經提供函數read_elt(arrary_name, index)可以用來讀取某個數組的第index個元素,元素個數分別用m=100和n=10^10表示。
66.有100個磁碟組成的儲存系統,當有3個磁碟同時損壞時,才會發生資料丟失。如果1個磁碟的損壞率是p,請問整個儲存系統遺失資料的機率是多少?
67.請描述B-Tree插入值的過程
67.一個管道可以從a端發送字元到b端,只能發送0-9這10個數字,設計訊息的協議,讓a可以通知b任意大小的數字,並討論這種訊息協議可能發送的錯誤的處理能力。
68.假設fd是一個socket,read(fd, buf, 1024)
問:可能返回哪些值?其代表什麼含義?
69.自旋鎖適合哪些場合應用,不適合哪些場合?
70.假設網路會丟失訊息,進程可能意外終止,磁碟可靠(寫入資料後不會丟失);
問:
如何構建一個可靠的分布式key-value儲存系統?
答題要求如下:
1.用戶端向系統發送1條寫入請求(例如key=x, value=1),系統返回‘成功‘,用戶端一定可以正確讀取到key=y的值
2.在你設計的系統中,要滿足上面第1條,並有一定對故障的容錯能力。
3.如果要儘可能提高寫入或讀寫成功率,如果改進系統設計?分別會有哪些問題?
71.假設你的鍵盤只有以下鍵:
A
Ctrl + A
Ctrl + C
Ctrl + V
這裡Ctrl+A,Ctrl+C,Ctrl+V分別代表"全選",“複製”,“粘貼”。
如果你只能按鍵盤N次,請寫一個程式可以產生最多數量的A。也就是說輸入是N(你按鍵盤的次數), 輸出是M(產生的A的個數)。
加分項:
列印出中間你按下的那些鍵。
72.假設給你一個月的日誌,格式如下:
[I 130403 17:26:40] 1 200 GET /question/123 (8.8.9.9) 200.39ms
[I 130403 17:26:90] 1 200 GET /topic/456 (8.8.9.9) 300.85ms
[I 130403 17:26:90] 1 200 POST /answer/789 (8.8.9.9) 300.85ms
...
方括弧中依次是:層級,日期,時間,後面依次是使用者id,返回碼,訪問方式,訪問路徑,使用者ip,回應時間
記錄檔名格式為:年-月-日-小時.log,如:2013-01-01-18.log,共30*24個檔案。
寫個程式,算出一個使用者列表和一個路徑列表符合以下要求:
(1).這些使用者每天都會訪問(GET)/topic/***這個路徑兩次以上(*代表數字)
(2).這些使用者每天訪問(GET)的/topic/***路徑中,至少會包含兩個不同的路徑(後面的數字不一樣)
(3).統計出所有以上使用者所訪問的路徑中每天都出現兩次以上的路徑列表
73.有兩個序列a,b,大小都為n,序列元素的值任意整形數,無序;
要求:通過交換a,b中的元素,使[序列a元素的和]與[序列b元素的和]之間的差最小
74.Python語言的有哪些缺陷?
75.What are some key differences to bear in mind when coding in Python vs. Java?
76.有哪些CPython的替代實現?什麼時候,為什麼會使用他們?
77. Python是解釋型的還是編譯型的?
78.為什麼要用函數裝飾器?請舉例
78.現在有一個 dict 對象 adict,裡麵包含了一百萬個元素,尋找其中的某個元素的平均需要多少次比較?一千萬個元素呢?
79.現在有一個 list 對象 alist,裡面的所有元素都是字串,編寫一個函數對它實現一個大小寫無關的排序。
80.python 裡關於“堆”這種資料結構的模組是哪個?“堆”有什麼優點和缺點?舉一個遊戲開發中可能會用到堆的問題(不限是於 python 的堆,可以是其它語言的相關實現)。
81.set 是在哪個版本成為 build-in types 的?舉一個你在以往項目中用到這種資料結構的問題(不限是於 python 的 set ,可以是其它語言的相關實現),並說明為什麼當時選擇了 set 這種資料結構。
82.有一個排好序地 list 對象 alist,尋找其中是否有某元素 a(儘可能地使用標準庫函數)
83.實現一個 stack。
84.編寫一個簡單的 ini 檔案解譯器。
85.現有 N 個純文字格式的英文檔案,實現一種檢索方案,即做一個小搜尋引擎。
python面試題(轉)