語(yǔ)言特性
1.談?wù)剬?duì) Python 和其他語(yǔ)言的區(qū)別
2.簡(jiǎn)述解釋型和編譯型編程語(yǔ)言
3.Python 的解釋器種類以及相關(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.了解 docstring 么?
10.了解類型注解么?
11.例舉你知道 Python 對(duì)象的命名規(guī)范,例如方法或者類等
12.Python 中的注釋有幾種?
13.如何優(yōu)雅的給一個(gè)函數(shù)加注釋?
14.如何給變量加注釋?
15.Python 代碼縮進(jìn)中是否支持 Tab 鍵和空格混用。
16.是否可以在一句 import 中導(dǎo)入多個(gè)庫(kù)?
17.在給 Py 文件命名的時(shí)候需要注意什么?
18.例舉幾個(gè)規(guī)范 Python 代碼風(fēng)格的工具
數(shù)據(jù)類型
字符串
19.列舉 Python 中的基本數(shù)據(jù)類型?
20.如何區(qū)別可變數(shù)據(jù)類型和不可變數(shù)據(jù)類型
21.將"hello world"轉(zhuǎn)換為首字母大寫"Hello World"
22.如何檢測(cè)字符串中只含有數(shù)字?
23.將字符串"ilovechina"進(jìn)行反轉(zhuǎn)
24.Python 中的字符串格式化方式你知道哪些?
25.有一個(gè)字符串開頭和末尾都有空格,比如“ adabdw ”,要求寫一個(gè)函數(shù)把這個(gè)字符串的前后空格都去掉。
26.獲取字符串”123456“最后的兩個(gè)字符。
27.一個(gè)編碼為 GBK 的字符串 S,要將其轉(zhuǎn)成 UTF-8 編碼的字符串,應(yīng)如何操作?
28. (1)s="info:xiaoZhang 33 shandong",用正則切分字符串輸出['info', 'xiaoZhang', '33', 'shandong'](2) a = "你好 中國(guó) ",去除多余空格只留一個(gè)空格。
29. (1)怎樣將字符串轉(zhuǎn)換為小寫 (2)單引號(hào)、雙引號(hào)、三引號(hào)的區(qū)別?
列表
30.已知 AList = [1,2,3,1,2],對(duì) AList 列表元素去重,寫出具體過(guò)程。
31.如何實(shí)現(xiàn) "1,2,3" 變成 ["1","2","3"]
32.給定兩個(gè) list,A 和 B,找出相同元素和不同元素
33.[[1,2],[3,4],[5,6]]一行代碼展開該列表,得出[1,2,3,4,5,6]
34.合并列表[1,5,7,9]和[2,2,6,8]
35.如何打亂一個(gè)列表的元素?
字典
36.字典操作中 del 和 pop 有什么區(qū)別
37.按照字典的內(nèi)的年齡排序
d1?=?[
????{'name':'alice',?'age':38},
????{'name':'bob',?'age':18},
????{'name':'Carl',?'age':28},
]
38.請(qǐng)合并下面兩個(gè)字典 a = {"A":1,"B":2},b = {"C":3,"D":4}
39.如何使用生成式的方式生成一個(gè)字典,寫一段功能代碼。
40.如何把元組("a","b")和元組(1,2),變?yōu)樽值鋥"a":1,"b":2}
綜合
41.Python 常用的數(shù)據(jù)結(jié)構(gòu)的類型及其特性?
A:{1:0,2:0,3:0}
B:{"a":0,?"b":0,?"c":0}
C:?{(1,2):0,?(2,3):0}
D:?{[1,2]:0,?[2,3]:0}
42.如何交換字典 {"A":1,"B":2}的鍵和值?
43.Python 里面如何實(shí)現(xiàn) tuple 和 list 的轉(zhuǎn)換?
44.我們知道對(duì)于列表可以使用切片操作進(jìn)行部分元素的選擇,那么如何對(duì)生成器類型的對(duì)象實(shí)現(xiàn)相同的功能呢?
45.請(qǐng)將[i for i in range(3)]改成生成器
46.a="hello"和 b="你好"編碼成 bytes 類型
47.下面的代碼輸出結(jié)果是什么?
a?=?(1,2,3,[4,5,6,7],8)
a[2]?=?2
48.下面的代碼輸出的結(jié)果是什么?
a?=?(1,2,3,[4,5,6,7],8)
a[3][0]?=?2
操作類題目
49.Python 交換兩個(gè)變量的值
50.在讀文件操作的時(shí)候會(huì)使用 read、readline 或者 readlines,簡(jiǎn)述它們各自的作用
51.json 序列化時(shí),可以處理的數(shù)據(jù)類型有哪些?如何定制支持 datetime 類型?
52.json 序列化時(shí),默認(rèn)遇到中文會(huì)轉(zhuǎn)換成 unicode,如果想要保留中文怎么辦?
53.有兩個(gè)磁盤文件 A 和 B,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件 C 中。
54.如果當(dāng)前的日期為 20190530,要求寫一個(gè)函數(shù)輸出 N 天后的日期,(比如 N 為 2,則輸出 20190601)。
55.寫一個(gè)函數(shù),接收整數(shù)參數(shù) n,返回一個(gè)函數(shù),函數(shù)的功能是把函數(shù)的參數(shù)和 n 相乘并把結(jié)果返回。
56.下面代碼會(huì)存在什么問(wèn)題,如何改進(jìn)?
def?strappend(num):
????str='first'
????for?i?in?range(num):
????????str+=str(i)
????return?str
57.一行代碼輸出 1-100 之間的所有偶數(shù)。
58.with 語(yǔ)句的作用,寫一段代碼?
59.python 字典和 json 字符串相互轉(zhuǎn)化方法
60.請(qǐng)寫一個(gè) Python 邏輯,計(jì)算一個(gè)文件中的大寫字母數(shù)量
61. 請(qǐng)寫一段 Python連接 Mongo 數(shù)據(jù)庫(kù),然后的查詢代碼。
62.說(shuō)一說(shuō) Redis 的基本類型。
63. 請(qǐng)寫一段 Python連接 Redis 數(shù)據(jù)庫(kù)的代碼。
64. 請(qǐng)寫一段 Python 連接 MySQL 數(shù)據(jù)庫(kù)的代碼。
65.了解 Redis 的事務(wù)么?
66.了解數(shù)據(jù)庫(kù)的三范式么?
67.了解分布式鎖么?
68.用 Python 實(shí)現(xiàn)一個(gè) Reids 的分布式鎖的功能。
69.寫一段 Python 使用 Mongo 數(shù)據(jù)庫(kù)創(chuàng)建索引的代碼。
高級(jí)特性
70.函數(shù)裝飾器有什么作用?請(qǐng)列舉說(shuō)明?
71.Python 垃圾回收機(jī)制?
72.魔法函數(shù) __call__怎么使用?
73.如何判斷一個(gè)對(duì)象是函數(shù)還是方法?
74.@classmethod 和@staticmethod 用法和區(qū)別
75.Python 中的接口如何實(shí)現(xiàn)?
76.Python 中的反射了解么?
77.metaclass 作用?以及應(yīng)用場(chǎng)景?
78.hasattr() getattr() setattr()的用法
79.請(qǐng)列舉你知道的 Python 的魔法方法及用途。
80.如何知道一個(gè) Python 對(duì)象的類型?
81.Python 的傳參是傳值還是傳址?
82.Python 中的元類(metaclass)使用舉例
83.簡(jiǎn)述 any()和 all()方法
84.filter 方法求出列表所有奇數(shù)并構(gòu)造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
85.什么是猴子補(bǔ)丁?
86.在 Python 中是如何管理內(nèi)存的?
87.當(dāng)退出 Python 時(shí)是否釋放所有內(nèi)存分配?
正則表達(dá)式
88.使用正則表達(dá)式匹配出
www.baidu.com中的地址
a="張明 98 分",用 re.sub,將 98 替換為 100
89.正則表達(dá)式匹配中(.*)和(.*?)匹配區(qū)別?
90.寫一段匹配郵箱的正則表達(dá)式
其他內(nèi)容
91.解釋一下 python 中 pass 語(yǔ)句的作用?
92.簡(jiǎn)述你對(duì) input()函數(shù)的理解
93.python 中的 is 和==
94.Python 中的作用域
95.三元運(yùn)算寫法和應(yīng)用場(chǎng)景?
96.了解 enumerate 么?
97.列舉 5 個(gè) Python 中的標(biāo)準(zhǔn)模塊
98.如何在函數(shù)中設(shè)置一個(gè)全局變量
99.pathlib 的用法舉例
100.Python 中的異常處理,寫一個(gè)簡(jiǎn)單的應(yīng)用場(chǎng)景
101.Python 中遞歸的最大次數(shù),那如何突破呢?
102.什么是面向?qū)ο蟮?mro
103.isinstance 作用以及應(yīng)用場(chǎng)景?
104.什么是斷言?應(yīng)用場(chǎng)景?
105.lambda 表達(dá)式格式以及應(yīng)用場(chǎng)景?
106.新式類和舊式類的區(qū)別
107.dir()是干什么用的?
108.一個(gè)包里有三個(gè)模塊,demo1.py, demo2.py, demo3.py,但使用 from tools import *導(dǎo)入模塊時(shí),如何保證只有 demo1、demo3 被導(dǎo)入了。
109.列舉 5 個(gè) Python 中的異常類型以及其含義
110.copy 和 deepcopy 的區(qū)別是什么?
111.代碼中經(jīng)常遇到的*args, **kwargs 含義及用法。
112.Python 中會(huì)有函數(shù)或成員變量包含單下劃線前綴和結(jié)尾,和雙下劃線前綴結(jié)尾,區(qū)別是什么?
113.w、a+、wb 文件寫入模式的區(qū)別
114.舉例 sort 和 sorted 的區(qū)別
115.什么是負(fù)索引?
116.pprint 模塊是干什么的?
117.解釋一下 Python 中的賦值運(yùn)算符
118.解釋一下 Python 中的邏輯運(yùn)算符
119.講講 Python 中的位運(yùn)算符
120.在 Python 中如何使用多進(jìn)制數(shù)字?
121.怎樣聲明多個(gè)變量并賦值?
算法和數(shù)據(jù)結(jié)構(gòu)
122.已知:
AList?=?[1,2,3]
BSet?=?{1,2,3}
(1) 從 AList 和 BSet 中 查找 4,最壞時(shí)間復(fù)雜度那個(gè)大?
(2) 從 AList 和 BSet 中 插入 4,最壞時(shí)間復(fù)雜度那個(gè)大?
123.用 Python 實(shí)現(xiàn)一個(gè)二分查找的函數(shù)
124.python 單例模式的實(shí)現(xiàn)方法
125.使用 Python 實(shí)現(xiàn)一個(gè)斐波那契數(shù)列
126.找出列表中的重復(fù)數(shù)字
127.找出列表中的單個(gè)數(shù)字
128.寫一個(gè)冒泡排序
129.寫一個(gè)快速排序
130.寫一個(gè)拓?fù)渑判?
131.python 實(shí)現(xiàn)一個(gè)二進(jìn)制計(jì)算
132.有一組“+”和“-”符號(hào),要求將“+”排到左邊,“-”排到右邊,寫出具體的實(shí)現(xiàn)方法。
133.單鏈表反轉(zhuǎn)
134.交叉鏈表求交點(diǎn)
135.用隊(duì)列實(shí)現(xiàn)棧
136.找出數(shù)據(jù)流的中位數(shù)
137.二叉搜索樹中第 K 小的元素
爬蟲相關(guān)
138.在 requests 模塊中,requests.content 和 requests.text 什么區(qū)別
139.簡(jiǎn)要寫一下 lxml 模塊的使用方法框架
140.說(shuō)一說(shuō) scrapy 的工作流程
141.scrapy 的去重原理
142.scrapy 中間件有幾種類,你用過(guò)哪些中間件
143.你寫爬蟲的時(shí)候都遇到過(guò)什么?反爬蟲措施,你是怎么解決的?
144.為什么會(huì)用到代理?
145.代理失效了怎么處理?
146.列出你知道 header 的內(nèi)容以及信息
147.說(shuō)一說(shuō)打開瀏覽器訪問(wèn) www.baidu.com 獲取到結(jié)果,整個(gè)流程。
148.爬取速度過(guò)快出現(xiàn)了驗(yàn)證碼怎么處理
149.scrapy 和 scrapy-redis 有什么區(qū)別?為什么選擇 redis 數(shù)據(jù)庫(kù)?
150.分布式爬蟲主要解決什么問(wèn)題
151.寫爬蟲是用多進(jìn)程好?還是多線程好? 為什么?
152.解析網(wǎng)頁(yè)的解析器使用最多的是哪幾個(gè)
153.需要登錄的網(wǎng)頁(yè),如何解決同時(shí)限制 ip,cookie,session(其中有一些是動(dòng)態(tài)生成的)在不使用動(dòng)態(tài)爬取的情況下?
154.驗(yàn)證碼的解決(簡(jiǎn)單的:對(duì)圖像做處理后可以得到的,困難的:驗(yàn)證碼是點(diǎn)擊,拖動(dòng)等動(dòng)態(tài)進(jìn)行的?)
155.使用最多的數(shù)據(jù)庫(kù)(mysql,mongodb,redis 等),對(duì)他的理解?
網(wǎng)絡(luò)編程
156.TCP 和 UDP 的區(qū)別?
157.簡(jiǎn)要介紹三次握手和四次揮手
158.什么是粘包? socket 中造成粘包的原因是什么? 哪些情況會(huì)發(fā)生粘包現(xiàn)象?
并發(fā)
159.舉例說(shuō)明 conccurent.future 的中線程池的用法
160.說(shuō)一說(shuō)多線程,多進(jìn)程和協(xié)程的區(qū)別。
161.簡(jiǎn)述 GIL
162.進(jìn)程之間如何通信
163.IO 多路復(fù)用的作用?
164.select、poll、epoll 模型的區(qū)別?
165.什么是并發(fā)和并行?
166.一個(gè)線程 1 讓線程 2 去調(diào)用一個(gè)函數(shù)怎么實(shí)現(xiàn)?
167.解釋什么是異步非阻塞?
168.threading.local 的作用?
Git 面試題
169.說(shuō)說(shuō)你知道的 git 命令
170.git 如何查看某次提交修改的內(nèi)容
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
