自我介紹
首先簡(jiǎn)單介紹一下自己的情況:本科山東大學(xué),專業(yè)軟件工程。沒(méi)有任何項(xiàng)目經(jīng)驗(yàn),也沒(méi)有任何科研競(jìng)賽經(jīng)歷,有參與過(guò)一篇SCI論文在投(不是第一作者,不過(guò)沒(méi)啥用),當(dāng)過(guò)幾個(gè)學(xué)生干部,實(shí)習(xí)只有一個(gè)通信模塊和商城模塊的實(shí)習(xí)經(jīng)歷,其他的就沒(méi)啥拿得出手的資歷了。
面試經(jīng)歷 (總用時(shí)1小時(shí))
今天受約去騰訊復(fù)試了Python開(kāi)發(fā),公司主要的項(xiàng)目是做自動(dòng)化測(cè)試系統(tǒng)。早上匆匆吃了早餐坐了20站地鐵來(lái)到了科興大廈C1一樓,進(jìn)去是有門禁的,拿身份證在一樓的機(jī)器上輸入預(yù)約碼,會(huì)給一張紙上面有二維碼,刷二維碼就可以進(jìn)去。來(lái)到八樓還是有門禁,真的很無(wú)語(yǔ),給騰訊品質(zhì)部打了電話,她才給我開(kāi)的門,工作環(huán)境是挺不錯(cuò)的。話不瞎扯上題才是最關(guān)鍵的,而且也可以給自己今天的面試一個(gè)總結(jié)。
1.首先做個(gè)自我介紹
2.自己做過(guò)的每個(gè)項(xiàng)目提一個(gè)問(wèn)題,要求詳細(xì)具體闡述
3.Python的內(nèi)存管理機(jī)制和垃圾清理機(jī)制
4.MySQL數(shù)據(jù)庫(kù)如何插入或修改一個(gè)字段
5.Python2和Python3的區(qū)別
6.Python3是用什么編碼的,Python3轉(zhuǎn)碼的函數(shù)
7.Nginx如何用一個(gè)IP部署服務(wù)器
8.列舉列表和字典中的所有方法
9.如何利用js寫多線程
10.Django如何實(shí)現(xiàn)一個(gè)頁(yè)面的跳轉(zhuǎn)
11.socket編程有哪幾種方式,具體如何實(shí)現(xiàn)的
12.這里有一支筆,請(qǐng)列舉這支筆的10種用途
這里我自己做個(gè)自我總結(jié)吧,整體問(wèn)的問(wèn)題真的不難,我就不一一解答了。不過(guò),問(wèn)題問(wèn)的大多比較籠統(tǒng),導(dǎo)致一個(gè)問(wèn)題就是一定要有自己答題的邏輯性,不要因?yàn)槊嬖嚲o張或者問(wèn)的問(wèn)題很寬泛而無(wú)從下手,亂了分寸。
看了網(wǎng)友分享的這篇面經(jīng),感觸很深,首先他認(rèn)識(shí)到自己有很多做的不足的地方,比如不夠理論知識(shí)不扎實(shí),項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)匱乏。有句話說(shuō)的好“和優(yōu)秀的同事一起共事,你也會(huì)變得優(yōu)秀”,騰訊一面感覺(jué)讓他窒息,但是生活就是這樣的,如果你不努力,總會(huì)被人超越,久而久之機(jī)會(huì)懈怠,永遠(yuǎn)成為金字塔底端的人;其次要學(xué)習(xí)好的品格,比如謙遜、理智;還有要學(xué)會(huì)選擇,選擇行業(yè),選擇公司,選擇團(tuán)隊(duì),無(wú)論是工作還是生活,我們總會(huì)面臨各種選擇,選擇沒(méi)有對(duì)錯(cuò),但是會(huì)選擇,才能選擇適合自己的方向,自己喜歡的方向,才能走的更遠(yuǎn)。
分享讀者
我從15年接觸人工智能領(lǐng)域,迄今算法工作年限已達(dá) 6年,以校招生的身份加入字節(jié)跳動(dòng)公司擔(dān)任算法工程師并獲得企業(yè)內(nèi)部最高獎(jiǎng)項(xiàng)。于中科院體系工作期間,供職于某領(lǐng)域國(guó)內(nèi)領(lǐng)軍人物團(tuán)隊(duì),負(fù)責(zé)若干部委級(jí)項(xiàng)目的算法部分。
輔導(dǎo)多名學(xué)生通過(guò)面試并供職于百度、平安科技、小米和聯(lián)通等企業(yè)的算法崗位。對(duì)于就業(yè)指導(dǎo)和面試技巧有著自己的思考和豐富經(jīng)驗(yàn)。
本文主要針對(duì)即將在明年迎來(lái)校招、社招的同學(xué)找python相關(guān)的工作,已經(jīng)入行或者想轉(zhuǎn)行python,卻又不知道python能做什么?python如何準(zhǔn)備面試?給出我的建議,如有不足之處,歡迎評(píng)論區(qū)留言交流!
面試之前
市場(chǎng)環(huán)境
先說(shuō)一下大環(huán)境,中國(guó)的互聯(lián)網(wǎng)環(huán)境已經(jīng)漸趨穩(wěn)定成熟了,但初中級(jí)別的程序員依然很泛濫,高級(jí)程序員很缺失。所以想要在眾多應(yīng)聘者中脫穎而出,實(shí)力才是王道。
個(gè)人定位
我覺(jué)得,每一個(gè)招聘者都要對(duì)自己在市場(chǎng)上的位置做一個(gè)合理的評(píng)估,這樣才能準(zhǔn)確的知道自己想要找什么類型的公司,是大公司大平臺(tái)呢,還是中小型企業(yè)呢,還是創(chuàng)業(yè)公司呢?評(píng)估的依據(jù),取決于自己的實(shí)力,職業(yè)道路的方向,以及對(duì)市場(chǎng)的認(rèn)識(shí)。
不過(guò)如果不清楚也沒(méi)有關(guān)系,投遞公司的時(shí)候可以各類公司都投一投,大中小公司都去面一面,總之,不要把雞蛋放在一個(gè)籃子里,多給自己制造一些機(jī)會(huì)。面試是一個(gè)很好的去接觸外界,了解自己能力水平的過(guò)程,可以幫助你對(duì)市場(chǎng)環(huán)境有一個(gè)更清晰的認(rèn)識(shí)。面試結(jié)束后通常有反問(wèn)問(wèn)題的環(huán)節(jié),也可以把握住機(jī)會(huì),多去問(wèn)一問(wèn)對(duì)方公司在做的東西,使用的技術(shù)棧等等。
對(duì)于我自己來(lái)說(shuō),我就把面試當(dāng)成一個(gè)很好的檢驗(yàn)自己的機(jī)會(huì),同時(shí)讓我有機(jī)會(huì)去和別的公司交流技術(shù)。所以說(shuō),平時(shí)在工作過(guò)程中,也可以隔三差五的出去面試一下,看看自己的能力水平幾何,避免自己和市場(chǎng)脫節(jié)太久,以及溫水煮青蛙的情況。
簡(jiǎn)歷
接下來(lái)就是制作一份簡(jiǎn)歷,關(guān)于如何制作一份簡(jiǎn)歷,網(wǎng)絡(luò)上的教程也很多了。我覺(jué)得技術(shù)簡(jiǎn)歷的關(guān)鍵就是要把自己的做的比較出彩的項(xiàng)目,以及個(gè)人技術(shù)棧講清楚,這些都是面試中問(wèn)的比較頻繁的幾個(gè)點(diǎn)。另外因?yàn)樽约喊V迷于markdown,第一次嘗試了markdown風(fēng)格的簡(jiǎn)歷,效果還不錯(cuò),蠻清晰的。
渠道
對(duì)于招聘渠道的選擇,如果有小伙伴的內(nèi)推那是最好的,另外建議多注冊(cè)幾個(gè)app,多管齊下的去尋找面試機(jī)會(huì),比如拉勾、boss直聘、獵聘等等。一些想去的公司的官網(wǎng)的招聘頁(yè),也是一個(gè)不錯(cuò)的信息來(lái)源。
面試準(zhǔn)備
作為技術(shù)面試,該如何去復(fù)習(xí)準(zhǔn)備面試呢,我覺(jué)得可以從以下幾點(diǎn)去考慮。
數(shù)據(jù)結(jié)構(gòu)與算法
為什么把這一塊放在第一個(gè)講,因?yàn)檫@是技術(shù)面試?yán)锓浅V匾?,但是平時(shí)工作中又最容易忽視的一塊。都說(shuō)「面試造航母,工作擰螺絲」,如果不是算法崗,程序員在日常工作中算法使用場(chǎng)景非常有限,但這就是面試考察的一個(gè)重點(diǎn)。
我大概面了十幾家公司,基本每家公司都會(huì)考一些算法題,或者讓你說(shuō)一下思路,或者直接手寫程序,如果沒(méi)有事先準(zhǔn)備過(guò),會(huì)特別的不適應(yīng),尤其是白板算法那塊。
所以,我的準(zhǔn)備建議是,面試前至少前一周,就要花時(shí)間去練習(xí)算法題,保持手感了。
首先強(qiáng)推leetcode網(wǎng)站,中文站是https://leetcode-cn.com/。leetcode是非常有名的刷題網(wǎng)站,里面匯聚了各大企業(yè)的經(jīng)典算法題,而且可以在線提交代碼,自定義測(cè)試用例,查看其他人的題解等等。如果你覺(jué)得中文站上面的題解沒(méi)有自己想要的,也可以看一下外文站https://leetcode.com/ ,他們的題目順序都是一樣的,只是中文站在本土化這方面更強(qiáng)一點(diǎn)。
如果因?yàn)闀r(shí)間緊迫,我建議你針對(duì)以下數(shù)據(jù)結(jié)構(gòu)和算法的知識(shí)點(diǎn)進(jìn)行重點(diǎn)復(fù)習(xí):
各種排序算法,冒泡排序,堆排序,快速排序等,時(shí)間復(fù)雜度空間復(fù)雜度分析,能做到手寫。
常用數(shù)據(jù)結(jié)構(gòu)。鏈表、二叉樹(shù)、堆、棧等等。
經(jīng)典算法題。(待整理)
基礎(chǔ)知識(shí)
任何一門技術(shù)面試,基礎(chǔ)知識(shí)一定是重中之重。對(duì)于python程序員面試來(lái)說(shuō),我覺(jué)得下面三塊內(nèi)容比較重要,考察的頻率也非常高。
- 語(yǔ)言基礎(chǔ)
可變對(duì)象、不可變對(duì)象、裝飾器、迭代器和生成器、線程和進(jìn)程、魔術(shù)方法、動(dòng)態(tài)解釋性、元類等。
- web基礎(chǔ)
http請(qǐng)求、狀態(tài)碼、網(wǎng)絡(luò)安全、django處理請(qǐng)求的順序、cookie和session
- 數(shù)據(jù)庫(kù)
mysql的事務(wù)、索引、鎖、性能調(diào)優(yōu),nosql數(shù)據(jù)庫(kù)中redis考察的比較多。
項(xiàng)目經(jīng)驗(yàn)
一般對(duì)應(yīng)屆生來(lái)說(shuō),基礎(chǔ)知識(shí)很重要。對(duì)于社招來(lái)說(shuō),項(xiàng)目經(jīng)驗(yàn)是非常重要的一塊內(nèi)容。
我建議可以從下面幾個(gè)角度去準(zhǔn)備自己的項(xiàng)目:
- 項(xiàng)目介紹
推薦STAR模型。
S——situation,項(xiàng)目是什么背景下產(chǎn)生的 T——task,你的任務(wù)是什么 A——action,你怎么做的 R——result,結(jié)果如何
- 項(xiàng)目中的難點(diǎn)、閃光點(diǎn)
我相信每一個(gè)真實(shí)做過(guò)自己的項(xiàng)目的人,肯定會(huì)對(duì)自己的項(xiàng)目有所思考。總結(jié)一下自己在這個(gè)項(xiàng)目里最難的地方,以及最精彩的地方,也可以使用上面的STAR模型。
- 項(xiàng)目框架
有的面試官會(huì)要求你在白紙上把項(xiàng)目的框架圖或者設(shè)計(jì)圖畫出來(lái),這個(gè)也可以提前準(zhǔn)備下,做到條理清晰,臨場(chǎng)畫的話很容易亂。
總結(jié)
面試是一場(chǎng)艱難的戰(zhàn)役,我發(fā)現(xiàn)在那種緊張對(duì)弈的交鋒氛圍中,我從來(lái)沒(méi)有體會(huì)過(guò)所謂超常發(fā)揮的感覺(jué),準(zhǔn)備了100分,能把60分發(fā)揮出來(lái)就已經(jīng)非常不錯(cuò)了。所以,建議每一個(gè)面試者都要提前把一些必問(wèn)的東西(個(gè)人介紹、項(xiàng)目經(jīng)驗(yàn)等等)提前準(zhǔn)備好,并且模擬表達(dá)一下,以防臨場(chǎng)緊張而忘詞。
面試真題
因?yàn)樽约捍髲S和創(chuàng)業(yè)公司都會(huì)去面,給我的感覺(jué)是,大廠的考察深度會(huì)更深一點(diǎn),比如問(wèn)你怎么用python定位一些內(nèi)存滿、CPU滿的問(wèn)題,怎么做mysql性能優(yōu)化等等。而小公司問(wèn)的更多是一些基礎(chǔ)問(wèn)題,以及看你之前經(jīng)驗(yàn)的一個(gè)匹配度。
我這里從我親身的面試經(jīng)歷,精選出了一份python面試寶典,涉及到了python面試的方方面面,大家可以自行測(cè)試。
python刷題
一、Python 基礎(chǔ)
(一) Python 基礎(chǔ)語(yǔ)法
Python有哪些特點(diǎn)和優(yōu)點(diǎn)?
簡(jiǎn)述解釋型和編譯型編程語(yǔ)言?
Python解釋器種類以及特點(diǎn)
python常見(jiàn)的PEP8規(guī)范
通過(guò)代碼實(shí)現(xiàn)如下進(jìn)制轉(zhuǎn)換
三元運(yùn)算規(guī)則以及應(yīng)用場(chǎng)景
列舉 Python2和Python3的區(qū)別【Python基礎(chǔ)語(yǔ)法】
is和==的區(qū)別
try except用法和作用
Python LEGB規(guī)則
python簡(jiǎn)單的列表去重
區(qū)分break,continue和pass?
什么是python迭代器?
如何在python中寫注釋?
如何在python中注釋多行?
什么是Python中的文檔Docstrings?
Python是通用編程語(yǔ)言嗎?
Python是如何解釋語(yǔ)言的?
什么是pep?
Python中的命名空間是什么?
什么是PYTHONPATH?
Python中的局部變量和全局變量是什么?
python是否區(qū)分大小寫?
如何在Windows上安裝Python并設(shè)置路徑變量?
python中是否需要縮進(jìn)?
列舉布爾值為False的常見(jiàn)值
怎樣聲明多個(gè)變量并賦值?
其中哪一個(gè)是floor division?
標(biāo)識(shí)符的最大可能長(zhǎng)度是多少?
為什么不鼓勵(lì)以下劃線開(kāi)頭的局部變量名?
以下哪項(xiàng)是無(wú)效聲明?
以下哪項(xiàng)是無(wú)效聲明?
以下是什么輸出?
a=1, b=2, 不用中間變量交換a和b的值.
請(qǐng)寫出打印結(jié)果
A、B兩人分別在兩座島上。B生病了,A有B所需要的藥。C有一艘小船和一個(gè)可以上鎖的箱子。C愿意在A和B之間運(yùn)東西,但東西只能放在箱子里。只要箱子沒(méi)被上鎖,C都會(huì)偷走箱子里的東西,不管箱子里有什么。如果A和B各自有一把鎖和只能開(kāi)自己那把鎖的鑰匙,A應(yīng)該如何把東西安全遞交給B?
有25匹馬,速度都不同,但每匹馬的速度都是定值?,F(xiàn)在只有5條賽道,無(wú)法計(jì)時(shí),即每賽一場(chǎng)最多只能知道5匹馬的相對(duì)快慢。問(wèn)最少賽幾場(chǎng)可以找出25匹馬中速度最快的前3名?
介紹一下except的用法和作用?
Python中pass語(yǔ)句的作用是什么?
單引號(hào),雙引號(hào),三引號(hào)的區(qū)別
浮點(diǎn)數(shù)運(yùn)算
介紹一下except的用法和作用?
Python中pass語(yǔ)句的作用是什么?
反轉(zhuǎn)一個(gè)整數(shù),例如-123 --> -321
一行代碼實(shí)現(xiàn)1-100之和
Python-遍歷列表時(shí)刪除元素的正確做法
字符串 "123" 轉(zhuǎn)換成 123,不使用內(nèi)置api,例如 int()
求出列表所有奇數(shù)并構(gòu)造新列表
用一行python代碼寫出1+2+3+10248
python常見(jiàn)的列表推導(dǎo)式?
Python中pass語(yǔ)句的作用是什么?
如何交換兩個(gè)變量的值?
Python中pass語(yǔ)句的作用是什么?
Python區(qū)分大小寫嗎?
Python中的標(biāo)識(shí)符長(zhǎng)度能有多長(zhǎng)?
Python中的pass語(yǔ)句是什么?
解釋一下Python中的//,%和 ** 運(yùn)算符
在Python中有多少種運(yùn)算符?解釋一下算數(shù)運(yùn)算符。
解釋一下Python中的關(guān)系運(yùn)算符
解釋一下Python中的賦值運(yùn)算符
解釋一下Python中的邏輯運(yùn)算符
解釋一下Python中的成員運(yùn)算符
解釋一下Python中的身份運(yùn)算符
講講Python中的位運(yùn)算符
在Python中如何使用多進(jìn)制數(shù)字?
怎樣聲明多個(gè)變量并賦值?
PYTHONPATH變量是什么?
在Python中如何聲明一條注釋?
什么是Python中的連接(concatenation)?
請(qǐng)用一行代碼 實(shí)現(xiàn)將1-N 的整數(shù)列表以3為單位分組
避免轉(zhuǎn)義給字符串加哪個(gè)字母表示原始字符串?
X是什么類型?
單引號(hào)、雙引號(hào)、三引號(hào)用法
int("1.4"),int(1.4)輸出結(jié)果?
列舉3條以上PEP8編碼規(guī)范
IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分別代表什么異常
遞歸求和
介紹一下except的用法和作用?
Python中pass語(yǔ)句的作用是什么?
Json序列化時(shí),默認(rèn)遇到中文會(huì)轉(zhuǎn)換成unicode,如果想要保留中文怎么辦?
Python寫9*9乘法表的兩種簡(jiǎn)單方法
(二) 文件操作
大數(shù)據(jù)的文件讀取
在python中編譯和鏈接的過(guò)程是什么?
請(qǐng)寫一個(gè)Python邏輯,計(jì)算一個(gè)文件中的大寫字母數(shù)量
介紹一下except的用法和作用?
要打開(kāi)文件c:\ scores.txt進(jìn)行編寫,我們使用:
以下是什么輸出?
何時(shí)執(zhí)行try-except-else的else部分?
簡(jiǎn)述with方法打開(kāi)處理文件幫我我們做了什么?
用python刪除文件和用linux命令刪除文件方法
寫一段自定義異常代碼
舉例說(shuō)明異常模塊中try except else finally的相關(guān)意義
IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分別代表什么異常
r、r+、rb、rb+文件打開(kāi)模式區(qū)別
深拷貝和淺拷貝之間的區(qū)別是什么?
請(qǐng)寫一個(gè)Python邏輯,計(jì)算一個(gè)文件中的大寫字母數(shù)量
如何用Python找出你目前在哪個(gè)目錄?
如何以相反順序展示一個(gè)文件的內(nèi)容?
4G 內(nèi)存怎么讀取一個(gè) 5G 的數(shù)據(jù)?
說(shuō)明一下 os.path 和 sys.path 分別代表什么?
Python 中的 os 模塊常見(jiàn)方法?
python的read() 、readline()、readlines()、xreadlines()
使用代碼實(shí)現(xiàn)查看列舉目錄下的所有文件
如何在Python中刪除文件?
設(shè)計(jì)實(shí)現(xiàn)遍歷目錄與子目錄,抓取.pyc文件
簡(jiǎn)述read、readline、readlines的區(qū)別?
用python刪除文件和用linux命令刪除文件方法
簡(jiǎn)述with方法打開(kāi)處理文件幫我我們做了什么?
寫一段自定義異常代碼
(三) 模塊與包
深拷貝和淺拷貝的區(qū)別是什么?
如何在Python中隨機(jī)化列表中的項(xiàng)目?
如何用Python來(lái)發(fā)送郵件?
Python里面如何拷貝一個(gè)對(duì)象?(賦值,淺拷貝,深拷貝的區(qū)別)
Python里面如何生成隨機(jī)數(shù)?
介紹一下Python中webbrowser的用法?
有沒(méi)有一個(gè)工具可以幫助查找python的bug和進(jìn)行靜態(tài)的代碼分析?
列出5個(gè)python標(biāo)準(zhǔn)庫(kù)
利用collections庫(kù)的Counter方法統(tǒng)計(jì)字符串每個(gè)單詞出現(xiàn)的次數(shù)"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
生成0-100的隨機(jī)數(shù)
如何在Python中創(chuàng)建自己的包?
常用的 Python 標(biāo)準(zhǔn)庫(kù)都有哪些?
輸入某年某月某日,判斷這一天是這一年的第幾天?(可以用 Python 標(biāo)準(zhǔn)庫(kù))
Python的 sys 模塊常用方法?
Python里面如何拷貝一個(gè)對(duì)象?
簡(jiǎn)述Python的深淺拷貝以及應(yīng)用場(chǎng)景
如何安裝第三方模塊?以及用過(guò)哪些第三方模塊?
常用模塊都有那些?
什么是python模塊?Python中有哪些常用的內(nèi)置模塊?
如何在Python中生成隨機(jī)數(shù)?
range&xrange有什么區(qū)別?
Python里面如何生成隨機(jī)數(shù)?
在Python中如何生成一個(gè)隨機(jī)數(shù)?
利用collections庫(kù)的Counter方法統(tǒng)計(jì)字符串每個(gè)單詞出現(xiàn)的次數(shù)"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
列出5個(gè)python標(biāo)準(zhǔn)庫(kù)
生成0-100的隨機(jī)數(shù)
如何安裝第三方模塊?以及用過(guò)哪些第三方模塊?
常用模塊都有那些?
(四) 數(shù)據(jù)類型
Python里面如何實(shí)現(xiàn)tuple和list的轉(zhuǎn)換?
列表和元組有什么不同?
什么是負(fù)指數(shù),為什么使用它們?
單引號(hào),雙引號(hào),三引號(hào)的區(qū)別?
有兩個(gè)序列a,b,大小都為n,序列元素的值任意整形數(shù),無(wú)序?
Python中的標(biāo)識(shí)符長(zhǎng)度能有多長(zhǎng)?
在Python中如何使用多進(jìn)制數(shù)字?
元組的解封裝是什么?
Python中, list, tuple, dict, set有什么區(qū)別, 主要應(yīng)用在什么樣的場(chǎng)景?
以下哪個(gè)語(yǔ)句創(chuàng)建字典?(多個(gè)正確的答案可能)
假設(shè)list1是[2,33,222,14,25],什么是list1 [-1]?
單引號(hào),雙引號(hào),三引號(hào)的區(qū)別
怎樣獲取字典中所有鍵的列表?
字典如何刪除鍵和合并兩個(gè)字典
python實(shí)現(xiàn)列表去重的方法
python內(nèi)建數(shù)據(jù)類型有哪些
python中生成隨機(jī)整數(shù)、隨機(jī)小數(shù)、0--1之間小數(shù)方法
列出python中可變數(shù)據(jù)類型和不可變數(shù)據(jù)類型,并簡(jiǎn)述原理
字典根據(jù)鍵從小到大排序
列表推導(dǎo)式求列表所有奇數(shù)并構(gòu)造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a=(1,)b=(1),c=("1") 分別是什么類型的數(shù)據(jù)?
兩個(gè)列表[1,5,7,9]和[2,2,6,8]合并為[1,2,2,3,6,7,8,9]
[[1,2],[3,4],[5,6]]一行代碼展開(kāi)該列表,得出[1,2,3,4,5,6]
x="abc",y="def",z=["d","e","f"],分別求出x.join(y)和x.join(z)返回的結(jié)果
a="hello"和b="你好"編碼成bytes類型
[1,2,3]+[4,5,6]的結(jié)果是多少?
求三個(gè)方法打印結(jié)果
計(jì)算代碼運(yùn)行結(jié)果,zip函數(shù)歷史文章已經(jīng)說(shuō)了,得出[("a",1),("b",2),("c",3),("d",4),("e",5)]
python中copy和deepcopy區(qū)別
舉例sort和sorted對(duì)列表排序,list=[0,-1,3,-10,5,9]
對(duì)list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函數(shù)從小到大排序
使用lambda函數(shù)對(duì)list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],輸出結(jié)果為
列表嵌套字典的排序,分別根據(jù)年齡和姓名排序
列表嵌套元組,分別按字母和數(shù)字排序
列表嵌套列表排序,年齡數(shù)字相同怎么辦?
根據(jù)鍵對(duì)字典排序(方法一,zip函數(shù))
根據(jù)鍵對(duì)字典排序(方法二,不用zip)
列表推導(dǎo)式、字典推導(dǎo)式、生成器
最后出一道檢驗(yàn)題目,根據(jù)字符串長(zhǎng)度排序,看排序是否靈活運(yùn)用
python字典和json字符串相互轉(zhuǎn)化方法
求兩個(gè)列表的交集、差集、并集
python中讀取Excel文件的方法
列表和元組之間的區(qū)別是?
Python中的字典是什么?
什么是負(fù)索引?
如何以就地操作方式打亂一個(gè)列表的元素?
解釋Python中的join()和split()函數(shù)
怎樣獲取字典中所有鍵的列表?
元組的解封裝是什么?
Python支持什么數(shù)據(jù)類型?
docstring是什么?
什么是切片?
什么是namedtuple ?
在Python中怎樣將字符串轉(zhuǎn)換為整型變量?
Python中的不可變集合(frozenset)是什么?
什么是迭代器?
請(qǐng)按alist中元素的age由大到小排序
下面代碼的輸出結(jié)果將是什么?
寫一個(gè)列表生成式,產(chǎn)生一個(gè)公差為11的等差數(shù)列
給定兩個(gè)列表,怎么找出他們相同的元素和不同的元素?
請(qǐng)寫出一段python代碼實(shí)現(xiàn)刪除list里面的重復(fù)元素?
給定兩個(gè)list A,B ,請(qǐng)用找出A,B中相同與不同的元素
Python里面如何實(shí)現(xiàn)tuple和list的轉(zhuǎn)換?
請(qǐng)寫出一段Python代碼實(shí)現(xiàn)刪除一個(gè)list里面的重復(fù)元素
字符串、列表、元組、字典每個(gè)常用的5個(gè)方法(整型,浮點(diǎn),字符串,布爾型,列表、元組、字典、集合、日期)
Python里面如何實(shí)現(xiàn)tuple和list的轉(zhuǎn)換?
請(qǐng)寫出一段Python代碼實(shí)現(xiàn)刪除一個(gè)list里面的重復(fù)元素
如何在一個(gè)function里面設(shè)置一個(gè)全局的變量?
列表的扁平化和降維
如果將一個(gè)列表傳入函數(shù)中,在函數(shù)中修改后,全局的列表會(huì)被修改嗎?
什么是Python中的類型轉(zhuǎn)換?
Python數(shù)組和列表有什么區(qū)別?
[:: - 1}表示什么?
NumPy中有哪些操作Python列表的函數(shù)?
按字典中的value值進(jìn)行排序
字典和json的區(qū)別
可變、不可變類型
常用的字符串格式化
字符串駐留機(jī)制
刪除list中重復(fù)元素
列舉字符串、列表、元組、字典的5個(gè)常用方法
什么是反射,以及應(yīng)用場(chǎng)景
列表和迭代器的區(qū)別
enumerate的作用
描述數(shù)組、鏈表、隊(duì)列、堆棧的區(qū)別?
......
(五)企業(yè)面試題
分別從前端、后端、數(shù)據(jù)庫(kù)闡述web項(xiàng)目的性能優(yōu)化
我們都知道現(xiàn)在Python很火,但是對(duì)于一門技術(shù)我們不光要知道它的優(yōu)點(diǎn),也要知道它的缺點(diǎn),請(qǐng)談?wù)凱ython的不足之處。
如果你困在了死循環(huán)里,怎么打破它?
請(qǐng)談?wù)?pyc文件和.py文件的不同之處
請(qǐng)反轉(zhuǎn)字符串 "aStr"?
將字符串 "k:1 |k1:2|k2:3|k3:4",處理成字典 {k:1,k1:2,...}
利用切片操作,實(shí)現(xiàn)一個(gè)trim()函數(shù),去除字符串首尾的空格,注意不要調(diào)用str的strip()方法.
請(qǐng)?jiān)O(shè)計(jì)一個(gè)decorator,它可作用于任何函數(shù)上,并打印該函數(shù)的執(zhí)行時(shí)間
解釋一下python的and-or語(yǔ)法
你在爬蟲(chóng)過(guò)程中,都是怎么解決反爬的,爬取多少數(shù)據(jù),用了多長(zhǎng)時(shí)間?
爬取這些數(shù)據(jù)都用來(lái)做什么的?怎么交付給公司?客戶是誰(shuí)?爬取數(shù)據(jù)的影響因素?
有沒(méi)有一個(gè)工具可以幫助查找python的bug和進(jìn)行靜態(tài)的代碼分析?
說(shuō)一下 mysql 的原理?
數(shù)據(jù)庫(kù)索引
數(shù)據(jù)庫(kù)怎么優(yōu)化查詢效率?
簡(jiǎn)單談?wù)凙CID,并解釋每一個(gè)特性。
Python的主要功能是什么?
裝飾器的寫法以及應(yīng)用場(chǎng)景
異常處理寫法以及如何主動(dòng)跑出異常(應(yīng)用場(chǎng)景)
isinstance作用以及應(yīng)用場(chǎng)景?
json序列化時(shí),可以處理的數(shù)據(jù)類型有哪些?如何定制支持datetime類型?
線上服務(wù)可能因?yàn)榉N種原因?qū)е聮斓粼趺崔k?
如何提高python的運(yùn)行效率
線上服務(wù)可能因?yàn)榉N種原因?qū)е聮斓粼趺崔k?
如何提高python的運(yùn)行效率
字符串的操作題目
介紹Cython,Pypy Cpython Numba各有什么缺點(diǎn)
手寫一個(gè)判斷時(shí)間的裝飾器
生成器,迭代器的區(qū)別?
Python里面如何拷貝一個(gè)對(duì)象?(賦值,淺拷貝,深拷貝的區(qū)別)
如何判斷是函數(shù)還是方法?
為什么函數(shù)名字可以當(dāng)做參數(shù)用?
分別從前端、后端、數(shù)據(jù)庫(kù)闡述web項(xiàng)目的性能優(yōu)化
python新式類和經(jīng)典類的區(qū)別?
線上服務(wù)可能因?yàn)榉N種原因?qū)е聮斓粼趺崔k?
如何提高python的運(yùn)行效率
Python里面如何拷貝一個(gè)對(duì)象?(賦值,淺拷貝,深拷貝的區(qū)別)
如何判斷是函數(shù)還是方法?
二、Python 高級(jí)
(一) 元類
@property的用法
new和init的區(qū)別
如何實(shí)現(xiàn)一個(gè)單例
python查找對(duì)象屬性的順序
什么是init?
Python中的self是什么?
深拷貝和淺拷貝有什么區(qū)別?
什么是猴子補(bǔ)?。?/p>
字典推導(dǎo)式
super函數(shù)的具體用法和場(chǎng)景
Python中類方法、類實(shí)例方法、靜態(tài)方法有何區(qū)別?
遍歷一個(gè)object的所有屬性,并print每一個(gè)屬性名?
寫一個(gè)類,并讓它盡可能多的支持操作符?
請(qǐng)描述抽象類和接口類的區(qū)別和聯(lián)系
Python中如何動(dòng)態(tài)獲取和設(shè)置對(duì)象的屬性?
對(duì)設(shè)計(jì)模式的理解,簡(jiǎn)述你了解的設(shè)計(jì)模式?
單例模式的應(yīng)用場(chǎng)景有那些?
對(duì)裝飾器的理解,并寫出一個(gè)計(jì)時(shí)器記錄方法執(zhí)行性能的裝飾器?
Python的魔法方法
什么是Python monkey補(bǔ)???
閱讀下面的代碼,它的輸出結(jié)果是什么?
寫一個(gè)單列模式
什么是猴子補(bǔ)丁?
描述元類的概念。Python有沒(méi)有接口?元類和Java的接口有什么異同?
(二)內(nèi)存管理與垃圾回收機(jī)制
Python是如何進(jìn)行內(nèi)存管理的?
對(duì)象的引用計(jì)數(shù)機(jī)制
垃圾回收
內(nèi)存池機(jī)制
當(dāng)Python退出時(shí),為什么不清除所有分配的內(nèi)存?
Python是如何進(jìn)行內(nèi)存管理的?
python垃圾回收機(jī)制
當(dāng)退出 Python 時(shí)是否釋放所有內(nèi)存分配?
如何獲取任何網(wǎng)址或網(wǎng)頁(yè)的Google緩存時(shí)限?
Python中變量的作用域?(變量查找順序)
哪些操作會(huì)導(dǎo)致Python內(nèi)存溢出,怎么處理?
關(guān)于Python內(nèi)存管理
Python的內(nèi)存管理機(jī)制及調(diào)優(yōu)手段?【內(nèi)存管理與垃圾回收機(jī)制】
內(nèi)存泄露是什么?如何避免?
在Python中是如何管理內(nèi)存的?
當(dāng)退出Python時(shí),是否釋放全部?jī)?nèi)存?
Python2 中 range 和 xrange 的區(qū)別?
淺拷貝會(huì)創(chuàng)建新對(duì)象,其內(nèi)容非原對(duì)象本身的引用,而是原對(duì)象內(nèi)第一層對(duì)象的引用。
python中交換兩個(gè)數(shù)值
提高python運(yùn)行效率的方法
簡(jiǎn)述python引用計(jì)數(shù)機(jī)制
引用計(jì)數(shù)算法
python垃圾回收機(jī)制
Python是如何進(jìn)行內(nèi)存管理的
Python里面如何拷貝一個(gè)對(duì)象?(賦值,淺拷貝,深拷貝的區(qū)別)
(三)函數(shù)
簡(jiǎn)述 yield和yield from關(guān)鍵字
大數(shù)據(jù)的文件讀取
裝飾器的作用和功能
裝飾器的作用和功能
如何在Python中隨機(jī)化列表中的元素?
什么是pickling和unpickling?
python中的生成器是什么?
你如何把字符串的第一個(gè)字母大寫?
如何將字符串轉(zhuǎn)換為全小寫?
operators中的is、not和in各有什么功能?
Python中help()和dir()函數(shù)的用法是什么?
為什么使用* args,** kwargs?
len()函數(shù)有什么作用?
在Python中split(),sub(),subn()功能。
Python中的函數(shù)是什么?
什么是lambda函數(shù)?
如何刪除python數(shù)組的值?
lambda表達(dá)式格式以及應(yīng)用場(chǎng)景
pass的作用
arg和*kwarg作用
Python中的yield用法
列舉常見(jiàn)的內(nèi)置函數(shù)
python遞歸的最大層數(shù)
什么是lambda函數(shù)?它有什么好處?
編程用sort進(jìn)行排序,然后從最后一個(gè)元素開(kāi)始判斷
什么是lambda函數(shù)?它有什么好處?
fun(args,kwargs)中的args,kwargs什么意思?
python2和python3的range(100)的區(qū)別
一句話解釋什么樣的語(yǔ)言能夠用裝飾器?
請(qǐng)寫出一段Python代碼實(shí)現(xiàn)刪除一個(gè)list里面的重復(fù)元素
lambda匿名函數(shù)表達(dá)式及應(yīng)用場(chǎng)景
python的遞歸最大層數(shù)
常見(jiàn)的內(nèi)置函數(shù)
filter,map,reduce的作用
什么是閉包
裝飾器
統(tǒng)計(jì)函數(shù)的執(zhí)行效率
Yield關(guān)鍵字和生成器
裝飾器的作用和功能
python 中 yield 的用法?
介紹一下Python下range()函數(shù)的用法?
裝飾器的作用和功能
Python中的yield用法
你知道幾種排序,講一講你最熟悉的一種?
什么是lambda函數(shù)?它有什么好處?
編程用sort進(jìn)行排序,然后從最后一個(gè)元素開(kāi)始判斷
介紹一下Python下range()函數(shù)的用法?
Python里面如何生成隨機(jī)數(shù)?
是否使用過(guò)functools中的函數(shù)?其作用是什么?
給定一個(gè)任意長(zhǎng)度數(shù)組,實(shí)現(xiàn)一個(gè)函數(shù)
閱讀一下代碼他們的輸出結(jié)果是什么?
請(qǐng)寫出一個(gè)函數(shù)滿足以下條件
什么是Hash(散列函數(shù))?
python函數(shù)重載機(jī)制?
編寫函數(shù)的4個(gè)原則
函數(shù)調(diào)用參數(shù)的傳遞方式是值傳遞還是引用傳遞?
使用Python內(nèi)置的filter()方法來(lái)過(guò)濾?
回調(diào)函數(shù),如何通信的?
map(lambda x:xx,[y for y in range(3)])的輸出?
hasattr() getattr() setattr() 函數(shù)使用詳解?
一句話解決階乘函數(shù)?
什么是lambda函數(shù)? 有什么好處?
遞歸函數(shù)停止的條件?
python寫一個(gè)匿名函數(shù)求兩個(gè)數(shù)的和
解釋以下什么是閉包?
函數(shù)裝飾器有什么作用?
hon下range()函數(shù)的用法?
怎么移除一個(gè)字符串中的前導(dǎo)空格?
怎樣將字符串轉(zhuǎn)換為小寫?
在Python中怎樣獲取輸入?
怎樣將字符串中第一個(gè)字母大寫?
如何檢查字符串中所有的字符都為字母數(shù)字?
什么是函數(shù)?
解釋拉姆達(dá)表達(dá)式,什么時(shí)候會(huì)用到它?
什么是遞歸?
什么是生成器?
請(qǐng)說(shuō)說(shuō)生成器和迭代器之間的區(qū)別
函數(shù)zip()的是干嘛的?
解釋Python的參數(shù)傳遞機(jī)制
解釋Python中的help()和dir()函數(shù)
如何計(jì)算一個(gè)字符串的長(zhǎng)度?
簡(jiǎn)述 yield和yield from關(guān)鍵字。
列表[1,2,3,4,5],請(qǐng)使用map()函數(shù)輸出[1,4,9,16,25],并使用列表推導(dǎo)式提取出大于10的數(shù),最終輸出[16,25]
python中生成隨機(jī)整數(shù)、隨機(jī)小數(shù)、0--1之間小數(shù)方法
python中斷言方法舉例
s = "ajldjlajfdljfddd",去重并從小到大排序輸出"adfjl"
用lambda函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)相乘
filter方法求出列表所有奇數(shù)并構(gòu)造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
log日志中,我們需要用時(shí)間戳記錄error,warning等的發(fā)生時(shí)間,請(qǐng)用datetime模塊打印當(dāng)前時(shí)間戳 “2018-04-01 11:38:54”
舉例說(shuō)明zip()函數(shù)用法
求三個(gè)方法打印結(jié)果
簡(jiǎn)述any()和all()方法
a = " hehheh ",去除收尾空格
統(tǒng)計(jì)字符串中某字符出現(xiàn)次數(shù)
字符串轉(zhuǎn)化大小寫
用兩種方法去空格
lambda匿名函數(shù)好處
python傳參數(shù)是傳值還是傳址?
請(qǐng)將[i for i in range(3)]改成生成器
你知道幾種排序,講一講你最熟悉的一種?
Python中的yield用法
什么是lambda函數(shù)?它有什么好處?
編程用sort進(jìn)行排序,然后從最后一個(gè)元素開(kāi)始判斷
介紹一下Python下range()函數(shù)的用法?
Python里面如何生成隨機(jī)數(shù)?
是否使用過(guò)functools中的函數(shù)?其作用是什么?
簡(jiǎn)述 yield和yield from關(guān)鍵字。
lambda表達(dá)式格式以及應(yīng)用場(chǎng)景
什么是lambda函數(shù)?它有什么好處?
編程用sort進(jìn)行排序,然后從最后一個(gè)元素開(kāi)始判斷
(四) 面向?qū)ο?/strong>
多繼承寫法以及繼承順序問(wèn)題
析構(gòu)函數(shù)
繼承,在執(zhí)行析構(gòu)函數(shù)時(shí),先執(zhí)行父類的,還是先執(zhí)行子類的?
繼承時(shí),所有的方法都會(huì)被繼承嗎?
談一下單例模式。
淺copy和深copy的區(qū)別
Python中的self關(guān)鍵字
多態(tài)
面向?qū)ο笊疃葍?yōu)先和廣度優(yōu)先是什么?
面向?qū)ο笾衧uper的作用?
列舉面向?qū)ο笾袔щp下劃線的魔術(shù)方法?
面向?qū)ο笾械膒roperty屬性、類方法、靜態(tài)方法?
列舉面向?qū)ο笾械奶厥獬蓡T以及應(yīng)用場(chǎng)景
什么是反射?以及應(yīng)用場(chǎng)景?
用盡量多的方法實(shí)現(xiàn)單例模式。
Python有OOps概念嗎?
Python中的閉包是什么?
解釋一下Python中的繼承
談?wù)勀銓?duì)面向?qū)ο蟮睦斫猓?/p>
面向?qū)ο笾性趺磳?shí)現(xiàn)只讀屬性?
簡(jiǎn)述面向?qū)ο笾衝ew和init區(qū)別
如何在一個(gè)函數(shù)內(nèi)部修改全局變量
列出幾種魔法方法并簡(jiǎn)要介紹用途
用一個(gè)例子解釋Python中的繼承
解釋一下Python中的繼承
Python中的閉包是什么?
面向?qū)ο笊疃葍?yōu)先和廣度優(yōu)先是什么?
面向?qū)ο笾衧uper的作用?
面向?qū)ο笾械膒roperty屬性、類方法、靜態(tài)方法?
列舉面向?qū)ο笾械奶厥獬蓡T以及應(yīng)用場(chǎng)景
什么是反射?以及應(yīng)用場(chǎng)景?
用盡量多的方法實(shí)現(xiàn)單例模式
迭代器和生成器的區(qū)別
-
多重繼承
Python面試寶典
文中所展示的資料全部都是免費(fèi)分享,歡迎點(diǎn)贊+評(píng)論666。即可免費(fèi)獲取
職業(yè)發(fā)展
作為一個(gè)代碼打工仔,對(duì)于絕大部分程序員來(lái)說(shuō),想要成為牛逼的程序員的路還很長(zhǎng),一刻都不能懈怠。
我們無(wú)法從HR角度,或者技術(shù)leader的角度來(lái)臆測(cè)哪種狀態(tài)的面試更能獲取面試官青睞。但通過(guò)我們積攢的大量的面試經(jīng)驗(yàn),大家多少可以推斷一些成為有競(jìng)爭(zhēng)力的程序員的一些必要條件。
大佬云集、資料豐富
當(dāng)初我在字節(jié)認(rèn)識(shí)一個(gè)非常非常資深的前輩,他到字節(jié)比我早三年,但因?yàn)楦鞣N原因級(jí)別不是很高。我當(dāng)時(shí)問(wèn)他,既然你對(duì)現(xiàn)狀如此不滿,為什么不想著離開(kāi)尋找更好的機(jī)會(huì)呢?
他沉思了片刻跟我說(shuō),他說(shuō)我現(xiàn)在在這里雖然待著不順心,但是我接觸到的人都是非常優(yōu)秀的。我遇到問(wèn)題,還可以和你們討論討論。我如果出去了,我要是再遇到問(wèn)題,可能連一個(gè)討論的人都沒(méi)有。
我當(dāng)時(shí)聽(tīng)聽(tīng)只是覺(jué)得有道理,現(xiàn)在再回想起來(lái),感受非常深刻。三觀、格局、能力,能夠進(jìn)入大公司的,這三個(gè)方面一般都不會(huì)太差。別的不說(shuō),就拿個(gè)人能力而言,我曾出國(guó)出差過(guò)幾個(gè)月,有幸見(jiàn)識(shí)了許多各種海外名校的同事,和他們學(xué)習(xí)交流人工智能,這真的讓我AI有了更深層次的認(rèn)識(shí)。
除了優(yōu)秀的同事之外,大公司里往往還有豐富的內(nèi)部文檔和資料。我當(dāng)時(shí)在字節(jié)內(nèi)部看到了很多優(yōu)秀的文章,也有很多優(yōu)秀的技術(shù)沙龍和分享。現(xiàn)在想起來(lái)兩年下來(lái),也沒(méi)有去過(guò)幾次,文章和資料看得也不算多,現(xiàn)在想想頗為遺憾。別的不說(shuō),就拿推薦領(lǐng)域而言,近些年質(zhì)量不錯(cuò)的論文往往都來(lái)源于大公司尤其是國(guó)內(nèi)的大公司,以騰訊、華為和頭條為主。除了公開(kāi)的論文,公司內(nèi)部還有很多技術(shù)相關(guān)的資料和文檔,這些真的可以說(shuō)是有價(jià)無(wú)市,非常珍貴。
文中所展示的資料如你需要,我都可以分享給你
Python 知識(shí)手冊(cè)

Linux 知識(shí)手冊(cè)

爬蟲(chóng)查詢手冊(cè)

而且,這些資料不是掃描版的,里面的文字都可以直接復(fù)制,非常便于我們學(xué)習(xí):
數(shù)據(jù)分析知識(shí)手冊(cè):

機(jī)器學(xué)習(xí)知識(shí)手冊(cè):

金融量化知識(shí)手冊(cè):

崗位內(nèi)推、學(xué)習(xí)交流
我們大量需要前端崗位、python崗位、Java 崗位、Android 和 iOS 的開(kāi)發(fā)崗位,工作地點(diǎn):北京字節(jié),歡迎校招社招找我內(nèi)推
