python程序员年薪百万_想要成为年薪百万的Python程序员,这套面试题别错过
近幾年來,Python的運(yùn)用范圍越來越廣,發(fā)展勢(shì)頭十分強(qiáng)勁。小到網(wǎng)頁建設(shè)、網(wǎng)站搭建,大到人工智能AI、云計(jì)算、人臉識(shí)別、大數(shù)據(jù)分析等等尖端技術(shù),都基于Python編程語言來實(shí)現(xiàn)。
在小伙伴們通過參加培訓(xùn)或者自學(xué)掌握一門過硬的Python全棧技術(shù)后,收獲高薪就業(yè)似乎是水到渠成!
但別忘了,面試官正在等著大家來過五關(guān)斬六將!
明明有技術(shù)有實(shí)力,但因?yàn)樵诿嬖囍幸驗(yàn)榫o張或者沒做好準(zhǔn)備而被面試官刷下來,那真的是很可惜的一件事。所以,今天小千就跟大家分享互聯(lián)網(wǎng)大廠面試常見專業(yè)Python問題:
1.什么是Python?
Python是一種面向?qū)ο蟮?#xff0c;交互式的,解釋型的計(jì)算機(jī)程序設(shè)計(jì)語言。Python的設(shè)計(jì)具有高可讀性,它使用英語關(guān)鍵詞而非標(biāo)點(diǎn)符號(hào),語法結(jié)構(gòu)也比其他語言簡(jiǎn)單。
2.Python的主要功能是什么?
1)Python是一種解釋型語言,因此在使用Python時(shí)不需要進(jìn)行編譯
2)聲明變量和類似變量時(shí),不需要重復(fù)聲明變量的類型;
3)Python非常適合面向?qū)ο蟮木幊?#xff0c;因?yàn)樗试S類的定義以及組合和繼承;
4)函數(shù)是第一類對(duì)象,這意味著它們可以分配給變量,從其他函數(shù)返回并傳遞給函數(shù),類也是第一類對(duì)象;
5)用于許多領(lǐng)域,包括Web應(yīng)用程序,自動(dòng)化,科學(xué)建模,大數(shù)據(jù)應(yīng)用程序等等。
3.Python編程中的函數(shù)是什么?
函數(shù)是表示代碼塊并且是可重用實(shí)體的對(duì)象。
它為程序帶來了模塊化,并提供了更高程度的代碼可重用性。
Python為我們提供了許多內(nèi)置函數(shù),例如print()等,并提供了創(chuàng)建用戶定義函數(shù)的能力。
4.Python中有多少基本類型的函數(shù)可用?
Python為我們提供了兩種基本類型的函數(shù):內(nèi)置和用戶定義。
內(nèi)置函數(shù)是Python語言的一部分,比如print(),dir(),len()和abs()等。
5.我們?nèi)绾斡肞ython編寫函數(shù)?
我們可以通過以下方式創(chuàng)建Python函數(shù)。
1)用def定義函數(shù)并鏈接功能名稱;
2)傳遞參數(shù)并使用括號(hào)將它們括起來,使用冒號(hào)來表示結(jié)尾;
3)添加所需的Python語句以供執(zhí)行。
6.列出5個(gè)Python標(biāo)準(zhǔn)庫(kù)
os:提供了不少與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)
sys: 通常用于命令行參數(shù)
re: 正則匹配
math: 數(shù)學(xué)運(yùn)算
datetime:處理日期時(shí)間
7.談下Python的GIL
GIL 是Python的全局解釋器鎖,同一進(jìn)程中假如有多個(gè)線程運(yùn)行,一個(gè)線程在運(yùn)行Python程序的時(shí)候會(huì)霸占Python解釋器(加了一把鎖即GIL),使該進(jìn)程內(nèi)的其他線程無法運(yùn)行,等該線程運(yùn)行完后其他線程才能運(yùn)行。
如果線程運(yùn)行過程中遇到耗時(shí)操作,則解釋器鎖解開,使其他線程運(yùn)行。所以在多線程中,線程的運(yùn)行仍是有先后順序的,并不是同時(shí)進(jìn)行。
多進(jìn)程中因?yàn)槊總€(gè)進(jìn)程都能被系統(tǒng)分配資源,相當(dāng)于每個(gè)進(jìn)程有了一個(gè)Python解釋器,所以多進(jìn)程可以實(shí)現(xiàn)多個(gè)進(jìn)程的同時(shí)運(yùn)行,缺點(diǎn)是進(jìn)程系統(tǒng)資源開銷大。
8.Python2和Python3的range(100)的區(qū)別
Python2返回列表,Python3返回迭代器,節(jié)約內(nèi)存
9.一句話解釋什么樣的語言能夠用裝飾器?
函數(shù)可以作為參數(shù)傳遞的語言,可以使用裝飾器
10.Python內(nèi)建數(shù)據(jù)類型有哪些
整型--int
布爾型--bool
字符串--str
列表--list
元組--tuple
字典--dict
11.避免轉(zhuǎn)義給字符串加哪個(gè)字母表示原始字符串?
r , 表示需要原始字符串,不轉(zhuǎn)義特殊字符
12.正則re.complie作用
re.compile是將正則表達(dá)式編譯成一個(gè)對(duì)象,加快速度,并重復(fù)使用
13.數(shù)據(jù)庫(kù)優(yōu)化查詢方法
外鍵、索引、聯(lián)合查詢、選擇特定字段等等
14.簡(jiǎn)述mysql和redis區(qū)別
redis:內(nèi)存型非關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)保存在內(nèi)存中,速度快
mysql:關(guān)系型數(shù)據(jù)庫(kù),數(shù)據(jù)保存在磁盤中,檢索的話,會(huì)有一定的Io操作,訪問速度相對(duì)慢
15.遇到bug如何處理
1)細(xì)節(jié)上的錯(cuò)誤,通過print()打印,能執(zhí)行到print()說明一般上面的代碼沒有問題,分段檢測(cè)程序是否有問題,如果是js的話可以alert或console.log
2)如果涉及一些第三方框架,會(huì)去查官方文檔或者一些技術(shù)博客。
3)對(duì)于bug的管理與歸類總結(jié),一般測(cè)試將測(cè)試出的bug用teambin等bug管理工具進(jìn)行記錄,然后我們會(huì)一條一條進(jìn)行修改,修改的過程也是理解業(yè)務(wù)邏輯和提高自己編程邏輯縝密性的方法,我也都會(huì)收藏做一些筆記記錄。
4)導(dǎo)包問題、城市定位多音字造成的顯示錯(cuò)誤問題
16.列出常見MYSQL數(shù)據(jù)存儲(chǔ)引擎
InnoDB:支持事務(wù)處理,支持外鍵,支持崩潰修復(fù)能力和并發(fā)控制。如果需要對(duì)事務(wù)的完整性要求比較高(比如銀行),要求實(shí)現(xiàn)并發(fā)控制(比如售票),那選擇InnoDB有很大的優(yōu)勢(shì)。
如果需要頻繁的更新、刪除操作的數(shù)據(jù)庫(kù),也可以選擇InnoDB,因?yàn)橹С质聞?wù)的提交(commit)和回滾(rollback)。
MyISAM:插入數(shù)據(jù)快,空間和內(nèi)存使用比較低。如果表主要是用于插入新記錄和讀出記錄,那么選擇MyISAM能實(shí)現(xiàn)處理高效率。如果應(yīng)用的完整性、并發(fā)性要求比 較低,也可以使用。
MEMORY:所有的數(shù)據(jù)都在內(nèi)存中,數(shù)據(jù)的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對(duì)數(shù)據(jù)的安全性要求較低,可以選擇MEMOEY。它對(duì)表的大小有要求,不能建立太大的表。所以,這類數(shù)據(jù)庫(kù)只使用在相對(duì)較小的數(shù)據(jù)庫(kù)表。
17.簡(jiǎn)述cookie和session的區(qū)別
1)session 在服務(wù)器端,cookie 在客戶端(瀏覽器)
2)session 的運(yùn)行依賴 session id,而 session id 是存在 cookie 中的,也就是說,如果瀏覽器禁用了 cookie ,同時(shí) session 也會(huì)失效,存儲(chǔ)Session時(shí),鍵與Cookie中的sessionid相同,值是開發(fā)人員設(shè)置的鍵值對(duì)信息,進(jìn)行了base64編碼,過期時(shí)間由開發(fā)人員設(shè)置
3)cookie安全性比session差
18.列出幾種魔法方法并簡(jiǎn)要介紹用途
__init__:對(duì)象初始化方法
__new__:創(chuàng)建對(duì)象時(shí)候執(zhí)行的方法,單列模式會(huì)用到
__str__:當(dāng)使用print輸出對(duì)象的時(shí)候,只要自己定義了__str__(self)方法,那么就會(huì)打印從在這個(gè)方法中return的數(shù)據(jù)
__del__:刪除對(duì)象執(zhí)行的方法
19.Python傳參數(shù)是傳值還是傳址?
Python中函數(shù)參數(shù)是引用傳遞(注意不是值傳遞)。對(duì)于不可變類型(數(shù)值型、字符串、元組),因變量不能修改,所以運(yùn)算不會(huì)影響到變量自身;而對(duì)于可變類型(列表字典)來說,函數(shù)體運(yùn)算可能會(huì)更改傳入的參數(shù)變量。
20.常見的網(wǎng)絡(luò)傳輸協(xié)議
UDP、TCP、FTP、HTTP、SMTP等等
總結(jié)
以上是生活随笔為你收集整理的python程序员年薪百万_想要成为年薪百万的Python程序员,这套面试题别错过的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: yolo v3制作自己的数据_小白也能弄
- 下一篇: python在线编辑器最新_Editor