python面試題(轉)

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.python

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 react

20.inspect模塊有什麼用

21.寫一個類,並讓它儘量多的支持操做符

22.說一說你見過比較cool的python實現git

23.python下多線程的限制以及多進程中傳遞參數的方式

24.Python是如何進行內存管理的? github

25.什麼是lambda函數?它有什麼好處? web

26.如何用Python輸出一個Fibonacci數列? 正則表達式

27.介紹一下Python中webbrowser的用法? redis

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.簡述正則表達式中?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 個純文本格式的英文文件,實現一種檢索方案,即作一個小搜索引擎。

相關文章
相關標籤/搜索