前言
相對于python大家應該都不會陌生吧!現(xiàn)在java跟python可以算的是勢均力敵了,所以現(xiàn)在學習python 的小伙伴也是越來越多了,可是學完之后就能找到稱心如意的工作了嗎?很多小伙伴學習Python的時候感覺很簡單,但是到了去面試的時候就是一頭霧水,常常被問到一些問題不知道跟怎么做。
小編為了大家整理兩天,今天它來了python大廠292道面試題。希望大家能夠希望!
292道python大廠面試題
學習python的優(yōu)點是什么?
python語法非常優(yōu)雅,簡單易學
免費開源
跨平臺,可以自由移植
可擴展,可嵌入性強
第三方庫豐富
python的應用領(lǐng)域
在系統(tǒng)編程中應用廣泛,比如說shell工具.
在網(wǎng)絡(luò)爬蟲方面功能非常強大,常用的庫如scrapy, request 等
在web開發(fā)中使用也很廣泛,如很多大型網(wǎng)站都用python開發(fā)的,如ins,youtube等,常用的框架如django, flask等
python在系統(tǒng)運維中應用廣泛,尤其在linux運維方面,基本上都是自動化運維。
在人工智能,云計算,金融等方面也應用非常廣泛。
python和java、php、C、c#、C++等其他語言對比?
Java C# PHP Python (開發(fā)效率高),這些語言本身不需要你去管理內(nèi)存了。它們都有自己的虛擬機,對于開辟內(nèi)存、釋放內(nèi)存都由這個虛擬機處理。
C和Python, Java、C#等C語言:代碼編譯得到機器碼,機器碼在處理器上直接執(zhí)行,每一條指令控制CPU工作其他語言:代碼編譯得到字節(jié)碼,虛擬機執(zhí)行字節(jié)碼并轉(zhuǎn)換成機器碼再后在處理器上執(zhí)行Python和CPython這門語言是由C開發(fā)而來
對于使用: Python 的類庫齊全并且使用簡潔,如果要實現(xiàn)同樣的功能,Python10行代碼可以解決,C可能就需要100甚至更多
對于速度: Python 的運行速度相較與C,絕逼是慢了Python和Java、C#等
對于使用: Linux 原裝Python,其他語言沒有;以及門語言都有非常豐富的類支持
對于速度: Python 在速度上可能稍顯遜色所以,Python 其他語言沒有什么本質(zhì)區(qū)別,其他區(qū)別在于:擅長某領(lǐng)域、富先入為主
python解釋器種類以及特點
CPython
c語言開發(fā)的 使用最廣的解釋器
IPython
基于cpython之上的一個交互式計時器交互方式增強功能和cpython一樣
PyPy
目標是執(zhí)行效率勁JIT技術(shù)對python代碼進行動態(tài)編譯,提高執(zhí)行效率
JPython
運行在Java.上的解釋器直接把python代碼編譯成Java字節(jié)碼執(zhí)行
lronPython
運行在微軟.NET 平臺上的解釋器,把python編譯成NET的字節(jié)碼
請列出至少5個PEP8規(guī)范
PEP8規(guī)范
每個縮進級別使用4個空格
每行代碼的最大長度限制為 79個字符
若是導入多個庫函數(shù),應該分開依次導入
道路應按照以下順序?qū)?/p>
a、標準庫導入
b、相關(guān)的第三方庫導入
c、本地應用程序的庫導入
在表達式中避免無關(guān)的空格
在括號或者大括號內(nèi)
在尾隨逗號和后面的右括號之間
在逗號,分號或者冒號前面.
函數(shù)名的與后面的參 數(shù)的括號之間
代碼更改時,相應的注釋也要隨之更改
命名要規(guī)范,通俗易懂
如何實現(xiàn)字符串的反轉(zhuǎn)?如:name=felix,反轉(zhuǎn)成name=xilef
name = "felix"
#方法
name=name[:- 1]
#方法二:
name2=list(name)
name2.reverse0
name="join(name2)
#方法三:
from functools import reduce
name= reduce(lambda x, y: y+x, name)
文件操作時,xreadlines 和readlines的區(qū)別
xreadlines返回的是一個生成器
readlines返回的是一個列表
列舉字符串、列表、元組、字典每個常用的5個方法
字符串---字符串方法總結(jié)
strip( ->去掉字符串兩端的空白符
split() ->對字符串進行分割,默認按照空格分割
join() ->字符串連接
startwith0,endwith0 ->判斷是否以啥開頭或者結(jié)尾
replace() ->字符串替換
find() -> 查找字符串,存在返回第一個索引,不存在返回-1
列表---列表方法總結(jié)
count() ->統(tǒng)計在列表中出現(xiàn)的個數(shù)
apped0 ->在列表末尾添加值
pop() ->刪除- 個對象,默認最后-一個
remove()->刪除指定的第-個匹配項
insert() -> 插入對象
index() -> 獲取索引
元組
count() ->統(tǒng)計在元組中出現(xiàn)的個數(shù)
index() ->獲取索引
字典
keys0 ->獲取所有的鍵
pop()->刪除指定的鍵的鍵值對
popitem() ->隨機刪除- - 個鍵值對
update() ->更新字典,參數(shù)為一個字典,如果鍵已存在,則更改,不存在則添加
setdefault( ->如果鍵存在則,返回該鍵對應的值,如果不存在,設(shè)置該鍵為設(shè)置的默認值,然后返回該鍵對應的值
get( -> 返回鍵對應的值
fromkeys() ->創(chuàng)建字典,第一個參數(shù)為可迭代對象,每個值變成字典的鍵,第二個參數(shù)為每個鍵的默認值
(由于面試答案太多小編就只整理了面試題目)
面試題
什么是反射,以及應用場景
簡述python的深淺拷貝
python的垃圾回收機制
python的可變類型和不可變類型的區(qū)別
常用字符串格式化有哪幾種?
有兩個字符串列表a和b,每個字符串是由逗號隔開的- -些字符
解決哈希沖突的算法有哪幾種?分別有什么特點?
簡述python字符串的駐留機制
python哪些類型的數(shù)據(jù)才能作為字典的key?
描述以下字典的items()方法和iteritems()方法有啥不同?
請冽舉你所知道的python代碼檢測工具以及他們之間的區(qū)別
介紹一下try except的用法和作用?
在python中如何拷貝-個對象,并說明他們之間的區(qū)別
python中進制轉(zhuǎn)換
關(guān)于Python程序的運行方面,有什么手段能提升性能?
python是如何進行內(nèi)存管理的? python 的程序會內(nèi)存泄漏嗎?說說有沒有什么方面阻止或者檢測內(nèi)存泄漏?
1 <(22)和1<22的結(jié)果分別是什么?
如何查找一個字符串中特定的字符? find 和index的差異?
生成器與函數(shù)的區(qū)別?
今天小編就整理到這里python大廠面試題一共是292道想要獲取的小伙伴可以+wx17667506182來獲取哦~~~