最近在刷面試題,所以需要看大量的 Python 相關(guān)的面試題,從大量的題目中總結(jié)了很多的知識(shí),同時(shí)也對(duì)一些題目進(jìn)行拓展了,但是在看了網(wǎng)上的大部分面試題不是很滿意,一個(gè)是有些部分還是 Python2 的代碼,另一個(gè)就是回答的很簡(jiǎn)單,有些關(guān)鍵的題目,也沒(méi)有點(diǎn)出為什么,最重要的是還有一些復(fù)制粘貼根本就跑不通,這種相信大家深有體會(huì)吧,這樣就導(dǎo)致我們可能需要去找其他人發(fā)的類(lèi)似的教程。難受啊,所以我決定針對(duì)市面上大多的 Python 題目做一個(gè)分析,同時(shí)也希望大家盡可能的做到舉一反三,而不是局限于題目本身。大概就這樣吧,有你看過(guò)的題目也有你沒(méi)看到過(guò)的。
知識(shí)點(diǎn):
掌握 Python 的基礎(chǔ)語(yǔ)法
語(yǔ)法常見(jiàn)的 Python 應(yīng)用場(chǎng)景
掌握 Python 閉包的使用以及裝飾器的使用
生成器和迭代器的使用
常見(jiàn)的設(shè)計(jì)模式的使用
深淺拷貝的區(qū)別
線程、進(jìn)程、協(xié)程的使用
了解 Python 中的元編程和反射
常考的數(shù)據(jù)結(jié)構(gòu)和算法
爬蟲(chóng)相關(guān)知識(shí),網(wǎng)絡(luò)編程基本知識(shí)等
語(yǔ)言特性
1.談?wù)剬?duì) Python 和其他語(yǔ)言的區(qū)別
2.簡(jiǎn)述解釋型和編譯型編程語(yǔ)言
3.Python 的解釋器種類(lèi)以及相關(guān)特點(diǎn)?
4.說(shuō)說(shuō)你知道的Python3 和 Python2 之間的區(qū)別?
5.Python3 和 Python2 中 int 和 long 區(qū)別?
6.xrange 和 range 的區(qū)別?
編碼規(guī)范
7.什么是 PEP8?
8.了解 Python 之禪么?
9.了解 dosctring 么?
10.了解類(lèi)型注解么?
11.例舉你知道 Python 對(duì)象的命名規(guī)范,例如方法或者類(lèi)等
12.Python 中的注釋有幾種?
13.如何優(yōu)雅的給一個(gè)函數(shù)加注釋?zhuān)?/p>
14.如何給變量加注釋?zhuān)?/p>
15.Python 代碼縮進(jìn)中是否支持 Tab 鍵和空格混用。
16.是否可以在一句 import 中導(dǎo)入多個(gè)庫(kù)?
17.在給 Py 文件命名的時(shí)候需要注意什么?
18.例舉幾個(gè)規(guī)范 Python 代碼風(fēng)格的工具
數(shù)據(jù)類(lèi)型
字符串
19.列舉 Python 中的基本數(shù)據(jù)類(lèi)型?
20.如何區(qū)別可變數(shù)據(jù)類(lèi)型和不可變數(shù)據(jù)類(lèi)型
21.將"hello world"轉(zhuǎn)換為首字母大寫(xiě)"Hello World"
22.如何檢測(cè)字符串中只含有數(shù)字?
23.將字符串"ilovechina"進(jìn)行反轉(zhuǎn)
24.Python 中的字符串格式化方式你知道哪些?
25.有一個(gè)字符串開(kāi)頭和末尾都有空格,比如“ adabdw ”,要求寫(xiě)一個(gè)函數(shù)把這個(gè)字符串的前后空格都去掉。
26.獲取字符串”123456“最后的兩個(gè)字符。
27.一個(gè)編碼為 GBK 的字符串 S,要將其轉(zhuǎn)成 UTF-8 編碼的字符串,應(yīng)如何操作?
28.s="info:xiaoZhang 33 shandong",用正則切分字符串輸出['info', 'xiaoZhang', '33', 'shandong']
27.怎樣將字符串轉(zhuǎn)換為小寫(xiě)?
28.單引號(hào)、雙引號(hào)、三引號(hào)的區(qū)別?
29.a = "你好 中國(guó) ",去除多余空格只留一個(gè)空格。
列表
30.已知 AList = [1,2,3,1,2],對(duì) AList 列表元素去重,寫(xiě)出具體過(guò)程。
31.如何實(shí)現(xiàn) "1,2,3" 變成 ["1","2","3"]
32.給定兩個(gè) list,A 和 B,找出相同元素和不同元素
33.[[1,2],[3,4],[5,6]]一行代碼展開(kāi)該列表,得出[1,2,3,4,5,6]
34.合并列表[1,5,7,9]和[2,2,6,8]
35.如何打亂一個(gè)列表的元素?